@@ -414,3 +414,84 @@ func buildIgnitionAssetDefaultDependencies() []asset.Asset {
414
414
& tls.AdminKubeConfigClientCertKey {},
415
415
}
416
416
}
417
+
418
+ func TestIgnition_getMirrorFromRelease (t * testing.T ) {
419
+
420
+ cases := []struct {
421
+ name string
422
+ release string
423
+ registriesConf mirror.RegistriesConf
424
+ expectedMirror string
425
+ }{
426
+ {
427
+ name : "no-mirror" ,
428
+ release : "registry.ci.openshift.org/ocp/release:latest" ,
429
+ registriesConf : mirror.RegistriesConf {},
430
+ expectedMirror : "" ,
431
+ },
432
+ {
433
+ name : "mirror-no-match" ,
434
+ release : "registry.ci.openshift.org/ocp/release:4.11.0-0.nightly-foo" ,
435
+ registriesConf : mirror.RegistriesConf {
436
+ File : & asset.File {
437
+ Filename : "registries.conf" ,
438
+ Data : []byte ("" ),
439
+ },
440
+ MirrorConfig : []mirror.RegistriesConfig {
441
+ {
442
+ Location : "some.registry.org/release" ,
443
+ Mirror : "some.mirror.org" ,
444
+ },
445
+ },
446
+ },
447
+ expectedMirror : "" ,
448
+ },
449
+ {
450
+ name : "mirror-match" ,
451
+ release : "registry.ci.openshift.org/ocp/release:4.11.0-0.nightly-foo" ,
452
+ registriesConf : mirror.RegistriesConf {
453
+ File : & asset.File {
454
+ Filename : "registries.conf" ,
455
+ Data : []byte ("" ),
456
+ },
457
+ MirrorConfig : []mirror.RegistriesConfig {
458
+ {
459
+ Location : "registry.ci.openshift.org/ocp/release" ,
460
+ Mirror : "virthost.ostest.test.metalkube.org:5000/localimages/local-release-image" ,
461
+ },
462
+ },
463
+ },
464
+ expectedMirror : "virthost.ostest.test.metalkube.org:5000/localimages/local-release-image:4.11.0-0.nightly-foo" ,
465
+ },
466
+ {
467
+ name : "mirror-match-with-checksum" ,
468
+ release : "quay.io/openshift-release-dev/ocp-release@sha256:300bce8246cf880e792e106607925de0a404484637627edf5f517375517d54a4" ,
469
+ registriesConf : mirror.RegistriesConf {
470
+ File : & asset.File {
471
+ Filename : "registries.conf" ,
472
+ Data : []byte ("" ),
473
+ },
474
+ MirrorConfig : []mirror.RegistriesConfig {
475
+ {
476
+ Location : "quay.io/openshift-release-dev/ocp-v4.0-art-dev" ,
477
+ Mirror : "localhost:5000/openshift4/openshift/release" ,
478
+ },
479
+ {
480
+ Location : "quay.io/openshift-release-dev/ocp-release" ,
481
+ Mirror : "localhost:5000/openshift-release-dev/ocp-release" ,
482
+ },
483
+ },
484
+ },
485
+ expectedMirror : "localhost:5000/openshift-release-dev/ocp-release@sha256:300bce8246cf880e792e106607925de0a404484637627edf5f517375517d54a4" ,
486
+ },
487
+ }
488
+ for _ , tc := range cases {
489
+ t .Run (tc .name , func (t * testing.T ) {
490
+
491
+ mirror := getMirrorFromRelease (tc .release , & tc .registriesConf )
492
+
493
+ assert .Equal (t , tc .expectedMirror , mirror )
494
+
495
+ })
496
+ }
497
+ }
0 commit comments