Skip to content

Commit 0c48b5f

Browse files
author
Marcus Linke
committed
Add missing tests for netty impl
1 parent 13705b1 commit 0c48b5f

File tree

2 files changed

+180
-0
lines changed

2 files changed

+180
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
package com.github.dockerjava.netty.exec;
2+
3+
import com.github.dockerjava.api.command.CreateContainerResponse;
4+
import com.github.dockerjava.api.command.CreateNetworkResponse;
5+
import com.github.dockerjava.api.command.InspectContainerResponse;
6+
import com.github.dockerjava.api.model.ContainerNetwork;
7+
import com.github.dockerjava.api.model.Network;
8+
import com.github.dockerjava.netty.AbstractNettyDockerClientTest;
9+
10+
import org.testng.ITestResult;
11+
import org.testng.annotations.AfterMethod;
12+
import org.testng.annotations.AfterTest;
13+
import org.testng.annotations.BeforeMethod;
14+
import org.testng.annotations.BeforeTest;
15+
import org.testng.annotations.Test;
16+
17+
import java.lang.reflect.Method;
18+
import java.util.Collections;
19+
20+
@Test(groups = "integration")
21+
public class ConnectToNetworkCmdExecTest extends AbstractNettyDockerClientTest {
22+
23+
@BeforeTest
24+
public void beforeTest() throws Exception {
25+
super.beforeTest();
26+
}
27+
28+
@AfterTest
29+
public void afterTest() {
30+
super.afterTest();
31+
}
32+
33+
@BeforeMethod
34+
public void beforeMethod(Method method) {
35+
super.beforeMethod(method);
36+
}
37+
38+
@AfterMethod
39+
public void afterMethod(ITestResult result) {
40+
super.afterMethod(result);
41+
}
42+
43+
@Test
44+
public void connectToNetwork() throws InterruptedException {
45+
46+
CreateContainerResponse container = dockerClient.createContainerCmd("busybox").withCmd("sleep", "9999").exec();
47+
dockerClient.startContainerCmd(container.getId()).exec();
48+
49+
CreateNetworkResponse network = dockerClient.createNetworkCmd().withName("testNetwork").exec();
50+
51+
dockerClient.connectToNetworkCmd().withNetworkId(network.getId()).withContainerId(container.getId()).exec();
52+
53+
Network updatedNetwork = dockerClient.inspectNetworkCmd().withNetworkId(network.getId()).exec();
54+
55+
assertTrue(updatedNetwork.getContainers().containsKey(container.getId()));
56+
57+
InspectContainerResponse inspectContainerResponse = dockerClient.inspectContainerCmd(container.getId()).exec();
58+
59+
assertNotNull(inspectContainerResponse.getNetworkSettings().getNetworks().get("testNetwork"));
60+
}
61+
62+
@Test
63+
public void connectToNetworkWithContainerNetwork() throws InterruptedException {
64+
65+
CreateContainerResponse container = dockerClient.createContainerCmd("busybox").withCmd("sleep", "9999").exec();
66+
dockerClient.startContainerCmd(container.getId()).exec();
67+
68+
CreateNetworkResponse network = dockerClient.createNetworkCmd()
69+
.withName("testNetwork")
70+
.withIpam(new Network.Ipam()
71+
.withConfig(new Network.Ipam.Config()
72+
.withSubnet("10.100.100.0/24")))
73+
.exec();
74+
75+
dockerClient.connectToNetworkCmd()
76+
.withNetworkId(network.getId())
77+
.withContainerId(container.getId())
78+
.withContainerNetwork(new ContainerNetwork()
79+
.withAliases("testing")
80+
.withIpamConfig(new ContainerNetwork.Ipam()
81+
.withIpv4Address("10.100.100.100")))
82+
.exec();
83+
84+
Network updatedNetwork = dockerClient.inspectNetworkCmd().withNetworkId(network.getId()).exec();
85+
86+
Network.ContainerNetworkConfig containerNetworkConfig = updatedNetwork.getContainers().get(container.getId());
87+
assertNotNull(containerNetworkConfig);
88+
assertEquals(containerNetworkConfig.getIpv4Address(), "10.100.100.100/24");
89+
90+
InspectContainerResponse inspectContainerResponse = dockerClient.inspectContainerCmd(container.getId()).exec();
91+
92+
ContainerNetwork testNetwork = inspectContainerResponse.getNetworkSettings().getNetworks().get("testNetwork");
93+
assertNotNull(testNetwork);
94+
assertEquals(testNetwork.getAliases(), Collections.singletonList("testing"));
95+
assertEquals(testNetwork.getGateway(), "10.100.100.1");
96+
assertEquals(testNetwork.getIpAddress(), "10.100.100.100");
97+
}
98+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
package com.github.dockerjava.netty.exec;
2+
3+
import com.github.dockerjava.api.command.CreateContainerResponse;
4+
import com.github.dockerjava.api.command.CreateNetworkResponse;
5+
import com.github.dockerjava.api.model.Network;
6+
import com.github.dockerjava.netty.AbstractNettyDockerClientTest;
7+
8+
import org.testng.ITestResult;
9+
import org.testng.annotations.AfterMethod;
10+
import org.testng.annotations.AfterTest;
11+
import org.testng.annotations.BeforeMethod;
12+
import org.testng.annotations.BeforeTest;
13+
import org.testng.annotations.Test;
14+
15+
import java.lang.reflect.Method;
16+
17+
@Test(groups = "integration")
18+
public class DisconnectFromNetworkCmdExecTest extends AbstractNettyDockerClientTest {
19+
20+
@BeforeTest
21+
public void beforeTest() throws Exception {
22+
super.beforeTest();
23+
}
24+
25+
@AfterTest
26+
public void afterTest() {
27+
super.afterTest();
28+
}
29+
30+
@BeforeMethod
31+
public void beforeMethod(Method method) {
32+
super.beforeMethod(method);
33+
}
34+
35+
@AfterMethod
36+
public void afterMethod(ITestResult result) {
37+
super.afterMethod(result);
38+
}
39+
40+
@Test
41+
public void disconnectFromNetwork() throws InterruptedException {
42+
43+
CreateContainerResponse container = dockerClient.createContainerCmd("busybox").withCmd("sleep", "9999").exec();
44+
dockerClient.startContainerCmd(container.getId()).exec();
45+
46+
CreateNetworkResponse network = dockerClient.createNetworkCmd().withName("testNetwork").exec();
47+
48+
dockerClient.connectToNetworkCmd().withNetworkId(network.getId()).withContainerId(container.getId()).exec();
49+
50+
Network updatedNetwork = dockerClient.inspectNetworkCmd().withNetworkId(network.getId()).exec();
51+
52+
assertTrue(updatedNetwork.getContainers().containsKey(container.getId()));
53+
54+
dockerClient.disconnectFromNetworkCmd().withNetworkId(network.getId()).withContainerId(container.getId()).exec();
55+
56+
updatedNetwork = dockerClient.inspectNetworkCmd().withNetworkId(network.getId()).exec();
57+
58+
assertFalse(updatedNetwork.getContainers().containsKey(container.getId()));
59+
}
60+
61+
@Test
62+
public void forceDisconnectFromNetwork() throws InterruptedException {
63+
64+
CreateNetworkResponse network = dockerClient.createNetworkCmd().withName("testNetwork").exec();
65+
66+
CreateContainerResponse container = dockerClient.createContainerCmd("busybox")
67+
.withNetworkMode("testNetwork")
68+
.withCmd("sleep", "9999")
69+
.exec();
70+
71+
dockerClient.startContainerCmd(container.getId()).exec();
72+
73+
dockerClient.disconnectFromNetworkCmd()
74+
.withNetworkId(network.getId())
75+
.withContainerId(container.getId())
76+
.withForce(true)
77+
.exec();
78+
79+
Network updatedNetwork = dockerClient.inspectNetworkCmd().withNetworkId(network.getId()).exec();
80+
assertFalse(updatedNetwork.getContainers().containsKey(container.getId()));
81+
}
82+
}

0 commit comments

Comments
 (0)