@@ -54,7 +54,7 @@ var containerConfig = &config.Container{
5454 },
5555}
5656
57- func createContainerConfig () (* config.Container , * config.Network , * config.Network , * clients.MockDocker ) {
57+ func createContainerConfig () (* config.Container , * config.Network , * config.Network , * clients.MockDocker , * clients. ImageLog ) {
5858 cc := * containerConfig
5959 cc2 := * containerConfig
6060 cn := * containerNetwork
@@ -68,10 +68,12 @@ func createContainerConfig() (*config.Container, *config.Network, *config.Networ
6868 c .AddResource (& cn )
6969 c .AddResource (& wn )
7070
71- return & cc , & cn , & wn , setupContainerMocks ()
71+ mc , mic := setupContainerMocks ()
72+
73+ return & cc , & cn , & wn , mc , mic
7274}
7375
74- func setupContainerMocks () * clients.MockDocker {
76+ func setupContainerMocks () ( * clients.MockDocker , * clients. ImageLog ) {
7577 md := & clients.MockDocker {}
7678 md .On ("ImageList" , mock .Anything , mock .Anything , mock .Anything ).Return (nil , nil )
7779 md .On ("ImagePull" , mock .Anything , mock .Anything , mock .Anything ).Return (
@@ -85,11 +87,14 @@ func setupContainerMocks() *clients.MockDocker {
8587 md .On ("NetworkConnect" , mock .Anything , mock .Anything , mock .Anything , mock .Anything ).Return (nil )
8688 md .On ("NetworkDisconnect" , mock .Anything , mock .Anything , mock .Anything , mock .Anything ).Return (nil )
8789
88- return md
90+ mic := & clients.ImageLog {}
91+ mic .On ("Log" , mock .Anything , mock .Anything ).Return (nil )
92+
93+ return md , mic
8994}
9095
91- func setupContainer (t * testing.T , cc * config.Container , md * clients.MockDocker ) error {
92- p := NewDockerTasks (md , hclog .NewNullLogger ())
96+ func setupContainer (t * testing.T , cc * config.Container , md * clients.MockDocker , mic * clients. ImageLog ) error {
97+ p := NewDockerTasks (md , mic , hclog .NewNullLogger ())
9398
9499 // create the container
95100 _ , err := p .CreateContainer (cc )
@@ -98,9 +103,9 @@ func setupContainer(t *testing.T, cc *config.Container, md *clients.MockDocker)
98103}
99104
100105func TestContainerCreatesCorrectly (t * testing.T ) {
101- cc , _ , _ , md := createContainerConfig ()
106+ cc , _ , _ , md , mic := createContainerConfig ()
102107
103- err := setupContainer (t , cc , md )
108+ err := setupContainer (t , cc , md , mic )
104109 assert .NoError (t , err )
105110
106111 // check that the docker api methods were called
@@ -123,9 +128,9 @@ func TestContainerCreatesCorrectly(t *testing.T) {
123128}
124129
125130func TestContainerRemovesBridgeBeforeAttachingToUserNetwork (t * testing.T ) {
126- cc , _ , _ , md := createContainerConfig ()
131+ cc , _ , _ , md , mic := createContainerConfig ()
127132
128- err := setupContainer (t , cc , md )
133+ err := setupContainer (t , cc , md , mic )
129134 assert .NoError (t , err )
130135
131136 params := getCalls (& md .Mock , "NetworkDisconnect" )[0 ].Arguments
@@ -134,18 +139,18 @@ func TestContainerRemovesBridgeBeforeAttachingToUserNetwork(t *testing.T) {
134139}
135140
136141func TestContainerReturnsErrorIfErrorRemovingBridge (t * testing.T ) {
137- cc , _ , _ , md := createContainerConfig ()
142+ cc , _ , _ , md , mic := createContainerConfig ()
138143 removeOn (& md .Mock , "NetworkDisconnect" )
139144 md .On ("NetworkDisconnect" , mock .Anything , mock .Anything , mock .Anything , mock .Anything ).Return (fmt .Errorf ("boom" ))
140145
141- err := setupContainer (t , cc , md )
146+ err := setupContainer (t , cc , md , mic )
142147 assert .Error (t , err )
143148}
144149
145150func TestContainerAttachesToUserNetwork (t * testing.T ) {
146- cc , cn , _ , md := createContainerConfig ()
151+ cc , cn , _ , md , mic := createContainerConfig ()
147152
148- err := setupContainer (t , cc , md )
153+ err := setupContainer (t , cc , md , mic )
149154 assert .NoError (t , err )
150155
151156 params := getCalls (& md .Mock , "NetworkConnect" )[0 ].Arguments
@@ -157,11 +162,11 @@ func TestContainerAttachesToUserNetwork(t *testing.T) {
157162}
158163
159164func TestContainerAttachesToContainerNetwork (t * testing.T ) {
160- cc , _ , _ , md := createContainerConfig ()
165+ cc , _ , _ , md , mic := createContainerConfig ()
161166 cc .Networks = []config.NetworkAttachment {config.NetworkAttachment {Name : "container.testcontainer2" }}
162167 md .On ("ContainerList" , mock .Anything , mock .Anything ).Return ([]types.Container {types.Container {ID : "abc" }})
163168
164- err := setupContainer (t , cc , md )
169+ err := setupContainer (t , cc , md , mic )
165170 assert .NoError (t , err )
166171
167172 md .AssertNotCalled (t , "NetworkConnect" )
@@ -173,50 +178,50 @@ func TestContainerAttachesToContainerNetwork(t *testing.T) {
173178}
174179
175180func TestContainerAttachesToContainerNetworkReturnsErrorWhenListError (t * testing.T ) {
176- cc , _ , _ , md := createContainerConfig ()
181+ cc , _ , _ , md , mic := createContainerConfig ()
177182 cc .Networks = []config.NetworkAttachment {config.NetworkAttachment {Name : "container.testcontainer2" }}
178183 md .On ("ContainerList" , mock .Anything , mock .Anything ).Return (nil , fmt .Errorf ("boom" ))
179184
180- err := setupContainer (t , cc , md )
185+ err := setupContainer (t , cc , md , mic )
181186 assert .Error (t , err )
182187}
183188
184189func TestContainerAttachesToContainerNetworkReturnsErrorWhenContainerNotFound (t * testing.T ) {
185- cc , _ , _ , md := createContainerConfig ()
190+ cc , _ , _ , md , mic := createContainerConfig ()
186191 cc .Networks = []config.NetworkAttachment {config.NetworkAttachment {Name : "container.testcontainer2" }}
187192 md .On ("ContainerList" , mock .Anything , mock .Anything ).Return (nil , nil )
188193
189- err := setupContainer (t , cc , md )
194+ err := setupContainer (t , cc , md , mic )
190195 assert .Error (t , err )
191196}
192197
193198func TestContainerRollsbackWhenUnableToConnectToNetwork (t * testing.T ) {
194- cc , _ , _ , md := createContainerConfig ()
199+ cc , _ , _ , md , mic := createContainerConfig ()
195200 removeOn (& md .Mock , "NetworkConnect" )
196201 md .On ("NetworkConnect" , mock .Anything , mock .Anything , mock .Anything , mock .Anything ).Return (fmt .Errorf ("boom" ))
197202
198- err := setupContainer (t , cc , md )
203+ err := setupContainer (t , cc , md , mic )
199204 assert .Error (t , err )
200205
201206 md .AssertCalled (t , "ContainerRemove" , mock .Anything , mock .Anything , mock .Anything )
202207}
203208
204209func TestContainerDoesNOTAttachesToUserNetworkWhenNil (t * testing.T ) {
205- cc , nc , _ , md := createContainerConfig ()
210+ cc , nc , _ , md , mic := createContainerConfig ()
206211 cc .Networks = []config.NetworkAttachment {}
207212
208- err := setupContainer (t , cc , md )
213+ err := setupContainer (t , cc , md , mic )
209214 assert .NoError (t , err )
210215
211216 md .AssertNumberOfCalls (t , "NetworkConnect" , 0 )
212217 md .AssertNotCalled (t , "NetworkConnect" , nc .Name , mock .Anything , mock .Anything , mock .Anything )
213218}
214219
215220func TestContainerAssignsIPToUserNetwork (t * testing.T ) {
216- cc , _ , _ , md := createContainerConfig ()
221+ cc , _ , _ , md , mic := createContainerConfig ()
217222 cc .Networks [0 ].IPAddress = "192.168.1.123"
218223
219- err := setupContainer (t , cc , md )
224+ err := setupContainer (t , cc , md , mic )
220225 assert .NoError (t , err )
221226
222227 params := getCalls (& md .Mock , "NetworkConnect" )[0 ].Arguments
@@ -226,21 +231,21 @@ func TestContainerAssignsIPToUserNetwork(t *testing.T) {
226231}
227232
228233func TestContainerRollsbackWhenUnableToConnectToWANNetwork (t * testing.T ) {
229- cc , _ , _ , md := createContainerConfig ()
234+ cc , _ , _ , md , mic := createContainerConfig ()
230235 removeOn (& md .Mock , "NetworkConnect" )
231236 md .On ("NetworkConnect" , mock .Anything , mock .Anything , mock .Anything , mock .Anything ).Return (nil ).Once ()
232237 md .On ("NetworkConnect" , mock .Anything , mock .Anything , mock .Anything , mock .Anything ).Return (fmt .Errorf ("boom" )).Once ()
233238
234- err := setupContainer (t , cc , md )
239+ err := setupContainer (t , cc , md , mic )
235240 assert .Error (t , err )
236241
237242 md .AssertCalled (t , "ContainerRemove" , mock .Anything , mock .Anything , mock .Anything )
238243}
239244
240245func TestContainerAttachesVolumeMounts (t * testing.T ) {
241- cc , _ , _ , md := createContainerConfig ()
246+ cc , _ , _ , md , mic := createContainerConfig ()
242247
243- err := setupContainer (t , cc , md )
248+ err := setupContainer (t , cc , md , mic )
244249 assert .NoError (t , err )
245250
246251 params := getCalls (& md .Mock , "ContainerCreate" )[0 ].Arguments
@@ -256,10 +261,10 @@ func TestContainerCreatesDirectoryForVolume(t *testing.T) {
256261 tmpFolder := fmt .Sprintf ("%s/%d" , utils .ShipyardTemp (), time .Now ().UnixNano ())
257262 defer os .RemoveAll (tmpFolder )
258263
259- cc , _ , _ , md := createContainerConfig ()
264+ cc , _ , _ , md , mic := createContainerConfig ()
260265 cc .Volumes [0 ].Source = tmpFolder
261266
262- err := setupContainer (t , cc , md )
267+ err := setupContainer (t , cc , md , mic )
263268 assert .NoError (t , err )
264269
265270 assert .DirExists (t , tmpFolder )
@@ -269,20 +274,20 @@ func TestContainerDoesNotCreatesDirectoryForVolumeWhenNotBind(t *testing.T) {
269274 tmpFolder := fmt .Sprintf ("%s/%d" , utils .ShipyardTemp (), time .Now ().UnixNano ())
270275 defer os .RemoveAll (tmpFolder )
271276
272- cc , _ , _ , md := createContainerConfig ()
277+ cc , _ , _ , md , mic := createContainerConfig ()
273278 cc .Volumes [0 ].Source = tmpFolder
274279 cc .Volumes [0 ].Type = "volume"
275280
276- err := setupContainer (t , cc , md )
281+ err := setupContainer (t , cc , md , mic )
277282 assert .NoError (t , err )
278283
279284 assert .NoDirExists (t , tmpFolder )
280285}
281286
282287func TestContainerPublishesPorts (t * testing.T ) {
283- cc , _ , _ , md := createContainerConfig ()
288+ cc , _ , _ , md , mic := createContainerConfig ()
284289
285- err := setupContainer (t , cc , md )
290+ err := setupContainer (t , cc , md , mic )
286291 assert .NoError (t , err )
287292
288293 params := getCalls (& md .Mock , "ContainerCreate" )[0 ].Arguments
0 commit comments