@@ -23,26 +23,28 @@ func TestSlugBuilderPodName(t *testing.T) {
2323}
2424
2525type slugBuildCase struct {
26- debug bool
27- name string
28- namespace string
29- env map [string ]interface {}
30- tarKey string
31- putKey string
32- buildPack string
33- slugBuilderImage string
34- storageType string
26+ debug bool
27+ name string
28+ namespace string
29+ env map [string ]interface {}
30+ tarKey string
31+ putKey string
32+ buildPack string
33+ slugBuilderImage string
34+ slugBuilderImagePullPolicy api.PullPolicy
35+ storageType string
3536}
3637
3738type dockerBuildCase struct {
38- debug bool
39- name string
40- namespace string
41- env map [string ]interface {}
42- tarKey string
43- imgName string
44- dockerBuilderImage string
45- storageType string
39+ debug bool
40+ name string
41+ namespace string
42+ env map [string ]interface {}
43+ tarKey string
44+ imgName string
45+ dockerBuilderImage string
46+ dockerBuilderImagePullPolicy api.PullPolicy
47+ storageType string
4648}
4749
4850func TestBuildPod (t * testing.T ) {
@@ -54,18 +56,31 @@ func TestBuildPod(t *testing.T) {
5456 var pod * api.Pod
5557
5658 slugBuilds := []slugBuildCase {
57- {true , "test" , "default" , emptyEnv , "tar" , "put-url" , "" , "" , "" },
58- {true , "test" , "default" , emptyEnv , "tar" , "put-url" , "" , "" , "" },
59- {true , "test" , "default" , env , "tar" , "put-url" , "" , "" , "" },
60- {true , "test" , "default" , env , "tar" , "put-url" , "" , "" , "" },
61- {true , "test" , "default" , emptyEnv , "tar" , "put-url" , "buildpack" , "" , "" },
62- {true , "test" , "default" , emptyEnv , "tar" , "put-url" , "buildpack" , "" , "" },
63- {true , "test" , "default" , env , "tar" , "put-url" , "buildpack" , "" , "" },
64- {true , "test" , "default" , env , "tar" , "put-url" , "buildpack" , "customimage" , "" },
59+ {true , "test" , "default" , emptyEnv , "tar" , "put-url" , "" , "" , api .PullAlways , "" },
60+ {true , "test" , "default" , emptyEnv , "tar" , "put-url" , "" , "" , api .PullAlways , "" },
61+ {true , "test" , "default" , env , "tar" , "put-url" , "" , "" , api .PullAlways , "" },
62+ {true , "test" , "default" , env , "tar" , "put-url" , "" , "" , api .PullAlways , "" },
63+ {true , "test" , "default" , emptyEnv , "tar" , "put-url" , "buildpack" , "" , api .PullAlways , "" },
64+ {true , "test" , "default" , emptyEnv , "tar" , "put-url" , "buildpack" , "" , api .PullAlways , "" },
65+ {true , "test" , "default" , env , "tar" , "put-url" , "buildpack" , "" , api .PullAlways , "" },
66+ {true , "test" , "default" , env , "tar" , "put-url" , "buildpack" , "customimage" , api .PullAlways , "" },
67+ {true , "test" , "default" , env , "tar" , "put-url" , "buildpack" , "customimage" , api .PullIfNotPresent , "" },
68+ {true , "test" , "default" , env , "tar" , "put-url" , "buildpack" , "customimage" , api .PullNever , "" },
6569 }
6670
6771 for _ , build := range slugBuilds {
68- pod = slugbuilderPod (build .debug , build .name , build .namespace , build .env , build .tarKey , build .putKey , build .buildPack , build .slugBuilderImage , build .storageType )
72+ pod = slugbuilderPod (
73+ build .debug ,
74+ build .name ,
75+ build .namespace ,
76+ build .env ,
77+ build .tarKey ,
78+ build .putKey ,
79+ build .buildPack ,
80+ build .storageType ,
81+ build .slugBuilderImage ,
82+ build .slugBuilderImagePullPolicy ,
83+ )
6984
7085 if pod .ObjectMeta .Name != build .name {
7186 t .Errorf ("expected %v but returned %v " , build .name , pod .ObjectMeta .Name )
@@ -87,21 +102,38 @@ func TestBuildPod(t *testing.T) {
87102 t .Errorf ("expected %v but returned %v " , build .slugBuilderImage , pod .Spec .Containers [0 ].Image )
88103 }
89104 }
105+ if build .slugBuilderImagePullPolicy != "" {
106+ if pod .Spec .Containers [0 ].ImagePullPolicy != build .slugBuilderImagePullPolicy {
107+ t .Errorf ("expected %v but returned %v" , build .slugBuilderImagePullPolicy , pod .Spec .Containers [0 ].ImagePullPolicy )
108+ }
109+ }
90110 }
91111
92112 dockerBuilds := []dockerBuildCase {
93- {true , "test" , "default" , emptyEnv , "tar" , "" , "" , "" },
94- {true , "test" , "default" , emptyEnv , "tar" , "" , "" , "" },
95- {true , "test" , "default" , env , "tar" , "" , "" , "" },
96- {true , "test" , "default" , env , "tar" , "" , "" , "" },
97- {true , "test" , "default" , emptyEnv , "tar" , "img" , "" , "" },
98- {true , "test" , "default" , emptyEnv , "tar" , "img" , "" , "" },
99- {true , "test" , "default" , env , "tar" , "img" , "" , "" },
100- {true , "test" , "default" , env , "tar" , "img" , "customimage" , "" },
113+ {true , "test" , "default" , emptyEnv , "tar" , "" , "" , api .PullAlways , "" },
114+ {true , "test" , "default" , emptyEnv , "tar" , "" , "" , api .PullAlways , "" },
115+ {true , "test" , "default" , env , "tar" , "" , "" , api .PullAlways , "" },
116+ {true , "test" , "default" , env , "tar" , "" , "" , api .PullAlways , "" },
117+ {true , "test" , "default" , emptyEnv , "tar" , "img" , "" , api .PullAlways , "" },
118+ {true , "test" , "default" , emptyEnv , "tar" , "img" , "" , api .PullAlways , "" },
119+ {true , "test" , "default" , env , "tar" , "img" , "" , api .PullAlways , "" },
120+ {true , "test" , "default" , env , "tar" , "img" , "customimage" , api .PullAlways , "" },
121+ {true , "test" , "default" , env , "tar" , "img" , "customimage" , api .PullIfNotPresent , "" },
122+ {true , "test" , "default" , env , "tar" , "img" , "customimage" , api .PullNever , "" },
101123 }
102124
103125 for _ , build := range dockerBuilds {
104- pod = dockerBuilderPod (build .debug , build .name , build .namespace , build .env , build .tarKey , build .imgName , build .dockerBuilderImage , build .storageType )
126+ pod = dockerBuilderPod (
127+ build .debug ,
128+ build .name ,
129+ build .namespace ,
130+ build .env ,
131+ build .tarKey ,
132+ build .imgName ,
133+ build .storageType ,
134+ build .dockerBuilderImage ,
135+ build .dockerBuilderImagePullPolicy ,
136+ )
105137
106138 if pod .ObjectMeta .Name != build .name {
107139 t .Errorf ("expected %v but returned %v " , build .name , pod .ObjectMeta .Name )
@@ -114,7 +146,14 @@ func TestBuildPod(t *testing.T) {
114146 checkForEnv (t , pod , "IMG_NAME" , build .imgName )
115147 if build .dockerBuilderImage != "" {
116148 if pod .Spec .Containers [0 ].Image != build .dockerBuilderImage {
117- t .Errorf ("expected %v but returned %v " , build .dockerBuilderImage , pod .Spec .Containers [0 ].Image )
149+ t .Errorf ("expected %v but returned %v" , build .dockerBuilderImage , pod .Spec .Containers [0 ].Image )
150+ }
151+ }
152+ if build .dockerBuilderImagePullPolicy != "" {
153+ if pod .Spec .Containers [0 ].ImagePullPolicy != "" {
154+ if pod .Spec .Containers [0 ].ImagePullPolicy != build .dockerBuilderImagePullPolicy {
155+ t .Errorf ("expected %v but returned %v" , build .dockerBuilderImagePullPolicy , pod .Spec .Containers [0 ].ImagePullPolicy )
156+ }
118157 }
119158 }
120159 }
0 commit comments