-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
/
DockerClientFactoryTest.java
55 lines (46 loc) · 2.09 KB
/
DockerClientFactoryTest.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package org.testcontainers;
import com.github.dockerjava.api.exception.NotFoundException;
import org.junit.Test;
import org.rnorth.visibleassertions.VisibleAssertions;
import org.testcontainers.DockerClientFactory.DiskSpaceUsage;
import org.testcontainers.dockerclient.LogToStringContainerCallback;
import org.testcontainers.utility.TestcontainersConfiguration;
import static org.assertj.core.api.Assertions.assertThat;
/**
* Test for {@link DockerClientFactory}.
*/
public class DockerClientFactoryTest {
@Test
public void runCommandInsideDockerShouldNotFailIfImageDoesNotExistsLocally() {
final DockerClientFactory dockFactory = DockerClientFactory.instance();
try {
//remove tiny image, so it will be pulled during next command run
dockFactory.client()
.removeImageCmd(TestcontainersConfiguration.getInstance().getTinyImage())
.withForce(true).exec();
} catch (NotFoundException ignored) {
// Do not fail if it's not pulled yet
}
dockFactory.runInsideDocker(
cmd -> cmd.withCmd("sh", "-c", "echo 'SUCCESS'"),
(client, id) ->
client.logContainerCmd(id)
.withStdOut(true)
.exec(new LogToStringContainerCallback())
.toString()
);
}
@Test
public void shouldHandleBigDiskSize() throws Exception {
String dfOutput = "/dev/disk1 2982480572 1491240286 2982480572 31% /";
DiskSpaceUsage usage = DockerClientFactory.instance().parseAvailableDiskSpace(dfOutput);
VisibleAssertions.assertEquals("Available MB is correct", 2982480572L / 1024L, usage.availableMB.orElse(0L));
VisibleAssertions.assertEquals("Available percentage is correct", 31, usage.usedPercent.orElse(0));
}
@Test
public void dockerHostIpAddress() {
DockerClientFactory instance = new DockerClientFactory();
instance.strategy = null;
assertThat(instance.dockerHostIpAddress()).isNotNull();
}
}