8000 Fixing flaky test `ListContainersCmdIT.testStatusFilter` (#2188) · docker-java/docker-java@ede20db · GitHub
[go: up one dir, main page]

Skip to content

Commit ede20db

Browse files
dmmaxeddumelendez
andauthored
Fixing flaky test ListContainersCmdIT.testStatusFilter (#2188)
Co-authored-by: Eddú Meléndez Gonzales <eddu.melendez@gmail.com>
1 parent 1da9515 commit ede20db

File tree

1 file changed

+40
-22
lines changed

1 file changed

+40
-22
lines changed

docker-java/src/test/java/com/github/dockerjava/cmd/ListContainersCmdIT.java

Lines changed: 40 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import java.util.List;
1818
import java.util.Map;
1919
import java.util.UUID;
20+
import java.util.concurrent.TimeUnit;
2021

2122
import static ch.lambdaj.Lambda.filter;
2223
import static com.github.dockerjava.api.model.HostConfig.newHostConfig;
@@ -188,16 +189,8 @@ public void testIdsFilter() {
188189
}
189190

190191
@Test
191-
public void testStatusFilter() {
192-
String id1, id2;
193-
id1 = dockerRule.getClient().createContainerCmd(DEFAULT_IMAGE)
194-
.withCmd("sh", "-c", "sleep 99999")
195-
.withLabels(testLabel)
196-
.exec()
197-
.getId();
198-
199-
id2 = dockerRule.getClient().createContainerCmd(DEFAULT_IMAGE)
200-
.withCmd("sh", "-c", "sleep 99999")
192+
public void shouldFilterByCreatedStatus() {
193+
String containerId = dockerRule.getClient().createContainerCmd(DEFAULT_IMAGE)
201194
.withLabels(testLabel)
202195
.exec()
203196
.getId();
@@ -208,42 +201,67 @@ public void testStatusFilter() {
208201
.withStatusFilter(singletonList("created"))
209202
.exec();
210203

211-
assertThat(filteredContainers.size(), is(2));
212-
assertThat(filteredContainers.get(1).getId(), isOneOf(id1, id2));
204+
assertThat(filteredContainers.size(), is(1));
205+
assertThat(filteredContainers.get(0).getId(), is(containerId));
206+
}
213207

214-
dockerRule.getClient().startContainerCmd(id1).exec();
208+
@Test
209+
public void shouldFilterByRunningStatus() {
210+
String containerId = dockerRule.getClient().createContainerCmd(DEFAULT_IMAGE)
211+
.withLabels(testLabel)
212+
.exec()
213+
.getId();
214+
dockerRule.getClient().startContainerCmd(containerId).exec();
215215

216-
filteredContainers = dockerRule.getClient().listContainersCmd()
216+
List<Container> filteredContainers = dockerRule.getClient().listContainersCmd()
217217
.withShowAll(true)
218218
.withLabelFilter(testLabel)
219219
.withStatusFilter(singletonList("running"))
220220
.exec();
221221

222222
assertThat(filteredContainers.size(), is(1));
223-
assertThat(filteredContainers.get(0).getId(), is(id1));
223+
assertThat(filteredContainers.get(0).getId(), is(containerId));
224+
}
224225

225-
dockerRule.getClient().pauseContainerCmd(id1).exec();
226+
@Test
227+
public void shouldFilterByPausedStatus() {
228+
String containerId = dockerRule.getClient().createContainerCmd(DEFAULT_IMAGE)
229+
.withCmd("sh", "-c", "sleep 99999")
230+
.withLabels(testLabel)
231+
.exec()
232+
.getId();
233+
dockerRule.getClient().startContainerCmd(containerId).exec();
234+
dockerRule.getClient().pauseContainerCmd(containerId).exec();
226235

227-
filteredContainers = dockerRule.getClient().listContainersCmd()
236+
List<Container> filteredContainers = dockerRule.getClient().listContainersCmd()
228237
.withShowAll(true)
229238
.withLabelFilter(testLabel)
230239
.withStatusFilter(singletonList("paused"))
231240
.exec();
232241

233242
assertThat(filteredContainers.size(), is(1));
234-
assertThat(filteredContainers.get(0).getId(), is(id1));
243+
assertThat(filteredContainers.get(0).getId(), is(containerId));
244+
}
235245

236-
dockerRule.getClient().unpauseContainerCmd(id1).exec();
237-
dockerRule.getClient().stopContainerCmd(id1).exec();
246+
@Test
247+
public void shouldFilterByExitedStatus() throws InterruptedException {
248+
String containerId = dockerRule.getClient().createContainerCmd(DEFAULT_IMAGE)
249+
.withCmd("sh", "-c", "sleep 99999")
250+
.withLabels(testLabel)
251+
.exec()
252+
.getId();
253+
dockerRule.getClient().startContainerCmd(containerId).exec();
254+
dockerRule.getClient().stopContainerCmd(containerId).exec();
255+
dockerRule.getClient().waitContainerCmd(containerId).start().awaitCompletion(15, TimeUnit.SECONDS);
238256

239-
filteredContainers = dockerRule.getClient().listContainersCmd()
257+
List<Container> filteredContainers = dockerRule.getClient().listContainersCmd()
240258
.withShowAll(true)
241259
.withLabelFilter(testLabel)
242260
.withStatusFilter(singletonList("exited"))
243261
.exec();
244262

245263
assertThat(filteredContainers.size(), is(1));
246-
assertThat(filteredContainers.get(0).getId(), is(id1));
264+
assertThat(filteredContainers.get(0).getId(), is(containerId));
247265
}
248266

249267
@Test

0 commit comments

Comments
 (0)
0