@@ -82,7 +82,7 @@ func TestBuildJibGradleToDocker(t *testing.T) {
82
82
api := (& testutil.FakeAPIClient {}).Add ("img:tag" , "imageID" )
83
83
localDocker := fakeLocalDaemon (api )
84
84
85
- builder := NewArtifactBuilder (localDocker , & mockConfig {}, false , false )
85
+ builder := NewArtifactBuilder (localDocker , & mockConfig {}, false , false , nil )
86
86
result , err := builder .Build (context .Background (), ioutil .Discard , & latest.Artifact {
87
87
ArtifactType : latest.ArtifactType {
88
88
JibArtifact : test .artifact ,
@@ -153,7 +153,7 @@ func TestBuildJibGradleToRegistry(t *testing.T) {
153
153
})
154
154
localDocker := fakeLocalDaemon (& testutil.FakeAPIClient {})
155
155
156
- builder := NewArtifactBuilder (localDocker , & mockConfig {}, true , false )
156
+ builder := NewArtifactBuilder (localDocker , & mockConfig {}, true , false , nil )
157
157
result , err := builder .Build (context .Background (), ioutil .Discard , & latest.Artifact {
158
158
ArtifactType : latest.ArtifactType {
159
159
JibArtifact : test .artifact ,
@@ -341,23 +341,59 @@ func TestGenerateGradleBuildArgs(t *testing.T) {
341
341
tests := []struct {
342
342
description string
343
343
in latest.JibArtifact
344
+ deps []* latest.ArtifactDependency
344
345
image string
345
346
skipTests bool
347
+ pushImages bool
348
+ r ArtifactResolver
346
349
insecureRegistries map [string ]bool
347
350
out []string
348
351
}{
349
- {"single module" , latest.JibArtifact {}, "image" , false , nil , []string {"fake-gradleBuildArgs-for-testTask" , "--image=image" }},
350
- {"single module without tests" , latest.JibArtifact {}, "image" , true , nil , []string {"fake-gradleBuildArgs-for-testTask-skipTests" , "--image=image" }},
351
- {"multi module" , latest.JibArtifact {Project : "project" }, "image" , false , nil , []string {"fake-gradleBuildArgs-for-project-for-testTask" , "--image=image" }},
352
- {"multi module without tests" , latest.JibArtifact {Project : "project" }, "image" , true , nil , []string {"fake-gradleBuildArgs-for-project-for-testTask-skipTests" , "--image=image" }},
353
- {"multi module without tests with insecure registries" , latest.JibArtifact {Project : "project" }, "registry.tld/image" , true , map [string ]bool {"registry.tld" : true }, []string {"fake-gradleBuildArgs-for-project-for-testTask-skipTests" , "-Djib.allowInsecureRegistries=true" , "--image=registry.tld/image" }},
354
- {"single module with custom base image" , latest.JibArtifact {BaseImage : "docker://busybox" }, "image" , false , nil , []string {"fake-gradleBuildArgs-for-testTask" , "-Djib.from.image=docker://busybox" , "--image=image" }},
355
- {"multi module with custom base image" , latest.JibArtifact {Project : "project" , BaseImage : "docker://busybox" }, "image" , false , nil , []string {"fake-gradleBuildArgs-for-project-for-testTask" , "-Djib.from.image=docker://busybox" , "--image=image" }},
352
+ {description : "single module" , image : "image" , out : []string {"fake-gradleBuildArgs-for-testTask" , "--image=image" }},
353
+ {description : "single module without tests" , image : "image" , skipTests : true , out : []string {"fake-gradleBuildArgs-for-testTask-skipTests" , "--image=image" }},
354
+ {description : "multi module" , in : latest.JibArtifact {Project : "project" }, image : "image" , out : []string {"fake-gradleBuildArgs-for-project-for-testTask" , "--image=image" }},
355
+ {description : "multi module without tests" , in : latest.JibArtifact {Project : "project" }, image : "image" , skipTests : true , out : []string {"fake-gradleBuildArgs-for-project-for-testTask-skipTests" , "--image=image" }},
356
+ {description : "multi module without tests with insecure registries" , in : latest.JibArtifact {Project : "project" }, image : "registry.tld/image" , skipTests : true , insecureRegistries : map [string ]bool {"registry.tld" : true }, out : []string {"fake-gradleBuildArgs-for-project-for-testTask-skipTests" , "-Djib.allowInsecureRegistries=true" , "--image=registry.tld/image" }},
357
+ {description : "single module with custom base image" , in : latest.JibArtifact {BaseImage : "docker://busybox" }, image : "image" , out : []string {"fake-gradleBuildArgs-for-testTask" , "-Djib.from.image=docker://busybox" , "--image=image" }},
358
+ {description : "multi module with custom base image" , in : latest.JibArtifact {Project : "project" , BaseImage : "docker://busybox" }, image : "image" , out : []string {"fake-gradleBuildArgs-for-project-for-testTask" , "-Djib.from.image=docker://busybox" , "--image=image" }},
359
+ {
360
+ description : "single module with local base image from required artifacts" ,
361
+ in : latest.JibArtifact {BaseImage : "alias" },
362
+ image : "image" ,
363
+ deps : []* latest.ArtifactDependency {{ImageName : "img" , Alias : "alias" }},
364
+ r : mockArtifactResolver {m : map [string ]string {"img" : "img:tag" }},
365
+ out : []string {"fake-gradleBuildArgs-for-testTask" , "-Djib.from.image=docker://img:tag" , "--image=image" },
366
+ },
367
+ {
368
+ description : "multi module with local base image from required artifacts" ,
369
+ in : latest.JibArtifact {Project : "project" , BaseImage : "alias" },
370
+ image : "image" ,
371
+ deps : []* latest.ArtifactDependency {{ImageName : "img" , Alias : "alias" }},
372
+ r : mockArtifactResolver {m : map [string ]string {"img" : "img:tag" }},
373
+ out : []string {"fake-gradleBuildArgs-for-project-for-testTask" , "-Djib.from.image=docker://img:tag" , "--image=image" },
374
+ }, {
375
+ description : "single module with remote base image from required artifacts" ,
376
+ in : latest.JibArtifact {BaseImage : "alias" },
377
+ image : "image" ,
378
+ pushImages : true ,
379
+ deps : []* latest.ArtifactDependency {{ImageName : "img" , Alias : "alias" }},
380
+ r : mockArtifactResolver {m : map [string ]string {"img" : "img:tag" }},
381
+ out : []string {"fake-gradleBuildArgs-for-testTask" , "-Djib.from.image=img:tag" , "--image=image" },
382
+ },
383
+ {
384
+ description : "multi module with remote base image from required artifacts" ,
385
+ in : latest.JibArtifact {Project : "project" , BaseImage : "alias" },
386
+ image : "image" ,
387
+ pushImages : true ,
388
+ deps : []* latest.ArtifactDependency {{ImageName : "img" , Alias : "alias" }},
389
+ r : mockArtifactResolver {m : map [string ]string {"img" : "img:tag" }},
390
+ out : []string {"fake-gradleBuildArgs-for-project-for-testTask" , "-Djib.from.image=img:tag" , "--image=image" },
391
+ },
356
392
}
357
393
for _ , test := range tests {
358
394
testutil .Run (t , test .description , func (t * testutil.T ) {
359
395
t .Override (& gradleBuildArgsFunc , getGradleBuildArgsFuncFake (t , MinimumJibGradleVersion ))
360
- command := GenerateGradleBuildArgs ("testTask" , test .image , & test .in , test .skipTests , test .insecureRegistries )
396
+ command := GenerateGradleBuildArgs ("testTask" , test .image , & test .in , test .skipTests , test .pushImages , test . deps , test . r , test . insecureRegistries )
361
397
t .CheckDeepEqual (test .out , command )
362
398
})
363
399
}
@@ -485,3 +521,12 @@ type mockConfig struct {
485
521
}
486
522
487
523
func (c * mockConfig ) GetInsecureRegistries () map [string ]bool { return nil }
524
+
525
+ type mockArtifactResolver struct {
526
+ m map [string ]string
527
+ }
528
+
529
+ func (r mockArtifactResolver ) GetImageTag (imageName string ) (string , bool ) {
530
+ val , found := r .m [imageName ]
531
+ return val , found
532
+ }
0 commit comments