Skip to content

Commit e72935b

Browse files
author
Marcus Linke
committed
Merge branch 'AddSizeRootFs' of https://github.com/AE9999/docker-java into AE9999-AddSizeRootFs
2 parents 7ab0418 + 72b2e73 commit e72935b

File tree

6 files changed

+65
-2
lines changed

6 files changed

+65
-2
lines changed

src/main/java/com/github/dockerjava/api/command/InspectContainerCmd.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ public interface InspectContainerCmd extends SyncDockerCmd<InspectContainerRespo
1212

1313
InspectContainerCmd withContainerId(@Nonnull String containerId);
1414

15+
InspectContainerCmd withSize(Boolean showSize);
16+
17+
boolean getSize();
18+
1519
/**
1620
* @throws NotFoundException
1721
* No such container

src/main/java/com/github/dockerjava/api/command/InspectContainerResponse.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@ public class InspectContainerResponse {
5656
@JsonProperty("Id")
5757
private String id;
5858

59+
@JsonProperty("SizeRootFs")
60+
private Integer sizeRootFs;
61+
5962
@JsonProperty("Image")
6063
private String imageId;
6164

@@ -102,6 +105,10 @@ public String getId() {
102105
return id;
103106
}
104107

108+
public Integer getSizeRootFs() {
109+
return sizeRootFs;
110+
}
111+
105112
public String getCreated() {
106113
return created;
107114
}

src/main/java/com/github/dockerjava/core/command/InspectContainerCmdImpl.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ public class InspectContainerCmdImpl extends AbstrDockerCmd<InspectContainerCmd,
1313
InspectContainerCmd {
1414

1515
private String containerId;
16+
private boolean size;
1617

1718
public InspectContainerCmdImpl(InspectContainerCmd.Exec exec, String containerId) {
1819
super(exec);
@@ -31,6 +32,17 @@ public InspectContainerCmd withContainerId(String containerId) {
3132
return this;
3233
}
3334

35+
@Override
36+
public InspectContainerCmd withSize(Boolean showSize) {
37+
this.size = showSize;
38+
return this;
39+
}
40+
41+
@Override
42+
public boolean getSize() {
43+
return size;
44+
}
45+
3446
/**
3547
* @throws NotFoundException
3648
* No such container

src/main/java/com/github/dockerjava/jaxrs/InspectContainerCmdExec.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,9 @@ public InspectContainerCmdExec(WebTarget baseResource, DockerClientConfig docker
2121

2222
@Override
2323
protected InspectContainerResponse execute(InspectContainerCmd command) {
24-
WebTarget webResource = getBaseResource().path("/containers/{id}/json").resolveTemplate("id",
25-
command.getContainerId());
24+
WebTarget webResource = getBaseResource().path("/containers/{id}/json")
25+
.queryParam("size", command.getSize())
26+
.resolveTemplate("id", command.getContainerId());
2627

2728
LOGGER.debug("GET: {}", webResource);
2829
return webResource.request().accept(MediaType.APPLICATION_JSON).get(InspectContainerResponse.class);

src/test/java/com/github/dockerjava/core/command/InspectContainerCmdImplTest.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import java.lang.reflect.Method;
99
import java.security.SecureRandom;
1010

11+
import com.github.dockerjava.api.command.InspectContainerCmd;
1112
import org.slf4j.Logger;
1213
import org.slf4j.LoggerFactory;
1314
import org.testng.ITestResult;
@@ -63,6 +64,24 @@ public void inspectContainer() throws DockerException {
6364

6465
}
6566

67+
@Test()
68+
public void inspectContainerWithSize() throws DockerException {
69+
70+
String containerName = "generated_" + new SecureRandom().nextInt();
71+
72+
CreateContainerResponse container = dockerClient.createContainerCmd("busybox").withCmd("top")
73+
.withName(containerName).exec();
74+
LOG.info("Created container {}", container.toString());
75+
assertThat(container.getId(), not(isEmptyString()));
76+
77+
InspectContainerCmd command = dockerClient.inspectContainerCmd(container.getId()).withSize(true);
78+
assertTrue(command.getSize());
79+
InspectContainerResponse containerInfo = command.exec();
80+
assertEquals(containerInfo.getId(), container.getId());
81+
assertNotNull(containerInfo.getSizeRootFs());
82+
assertTrue(containerInfo.getSizeRootFs().intValue() > 0 );
83+
}
84+
6685
@Test(expectedExceptions = NotFoundException.class)
6786
public void inspectNonExistingContainer() throws DockerException {
6887
dockerClient.inspectContainerCmd("non-existing").exec();

src/test/java/com/github/dockerjava/netty/exec/InspectContainerCmdExecTest.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import java.lang.reflect.Method;
99
import java.security.SecureRandom;
1010

11+
import com.github.dockerjava.api.command.InspectContainerCmd;
1112
import org.slf4j.Logger;
1213
import org.slf4j.LoggerFactory;
1314
import org.testng.ITestResult;
@@ -63,6 +64,25 @@ public void inspectContainer() throws DockerException {
6364

6465
}
6566

67+
@Test()
68+
public void inspectContainerWithSize() throws DockerException {
69+
70+
String containerName = "generated_" + new SecureRandom().nextInt();
71+
72+
CreateContainerResponse container = dockerClient.createContainerCmd("busybox").withCmd("top")
73+
.withName(containerName).exec();
74+
LOG.info("Created container {}", container.toString());
75+
assertThat(container.getId(), not(isEmptyString()));
76+
77+
InspectContainerCmd command = dockerClient.inspectContainerCmd(container.getId())
78+
.withSize(true);
79+
assertTrue(command.getSize());
80+
InspectContainerResponse containerInfo = command.exec();
81+
assertEquals(containerInfo.getId(), container.getId());
82+
assertNotNull(containerInfo.getSizeRootFs());
83+
assertTrue(containerInfo.getSizeRootFs().intValue() > 0 );
84+
}
85+
6686
@Test(expectedExceptions = NotFoundException.class)
6787
public void inspectNonExistingContainer() throws DockerException {
6888
dockerClient.inspectContainerCmd("non-existing").exec();

0 commit comments

Comments
 (0)