55 "encoding/json"
66 "testing"
77
8+ "github.com/go-logr/logr"
89 metal3api "github.com/metal3-io/baremetal-operator/apis/metal3.io/v1alpha1"
910 corev1 "k8s.io/api/core/v1"
1011 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -21,7 +22,8 @@ func TestValidate_NoAuthSecret(t *testing.T) {
2122
2223 c := fake .NewClientBuilder ().WithScheme (scheme ).Build ()
2324 recorder := record .NewFakeRecorder (10 )
24- validator := NewValidator (c , recorder )
25+ secretManager := NewSecretManager (t .Context (), testLogger (t ), c , c )
26+ validator := NewValidator (recorder )
2527
2628 bmh := & metal3api.BareMetalHost {
2729 ObjectMeta : metav1.ObjectMeta {
@@ -36,7 +38,7 @@ func TestValidate_NoAuthSecret(t *testing.T) {
3638 },
3739 }
3840
39- result , err := validator .Validate (t .Context (), bmh )
41+ result , err := validator .Validate (t .Context (), bmh , secretManager )
4042 if err != nil {
4143 t .Fatalf ("unexpected error: %v" , err )
4244 }
@@ -56,7 +58,8 @@ func TestValidate_SecretNotFound(t *testing.T) {
5658
5759 c := fake .NewClientBuilder ().WithScheme (scheme ).Build ()
5860 recorder := record .NewFakeRecorder (10 )
59- validator := NewValidator (c , recorder )
61+ secretManager := NewSecretManager (t .Context (), testLogger (t ), c , c )
62+ validator := NewValidator (recorder )
6063
6164 secretName := "my-secret"
6265 bmh := & metal3api.BareMetalHost {
@@ -72,7 +75,7 @@ func TestValidate_SecretNotFound(t *testing.T) {
7275 },
7376 }
7477
75- result , err := validator .Validate (t .Context (), bmh )
78+ result , err := validator .Validate (t .Context (), bmh , secretManager )
7679 if err != nil {
7780 t .Fatalf ("unexpected error: %v" , err )
7881 }
@@ -105,7 +108,8 @@ func TestValidate_WrongSecretType(t *testing.T) {
105108
106109 c := fake .NewClientBuilder ().WithScheme (scheme ).WithObjects (secret ).Build ()
107110 recorder := record .NewFakeRecorder (10 )
108- validator := NewValidator (c , recorder )
111+ secretManager := NewSecretManager (t .Context (), testLogger (t ), c , c )
112+ validator := NewValidator (recorder )
109113
110114 bmh := & metal3api.BareMetalHost {
111115 ObjectMeta : metav1.ObjectMeta {
@@ -120,7 +124,7 @@ func TestValidate_WrongSecretType(t *testing.T) {
120124 },
121125 }
122126
123- result , err := validator .Validate (t .Context (), bmh )
127+ result , err := validator .Validate (t .Context (), bmh , secretManager )
124128 if err != nil {
125129 t .Fatalf ("unexpected error: %v" , err )
126130 }
@@ -177,7 +181,8 @@ func TestValidate_ValidDockerConfigJSON(t *testing.T) {
177181
178182 c := fake .NewClientBuilder ().WithScheme (scheme ).WithObjects (secret ).Build ()
179183 recorder := record .NewFakeRecorder (10 )
180- validator := NewValidator (c , recorder )
184+ secretManager := NewSecretManager (t .Context (), testLogger (t ), c , c )
185+ validator := NewValidator (recorder )
181186
182187 bmh := & metal3api.BareMetalHost {
183188 ObjectMeta : metav1.ObjectMeta {
@@ -192,7 +197,7 @@ func TestValidate_ValidDockerConfigJSON(t *testing.T) {
192197 },
193198 }
194199
195- result , err := validator .Validate (t .Context (), bmh )
200+ result , err := validator .Validate (t .Context (), bmh , secretManager )
196201 if err != nil {
197202 t .Fatalf ("unexpected error: %v" , err )
198203 }
@@ -257,7 +262,8 @@ func TestValidate_RegistryNotInSecret(t *testing.T) {
257262
258263 c := fake .NewClientBuilder ().WithScheme (scheme ).WithObjects (secret ).Build ()
259264 recorder := record .NewFakeRecorder (10 )
260- validator := NewValidator (c , recorder )
265+ secretManager := NewSecretManager (t .Context (), testLogger (t ), c , c )
266+ validator := NewValidator (recorder )
261267
262268 bmh := & metal3api.BareMetalHost {
263269 ObjectMeta : metav1.ObjectMeta {
@@ -272,7 +278,7 @@ func TestValidate_RegistryNotInSecret(t *testing.T) {
272278 },
273279 }
274280
275- result , err := validator .Validate (t .Context (), bmh )
281+ result , err := validator .Validate (t .Context (), bmh , secretManager )
276282 if err != nil {
277283 t .Fatalf ("unexpected error: %v" , err )
278284 }
@@ -337,7 +343,8 @@ func TestValidate_NonOCIImageWithSecret(t *testing.T) {
337343
338344 c := fake .NewClientBuilder ().WithScheme (scheme ).WithObjects (secret ).Build ()
339345 recorder := record .NewFakeRecorder (10 )
340- validator := NewValidator (c , recorder )
346+ secretManager := NewSecretManager (t .Context (), testLogger (t ), c , c )
347+ validator := NewValidator (recorder )
341348
342349 bmh := & metal3api.BareMetalHost {
343350 ObjectMeta : metav1.ObjectMeta {
@@ -352,7 +359,7 @@ func TestValidate_NonOCIImageWithSecret(t *testing.T) {
352359 },
353360 }
354361
355- result , err := validator .Validate (t .Context (), bmh )
362+ result , err := validator .Validate (t .Context (), bmh , secretManager )
356363 if err != nil {
357364 t .Fatalf ("unexpected error: %v" , err )
358365 }
@@ -382,7 +389,8 @@ func TestValidate_NilImage(t *testing.T) {
382389
383390 c := fake .NewClientBuilder ().WithScheme (scheme ).Build ()
384391 recorder := record .NewFakeRecorder (10 )
385- validator := NewValidator (c , recorder )
392+ secretManager := NewSecretManager (t .Context (), testLogger (t ), c , c )
393+ validator := NewValidator (recorder )
386394
387395 bmh := & metal3api.BareMetalHost {
388396 ObjectMeta : metav1.ObjectMeta {
@@ -394,7 +402,7 @@ func TestValidate_NilImage(t *testing.T) {
394402 },
395403 }
396404
397- result , err := validator .Validate (t .Context (), bmh )
405+ result , err := validator .Validate (t .Context (), bmh , secretManager )
398406 if err != nil {
399407 t .Fatalf ("unexpected error: %v" , err )
400408 }
@@ -512,9 +520,10 @@ func TestIntegration_ValidateAndExtractCredentials(t *testing.T) {
512520 )
513521
514522 recorder := record .NewFakeRecorder (10 )
515- validator := NewValidator (c , recorder )
523+ secretManager := NewSecretManager (t .Context (), testLogger (t ), c , c )
524+ validator := NewValidator (recorder )
516525
517- result , err := validator .Validate (t .Context (), bmh )
526+ result , err := validator .Validate (t .Context (), bmh , secretManager )
518527 if err != nil {
519528 t .Fatalf ("unexpected error: %v" , err )
520529 }
@@ -537,3 +546,9 @@ func TestIntegration_ValidateAndExtractCredentials(t *testing.T) {
537546 t .Errorf ("expected decoded credentials to be 'myuser:mypassword', got '%s'" , string (decoded ))
538547 }
539548}
549+
550+ // Helper function to create a test logger.
551+ func testLogger (t * testing.T ) logr.Logger {
552+ t .Helper ()
553+ return logr .Discard ()
554+ }
0 commit comments