@@ -149,19 +149,30 @@ func TestUninstallDockerAllContainer(t *testing.T) {
149149 time .Sleep (5 * time .Second )
150150 assert .True (t , err == nil )
151151
152- _ , err = cli .ContainerCreate (ctx , & container.Config {
152+ err = createConfig ()
153+ assert .True (t , err == nil )
154+
155+ c , errCreate := cli .ContainerCreate (ctx , & container.Config {
153156 Image : "alpine" ,
154157 Cmd : []string {"echo" , "hello world" },
155158 }, nil , nil , "" )
156-
157159 time .Sleep (5 * time .Second )
158- assert .True (t , err == nil )
160+ assert .True (t , errCreate == nil )
159161
160- err = createConfig ()
161- assert .True (t , err == nil )
162+ updateConfigWithContainer (c .ID )
162163
163164 resp := dashboard .MqttSendAndReceiveTimeout (t , "/status/uninstall" , "{}" , 5 * time .Minute )
164165 assert .True (t , resp == "INFO: OK\n " )
166+ containers , errList := cli .ContainerList (ctx , types.ContainerListOptions {})
167+ assert .True (t , errList == nil )
168+ found := false
169+ for _ , v := range containers {
170+ if v .ID == c .ID {
171+ found = true
172+ break
173+ }
174+ }
175+ assert .False (t , found )
165176}
166177
167178func TestUninstallNotAllDockerContainer (t * testing.T ) {
@@ -181,47 +192,43 @@ func TestUninstallNotAllDockerContainer(t *testing.T) {
181192
182193 subscribeTopic (s .mqttClient , "0" , "/status/uninstall/post" , s , s .Uninstall , false )
183194
195+ err = createConfig ()
196+ assert .True (t , err == nil )
197+
184198 ctx := context .Background ()
185199 _ , err = cli .ImagePull (ctx , "alpine" , types.ImagePullOptions {})
186200 time .Sleep (5 * time .Second )
187201 assert .True (t , err == nil )
188202
189- _ , err = cli .ContainerCreate (ctx , & container.Config {
203+ containerMustKeep , err : = cli .ContainerCreate (ctx , & container.Config {
190204 Image : "alpine" ,
191205 Cmd : []string {"echo" , "hello world" },
192206 }, nil , nil , "" )
193-
194207 time .Sleep (5 * time .Second )
195208 assert .True (t , err == nil )
196209
197- err = createConfig ()
198- assert .True (t , err == nil )
199-
200- idMustKeep , err := cli .ContainerCreate (ctx , & container.Config {
210+ containerMustRemove , err := cli .ContainerCreate (ctx , & container.Config {
201211 Image : "alpine" ,
202212 Cmd : []string {"echo" , "hello world" },
203213 }, nil , nil , "" )
204214
205- defer func () {
206- err = cli .ContainerRemove (ctx , idMustKeep .ID , types.ContainerRemoveOptions {})
207- time .Sleep (5 * time .Second )
208- assert .True (t , err == nil )
215+ time .Sleep (5 * time .Second )
216+ assert .True (t , err == nil )
217+ updateConfigWithContainer (containerMustRemove .ID )
209218
210- _ , err = cli .ImageRemove (ctx , "alpine" , types.ImageRemoveOptions {})
219+ defer func () {
220+ err = cli .ContainerRemove (ctx , containerMustKeep .ID , types.ContainerRemoveOptions {})
211221 time .Sleep (5 * time .Second )
212222 assert .True (t , err == nil )
213223 }()
214224
215- time .Sleep (5 * time .Second )
216- assert .True (t , err == nil )
217-
218225 resp := dashboard .MqttSendAndReceiveTimeout (t , "/status/uninstall" , "{}" , 5 * time .Minute )
219226 assert .True (t , resp == "INFO: OK\n " )
220227 containers , err := cli .ContainerList (ctx , types.ContainerListOptions {All : true })
221228 assert .True (t , err == nil )
222229 found := false
223230 for _ , v := range containers {
224- if v .ID == idMustKeep .ID {
231+ if v .ID == containerMustKeep .ID {
225232 found = true
226233 break
227234 }
@@ -246,18 +253,16 @@ func TestUninstallAllImages(t *testing.T) {
246253
247254 subscribeTopic (s .mqttClient , "0" , "/status/uninstall/post" , s , s .Uninstall , false )
248255
256+ err = createConfig ()
257+ assert .True (t , err == nil )
258+
249259 ctx := context .Background ()
250260 _ , err = cli .ImagePull (ctx , "alpine" , types.ImagePullOptions {})
251261 time .Sleep (5 * time .Second )
252262 assert .True (t , err == nil )
253263
254- err = createConfig ()
255- assert .True (t , err == nil )
264+ updateConfigWithImage ("alpine" )
256265
257266 resp := dashboard .MqttSendAndReceiveTimeout (t , "/status/uninstall" , "{}" , 5 * time .Minute )
258267 assert .True (t , resp == "INFO: OK\n " )
259-
260- imgs , errImages := cli .ImageList (ctx , types.ImageListOptions {})
261- assert .True (t , errImages == nil )
262- assert .True (t , len (imgs ) == 0 )
263268}
0 commit comments