@@ -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,52 @@ 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
+ _ , err := reader .AddProvider ("cluster-api" , clusterctlv1 .CoreProviderType , "https://github.com/kubernetes-sigs/cluster-api/releases/v1.4.3/core-components.yaml" )
82
+ g .Expect (err ).ToNot (HaveOccurred ())
83
+
84
+ overridesClient , err := configclient .New (ctx , "" , configclient .InjectReader (reader ))
85
+ g .Expect (err ).ToNot (HaveOccurred ())
86
+
87
+ overridesClient .Variables ().Set ("images" , `
88
+ all:
89
+ repository: "myorg.io/local-repo"
90
+ ` )
91
+
92
+ p := & phaseReconciler {
93
+ ctrlClient : fakeclient ,
94
+ provider : & operatorv1.CoreProvider {
95
+ ObjectMeta : metav1.ObjectMeta {
96
+ Name : "cluster-api" ,
97
+ Namespace : namespace ,
98
+ },
99
+ Spec : operatorv1.CoreProviderSpec {},
100
+ },
101
+ overridesClient : overridesClient ,
102
+ }
103
+
104
+ _ , err = p .initializePhaseReconciler (ctx )
105
+ g .Expect (err ).ToNot (HaveOccurred ())
106
+
107
+ _ , err = p .downloadManifests (ctx )
108
+ g .Expect (err ).ToNot (HaveOccurred ())
109
+
110
+ _ , err = p .load (ctx )
111
+ g .Expect (err ).ToNot (HaveOccurred ())
112
+
113
+ _ , err = p .fetch (ctx )
114
+ g .Expect (err ).ToNot (HaveOccurred ())
115
+
116
+ g .Expect (p .components .Images ()).To (HaveExactElements ([]string {"myorg.io/local-repo/cluster-api-controller:v1.4.3" }))
117
+ g .Expect (p .components .Version ()).To (Equal ("v1.4.3" ))
118
+ }
0 commit comments