@@ -23,25 +23,27 @@ func TestSlugBuilderPodName(t *testing.T) {
2323}
2424
2525type slugBuildCase struct {
26- debug bool
27- withAuth bool
28- name string
29- namespace string
30- env map [string ]interface {}
31- tarURL string
32- putURL string
33- buildPack string
26+ debug bool
27+ withAuth bool
28+ name string
29+ namespace string
30+ env map [string ]interface {}
31+ tarURL string
32+ putURL string
33+ buildPack string
34+ slugBuilderImage string
3435}
3536
3637type dockerBuildCase struct {
37- debug bool
38- withAuth bool
39- name string
40- namespace string
41- env map [string ]interface {}
42- tarURL string
43- imgName string
44- region string
38+ debug bool
39+ withAuth bool
40+ name string
41+ namespace string
42+ env map [string ]interface {}
43+ tarURL string
44+ imgName string
45+ region string
46+ dockerBuilderImage string
4547}
4648
4749func TestBuildPod (t * testing.T ) {
@@ -53,18 +55,18 @@ func TestBuildPod(t *testing.T) {
5355 var pod * api.Pod
5456
5557 slugBuilds := []slugBuildCase {
56- {true , true , "test" , "default" , emptyEnv , "tar" , "put-url" , "" },
57- {true , false , "test" , "default" , emptyEnv , "tar" , "put-url" , "" },
58- {true , true , "test" , "default" , env , "tar" , "put-url" , "" },
59- {true , false , "test" , "default" , env , "tar" , "put-url" , "" },
60- {true , true , "test" , "default" , emptyEnv , "tar" , "put-url" , "buildpack" },
61- {true , false , "test" , "default" , emptyEnv , "tar" , "put-url" , "buildpack" },
62- {true , true , "test" , "default" , env , "tar" , "put-url" , "buildpack" },
63- {true , false , "test" , "default" , env , "tar" , "put-url" , "buildpack" },
58+ {true , true , "test" , "default" , emptyEnv , "tar" , "put-url" , "" , "" },
59+ {true , false , "test" , "default" , emptyEnv , "tar" , "put-url" , "" , "" },
60+ {true , true , "test" , "default" , env , "tar" , "put-url" , "" , "" },
61+ {true , false , "test" , "default" , env , "tar" , "put-url" , "" , "" },
62+ {true , true , "test" , "default" , emptyEnv , "tar" , "put-url" , "buildpack" , "" },
63+ {true , false , "test" , "default" , emptyEnv , "tar" , "put-url" , "buildpack" , "" },
64+ {true , true , "test" , "default" , env , "tar" , "put-url" , "buildpack" , "" },
65+ {true , false , "test" , "default" , env , "tar" , "put-url" , "buildpack" , "customimage" },
6466 }
6567
6668 for _ , build := range slugBuilds {
67- pod = slugbuilderPod (build .debug , build .withAuth , build .name , build .namespace , build .env , build .tarURL , build .putURL , build .buildPack )
69+ pod = slugbuilderPod (build .debug , build .withAuth , build .name , build .namespace , build .env , build .tarURL , build .putURL , build .buildPack , build . slugBuilderImage )
6870
6971 if pod .ObjectMeta .Name != build .name {
7072 t .Errorf ("expected %v but returned %v " , build .name , pod .ObjectMeta .Name )
@@ -80,21 +82,27 @@ func TestBuildPod(t *testing.T) {
8082 if build .buildPack != "" {
8183 checkForEnv (t , pod , "BUILDPACK_URL" , build .buildPack )
8284 }
85+
86+ if build .slugBuilderImage != "" {
87+ if pod .Spec .Containers [0 ].Image != build .slugBuilderImage {
88+ t .Errorf ("expected %v but returned %v " , build .slugBuilderImage , pod .Spec .Containers [0 ].Image )
89+ }
90+ }
8391 }
8492
8593 dockerBuilds := []dockerBuildCase {
86- {true , true , "test" , "default" , emptyEnv , "tar" , "" , "us-east-1" },
87- {true , false , "test" , "default" , emptyEnv , "tar" , "" , "us-east-1" },
88- {true , true , "test" , "default" , env , "tar" , "" , "us-east-1" },
89- {true , false , "test" , "default" , env , "tar" , "" , "us-east-1" },
90- {true , true , "test" , "default" , emptyEnv , "tar" , "img" , "us-east-1" },
91- {true , false , "test" , "default" , emptyEnv , "tar" , "img" , "us-east-1" },
92- {true , true , "test" , "default" , env , "tar" , "img" , "us-east-1" },
93- {true , false , "test" , "default" , env , "tar" , "img" , "us-east-1" },
94+ {true , true , "test" , "default" , emptyEnv , "tar" , "" , "us-east-1" , "" },
95+ {true , false , "test" , "default" , emptyEnv , "tar" , "" , "us-east-1" , "" },
96+ {true , true , "test" , "default" , env , "tar" , "" , "us-east-1" , "" },
97+ {true , false , "test" , "default" , env , "tar" , "" , "us-east-1" , "" },
98+ {true , true , "test" , "default" , emptyEnv , "tar" , "img" , "us-east-1" , "" },
99+ {true , false , "test" , "default" , emptyEnv , "tar" , "img" , "us-east-1" , "" },
100+ {true , true , "test" , "default" , env , "tar" , "img" , "us-east-1" , "" },
101+ {true , false , "test" , "default" , env , "tar" , "img" , "us-east-1" , "customimage" },
94102 }
95103
96104 for _ , build := range dockerBuilds {
97- pod = dockerBuilderPod (build .debug , build .withAuth , build .name , build .namespace , build .env , build .tarURL , build .imgName , build .region )
105+ pod = dockerBuilderPod (build .debug , build .withAuth , build .name , build .namespace , build .env , build .tarURL , build .imgName , build .region , build . dockerBuilderImage )
98106
99107 if pod .ObjectMeta .Name != build .name {
100108 t .Errorf ("expected %v but returned %v " , build .name , pod .ObjectMeta .Name )
@@ -106,6 +114,11 @@ func TestBuildPod(t *testing.T) {
106114 checkForEnv (t , pod , "TAR_URL" , build .tarURL )
107115 checkForEnv (t , pod , "IMG_NAME" , build .imgName )
108116 }
117+ if build .dockerBuilderImage != "" {
118+ if pod .Spec .Containers [0 ].Image != build .dockerBuilderImage {
119+ t .Errorf ("expected %v but returned %v " , build .dockerBuilderImage , pod .Spec .Containers [0 ].Image )
120+ }
121+ }
109122 }
110123}
111124
0 commit comments