Skip to content

Commit 51075a4

Browse files
author
Marcus Linke
committed
fix startContainerWithPortBindings test
1 parent fe10593 commit 51075a4

3 files changed

Lines changed: 22 additions & 2 deletions

File tree

src/main/java/com/github/dockerjava/client/command/CreateContainerCmd.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,16 @@ public CreateContainerCmd withName(String name) {
7373
return this;
7474
}
7575

76+
public CreateContainerCmd withExposedPorts(String... exposedPorts) {
77+
Preconditions.checkNotNull(exposedPorts, "exposedPorts was not specified");
78+
HashMap<String,String> ports = new HashMap<String,String>();
79+
for(String exposedPort: exposedPorts) {
80+
ports.put(exposedPort, "");
81+
}
82+
this.containerCreateConfig.withExposedPorts(ports);
83+
return this;
84+
}
85+
7686
protected ContainerCreateResponse impl() {
7787
MultivaluedMap<String, String> params = new MultivaluedMapImpl();
7888
if (name != null) {

src/main/java/com/github/dockerjava/client/model/CreateContainerConfig.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,12 @@ public class CreateContainerConfig {
6565
public Map<String, ?> getExposedPorts() {
6666
return exposedPorts;
6767
}
68+
69+
public CreateContainerConfig withExposedPorts(Map<String, ?> exposedPorts) {
70+
this.exposedPorts = exposedPorts;
71+
return this;
72+
}
73+
6874

6975
public boolean isDisableNetwork() {
7076
return disableNetwork;

src/test/java/com/github/dockerjava/client/command/StartContainerCmdTest.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import static org.hamcrest.Matchers.startsWith;
1111

1212
import java.lang.reflect.Method;
13+
import java.util.HashMap;
1314

1415
import org.testng.ITestResult;
1516
import org.testng.annotations.AfterMethod;
@@ -86,7 +87,7 @@ public void startContainerWithPortBindings() throws DockerException {
8687

8788
ContainerCreateResponse container = dockerClient
8889
.createContainerCmd("busybox")
89-
.withCmd(new String[] { "true" }).exec();
90+
.withCmd("true").withExposedPorts("22/tcp").exec();
9091

9192
LOG.info("Created container {}", container.toString());
9293

@@ -103,9 +104,12 @@ public void startContainerWithPortBindings() throws DockerException {
103104

104105
containerInspectResponse = dockerClient.inspectContainerCmd(container
105106
.getId()).exec();
107+
108+
assertThat(containerInspectResponse.getConfig().getExposedPorts().keySet(),
109+
contains("22/tcp"));
106110

107111
assertThat(containerInspectResponse.getHostConfig().getPortBindings().getAllPorts(),
108-
contains(new Ports.Port("tcp", "22", "", "11022")));
112+
contains(new Ports.Port("tcp", "22", "0.0.0.0", "11022")));
109113

110114
tmpContainers.add(container.getId());
111115
}

0 commit comments

Comments
 (0)