@@ -22,6 +22,8 @@ import (
22
22
23
23
. "github.com/onsi/gomega"
24
24
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
25
+ "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"
@@ -67,3 +69,51 @@ func TestManifestsDownloader(t *testing.T) {
67
69
68
70
g .Expect (exists ).To (BeTrue ())
69
71
}
72
+
73
+ func TestProviderDownloadWithOverrides (t * testing.T ) {
74
+ g := NewWithT (t )
75
+
76
+ ctx := context .Background ()
77
+
78
+ fakeclient := fake .NewClientBuilder ().WithObjects ().Build ()
79
+
80
+ namespace := "test-namespace"
81
+
82
+ reader := configclient .NewMemoryReader ()
83
+ reader .AddProvider ("cluster-api" , v1alpha3 .CoreProviderType , "https://github.com/kubernetes-sigs/cluster-api/releases/v1.4.3/core-components.yaml" )
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