@Value.Default public ProjectName projectName() { return ProjectName.random(); }
@Value.Default public ProjectName projectName() { return ProjectName.random(); }
@Value.Default public ProjectName projectName() { return ProjectName.random(); }
@Value.Default public ProjectName projectName() { return ProjectName.random(); }
@Value.Default public ProjectName projectName() { return ProjectName.random(); }
@Value.Default public ProjectName projectName() { return ProjectName.random(); }
private ProjectName projectName() { return Strings.isFilled(project) && !Sirius.isStartedAsTest() ? ProjectName.fromString(project) : ProjectName.random(); }
@Test public void have_eight_characters_long_random() { String randomName = ProjectName.random().constructComposeFileCommand().get(1); assertThat(randomName.length(), is(8)); }
@Test public void use_project_name_prefix_in_construct_compose_command() { List<String> command = ProjectName.random().constructComposeFileCommand(); assertThat(command, hasSize(2)); assertThat(command.get(0), is("--project-name")); }
private static ImmutableDockerComposeRule getDockerComposeRule() { if (disableDueToDockerExecutableUnavailability) { return null; } if (StringUtils.isNotEmpty(System.getenv("ES_NDBENCH_NO_DOCKER"))) { return null; } return DockerComposeRule.builder() .file("src/test/resources/docker-compose-elasticsearch.yml") .projectName(ProjectName.random()) .waitingForService(ELASTICSEARCH, HealthChecks.toHaveAllPortsOpen()) .build(); }
@Test public void testStateChanges_withoutHealthCheck() throws IOException, InterruptedException { DockerCompose dockerCompose = new DefaultDockerCompose( DockerComposeFiles.from("src/test/resources/no-healthcheck.yaml"), dockerMachine, ProjectName.random()); // The noHealthcheck service has no healthcheck specified; it should be immediately healthy Container container = new Container("noHealthcheck", docker, dockerCompose); assertEquals(State.DOWN, container.state()); container.up(); assertEquals(State.HEALTHY, container.state()); container.kill(); assertEquals(State.DOWN, container.state()); }
/** * This test is not currently enabled in Circle as it does not provide a sufficiently recent version of docker-compose. * * @see <a href="https://github.com/palantir/docker-compose-rule/issues/156">Issue #156</a> */ @Test public void testStateChanges_withHealthCheck() throws IOException, InterruptedException { assumeThat("docker version", Docker.version(), new GreaterOrEqual<>(Version.forIntegers(1, 12, 0))); assumeThat("docker-compose version", DockerCompose.version(), new GreaterOrEqual<>(Version.forIntegers(1, 10, 0))); DockerCompose dockerCompose = new DefaultDockerCompose( DockerComposeFiles.from("src/test/resources/native-healthcheck.yaml"), dockerMachine, ProjectName.random()); // The withHealthcheck service's healthcheck checks every 100ms whether the file "healthy" exists Container container = new Container("withHealthcheck", docker, dockerCompose); assertEquals(State.DOWN, container.state()); container.up(); assertEquals(State.UNHEALTHY, container.state()); dockerCompose.exec(noOptions(), "withHealthcheck", arguments("touch", "healthy")); wait.until(container::state, equalTo(State.HEALTHY)); dockerCompose.exec(noOptions(), "withHealthcheck", arguments("rm", "healthy")); wait.until(container::state, equalTo(State.UNHEALTHY)); container.kill(); assertEquals(State.DOWN, container.state()); } }