@@ -22,6 +22,8 @@ import (
22
22
23
23
. "github.com/onsi/gomega"
24
24
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
25
+ clusterctlv1 "sigs.k8s.io/cluster-api/cmd/clusterctl/api/v1alpha3"
26
+ configclient "sigs.k8s.io/cluster-api/cmd/clusterctl/client/config"
25
27
"sigs.k8s.io/controller-runtime/pkg/client/fake"
26
28
27
29
operatorv1 "sigs.k8s.io/cluster-api-operator/api/v1alpha2"
@@ -34,14 +36,12 @@ func TestManifestsDownloader(t *testing.T) {
34
36
35
37
fakeclient := fake .NewClientBuilder ().WithObjects ().Build ()
36
38
37
- namespace := "test-namespace"
38
-
39
39
p := & phaseReconciler {
40
40
ctrlClient : fakeclient ,
41
41
provider : & operatorv1.CoreProvider {
42
42
ObjectMeta : metav1.ObjectMeta {
43
43
Name : "cluster-api" ,
44
- Namespace : namespace ,
44
+ Namespace : "test- namespace" ,
45
45
},
46
46
Spec : operatorv1.CoreProviderSpec {
47
47
ProviderSpec : operatorv1.ProviderSpec {
@@ -67,3 +67,53 @@ func TestManifestsDownloader(t *testing.T) {
67
67
68
68
g .Expect (exists ).To (BeTrue ())
69
69
}
70
+
71
+ func TestProviderDownloadWithOverrides (t * testing.T ) {
72
+ g := NewWithT (t )
73
+
74
+ ctx := context .Background ()
75
+
76
+ fakeclient := fake .NewClientBuilder ().WithObjects ().Build ()
77
+
78
+ namespace := "test-namespace"
79
+
80
+ reader := configclient .NewMemoryReader ()
81
+ g .Expect (
82
+ reader .AddProvider ("cluster-api" , clusterctlv1 .CoreProviderType , "https://github.com/kubernetes-sigs/cluster-api/releases/v1.4.3/core-components.yaml" )
83
+ ).ToNot (HaveOccurred ())
84
+
85
+ overridesClient , err := configclient .New (ctx , "" , configclient .InjectReader (reader ))
86
+ g .Expect (err ).ToNot (HaveOccurred ())
87
+
88
+ overridesClient .Variables ().Set ("images" , `
89
+ all:
90
+ repository: "myorg.io/local-repo"
91
+ ` )
92
+
93
+ p := & phaseReconciler {
94
+ ctrlClient : fakeclient ,
95
+ provider : & operatorv1.CoreProvider {
96
+ ObjectMeta : metav1.ObjectMeta {
97
+ Name : "cluster-api" ,
98
+ Namespace : namespace ,
99
+ },
100
+ Spec : operatorv1.CoreProviderSpec {},
101
+ },
102
+ overridesClient : overridesClient ,
103
+ }
104
+
105
+ _ , err = p .initializePhaseReconciler (ctx )
106
+ g .Expect (err ).ToNot (HaveOccurred ())
107
+
108
+ _ , err = p .downloadManifests (ctx )
109
+ g .Expect (err ).ToNot (HaveOccurred ())
110
+
111
+ _ , err = p .load (ctx )
112
+ g .Expect (err ).ToNot (HaveOccurred ())
113
+
114
+ _ , err = p .fetch (ctx )
115
+ g .Expect (err ).ToNot (HaveOccurred ())
116
+
117
+ g .Expect (p .components .Images ()).To (HaveExactElements ([]string {"myorg.io/local-repo/cluster-api-controller:v1.4.3" }))
118
+ g .Expect (p .components .Version ()).To (Equal ("v1.4.3" ))
119
+ }
0 commit comments