Browse code

convert so rm tests to integration-cli

Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)

Victor Vieux authored on 2014/04/19 02:40:12
Showing 2 changed files
... ...
@@ -25,3 +25,42 @@ func TestRemoveContainerWithRemovedVolume(t *testing.T) {
25 25
 
26 26
 	logDone("rm - removed volume")
27 27
 }
28
+
29
+func TestRemoveContainerWithVolume(t *testing.T) {
30
+	cmd := exec.Command(dockerBinary, "run", "--name", "foo", "-v", "/srv", "busybox", "true")
31
+	if _, err := runCommand(cmd); err != nil {
32
+		t.Fatal(err)
33
+	}
34
+
35
+	cmd = exec.Command(dockerBinary, "rm", "-v", "foo")
36
+	if _, err := runCommand(cmd); err != nil {
37
+		t.Fatal(err)
38
+	}
39
+
40
+	deleteAllContainers()
41
+
42
+	logDone("rm - volume")
43
+}
44
+
45
+func TestRemoveContainerRunning(t *testing.T) {
46
+	cmd := exec.Command(dockerBinary, "run", "-d", "--name", "foo", "busybox", "sleep", "300")
47
+	if _, err := runCommand(cmd); err != nil {
48
+		t.Fatal(err)
49
+	}
50
+
51
+	// Test cannot remove running container
52
+	cmd = exec.Command(dockerBinary, "rm", "foo")
53
+	if _, err := runCommand(cmd); err == nil {
54
+		t.Fatalf("Expected error, can't rm a running container")
55
+	}
56
+
57
+	// Remove with -f
58
+	cmd = exec.Command(dockerBinary, "rm", "-f", "foo")
59
+	if _, err := runCommand(cmd); err != nil {
60
+		t.Fatal(err)
61
+	}
62
+
63
+	deleteAllContainers()
64
+
65
+	logDone("rm - running container")
66
+}
... ...
@@ -9,53 +9,6 @@ import (
9 9
 	"time"
10 10
 )
11 11
 
12
-func TestCreateRm(t *testing.T) {
13
-	eng := NewTestEngine(t)
14
-	defer mkDaemonFromEngine(eng, t).Nuke()
15
-
16
-	config, _, _, err := runconfig.Parse([]string{unitTestImageID, "echo test"}, nil)
17
-	if err != nil {
18
-		t.Fatal(err)
19
-	}
20
-
21
-	id := createTestContainer(eng, config, t)
22
-
23
-	job := eng.Job("containers")
24
-	job.SetenvBool("all", true)
25
-	outs, err := job.Stdout.AddListTable()
26
-	if err != nil {
27
-		t.Fatal(err)
28
-	}
29
-	if err := job.Run(); err != nil {
30
-		t.Fatal(err)
31
-	}
32
-
33
-	if len(outs.Data) != 1 {
34
-		t.Errorf("Expected 1 container, %v found", len(outs.Data))
35
-	}
36
-
37
-	job = eng.Job("container_delete", id)
38
-	job.SetenvBool("removeVolume", true)
39
-	if err := job.Run(); err != nil {
40
-		t.Fatal(err)
41
-	}
42
-
43
-	job = eng.Job("containers")
44
-	job.SetenvBool("all", true)
45
-	outs, err = job.Stdout.AddListTable()
46
-	if err != nil {
47
-		t.Fatal(err)
48
-	}
49
-	if err := job.Run(); err != nil {
50
-		t.Fatal(err)
51
-	}
52
-
53
-	if len(outs.Data) != 0 {
54
-		t.Errorf("Expected 0 container, %v found", len(outs.Data))
55
-	}
56
-
57
-}
58
-
59 12
 func TestCreateNumberHostname(t *testing.T) {
60 13
 	eng := NewTestEngine(t)
61 14
 	defer mkDaemonFromEngine(eng, t).Nuke()
... ...
@@ -80,140 +33,6 @@ func TestCreateNumberUsername(t *testing.T) {
80 80
 	createTestContainer(eng, config, t)
81 81
 }
82 82
 
83
-func TestCreateRmVolumes(t *testing.T) {
84
-	eng := NewTestEngine(t)
85
-	defer mkDaemonFromEngine(eng, t).Nuke()
86
-
87
-	config, hostConfig, _, err := runconfig.Parse([]string{"-v", "/srv", unitTestImageID, "echo", "test"}, nil)
88
-	if err != nil {
89
-		t.Fatal(err)
90
-	}
91
-
92
-	id := createTestContainer(eng, config, t)
93
-
94
-	job := eng.Job("containers")
95
-	job.SetenvBool("all", true)
96
-	outs, err := job.Stdout.AddListTable()
97
-	if err != nil {
98
-		t.Fatal(err)
99
-	}
100
-	if err := job.Run(); err != nil {
101
-		t.Fatal(err)
102
-	}
103
-
104
-	if len(outs.Data) != 1 {
105
-		t.Errorf("Expected 1 container, %v found", len(outs.Data))
106
-	}
107
-
108
-	job = eng.Job("start", id)
109
-	if err := job.ImportEnv(hostConfig); err != nil {
110
-		t.Fatal(err)
111
-	}
112
-	if err := job.Run(); err != nil {
113
-		t.Fatal(err)
114
-	}
115
-
116
-	job = eng.Job("stop", id)
117
-	job.SetenvInt("t", 1)
118
-	if err := job.Run(); err != nil {
119
-		t.Fatal(err)
120
-	}
121
-
122
-	job = eng.Job("container_delete", id)
123
-	job.SetenvBool("removeVolume", true)
124
-	if err := job.Run(); err != nil {
125
-		t.Fatal(err)
126
-	}
127
-
128
-	job = eng.Job("containers")
129
-	job.SetenvBool("all", true)
130
-	outs, err = job.Stdout.AddListTable()
131
-	if err != nil {
132
-		t.Fatal(err)
133
-	}
134
-	if err := job.Run(); err != nil {
135
-		t.Fatal(err)
136
-	}
137
-
138
-	if len(outs.Data) != 0 {
139
-		t.Errorf("Expected 0 container, %v found", len(outs.Data))
140
-	}
141
-}
142
-
143
-func TestCreateRmRunning(t *testing.T) {
144
-	eng := NewTestEngine(t)
145
-	defer mkDaemonFromEngine(eng, t).Nuke()
146
-
147
-	config, hostConfig, _, err := runconfig.Parse([]string{"--name", "foo", unitTestImageID, "sleep 300"}, nil)
148
-	if err != nil {
149
-		t.Fatal(err)
150
-	}
151
-
152
-	id := createTestContainer(eng, config, t)
153
-
154
-	job := eng.Job("start", id)
155
-	if err := job.ImportEnv(hostConfig); err != nil {
156
-		t.Fatal(err)
157
-	}
158
-	if err := job.Run(); err != nil {
159
-		t.Fatal(err)
160
-	}
161
-
162
-	job = eng.Job("containers")
163
-	outs, err := job.Stdout.AddListTable()
164
-	if err != nil {
165
-		t.Fatal(err)
166
-	}
167
-	if err := job.Run(); err != nil {
168
-		t.Fatal(err)
169
-	}
170
-
171
-	if len(outs.Data) != 1 {
172
-		t.Errorf("Expected 1 container, %v found", len(outs.Data))
173
-	}
174
-
175
-	// Test cannot remove running container
176
-	job = eng.Job("container_delete", id)
177
-	job.SetenvBool("forceRemove", false)
178
-	if err := job.Run(); err == nil {
179
-		t.Fatal("Expected container delete to fail")
180
-	}
181
-
182
-	job = eng.Job("containers")
183
-	outs, err = job.Stdout.AddListTable()
184
-	if err != nil {
185
-		t.Fatal(err)
186
-	}
187
-	if err := job.Run(); err != nil {
188
-		t.Fatal(err)
189
-	}
190
-
191
-	if len(outs.Data) != 1 {
192
-		t.Errorf("Expected 1 container, %v found", len(outs.Data))
193
-	}
194
-
195
-	// Test can force removal of running container
196
-	job = eng.Job("container_delete", id)
197
-	job.SetenvBool("forceRemove", true)
198
-	if err := job.Run(); err != nil {
199
-		t.Fatal(err)
200
-	}
201
-
202
-	job = eng.Job("containers")
203
-	job.SetenvBool("all", true)
204
-	outs, err = job.Stdout.AddListTable()
205
-	if err != nil {
206
-		t.Fatal(err)
207
-	}
208
-	if err := job.Run(); err != nil {
209
-		t.Fatal(err)
210
-	}
211
-
212
-	if len(outs.Data) != 0 {
213
-		t.Errorf("Expected 0 container, %v found", len(outs.Data))
214
-	}
215
-}
216
-
217 83
 func TestCommit(t *testing.T) {
218 84
 	eng := NewTestEngine(t)
219 85
 	defer mkDaemonFromEngine(eng, t).Nuke()