@Value.Default public DockerCompose dockerCompose() { DockerCompose dockerCompose = new DefaultDockerCompose(dockerComposeExecutable(), machine()); return new RetryingDockerCompose(retryAttempts(), dockerCompose); }
@Test public void call_ps_on_the_underlying_docker_compose_and_returns_the_same_value() throws IOException, InterruptedException { when(dockerCompose.ps()).thenReturn(someContainerNames); assertThat(retryingDockerCompose.ps(), is(someContainerNames)); verifyRetryerWasUsed(); verify(dockerCompose).ps(); verifyNoMoreInteractions(dockerCompose); }
@Test public void calls_up_on_the_underlying_docker_compose() throws IOException, InterruptedException { retryingDockerCompose.up(); verifyRetryerWasUsed(); verify(dockerCompose).up(); verifyNoMoreInteractions(dockerCompose); }
@Test public void calls_exec_on_the_underlying_docker_compose_and_not_invoke_retryer() throws IOException, InterruptedException { retryingDockerCompose.exec(options("-d"), CONTAINER_NAME, arguments("ls")); verifyRetryerWasNotUsed(); verify(dockerCompose).exec(options("-d"), CONTAINER_NAME, arguments("ls")); }
@Test public void calls_run_on_the_underlying_docker_compose_and_not_invoke_retryer() throws IOException, InterruptedException { retryingDockerCompose.run(DockerComposeRunOption.options("-d"), CONTAINER_NAME, DockerComposeRunArgument.arguments("ls")); verifyRetryerWasNotUsed(); verify(dockerCompose).run(DockerComposeRunOption.options("-d"), CONTAINER_NAME, DockerComposeRunArgument.arguments("ls")); } }
@Value.Default public DockerCompose dockerCompose() { DockerCompose dockerCompose = new DefaultDockerCompose(dockerComposeExecutable(), machine()); return new RetryingDockerCompose(retryAttempts(), dockerCompose); }
@Value.Default public DockerCompose dockerCompose() { DockerCompose dockerCompose = new DefaultDockerCompose(dockerComposeExecutable(), machine()); return new RetryingDockerCompose(retryAttempts(), dockerCompose); }
private DockerCompose dockerCompose(ExtensionContext.Store store, Compose compose) { return getOrBuild(DockerCompose.class, store, compose, () -> { DockerMachine dockerMachine = dockerMachine(store, compose); DockerComposeExecutable dockerComposeExecutable = dockerComposeExecutable(store, compose); DockerCompose dockerCompose = new DefaultDockerCompose(dockerComposeExecutable, dockerMachine); return new RetryingDockerCompose(compose.retryAttempts(), dockerCompose); }); }
@Override public void initialize() throws Exception { determineEffectiveDockerFile(); if (Strings.isFilled(dockerfile)) { LOG.INFO("Starting docker compose using: %s", dockerfile); this.dockerCompose = new RetryingDockerCompose(retryAttempts, new DefaultDockerCompose(dockerComposeExecutable(), machine())); if (pull) { try { LOG.INFO("Executing docker-compose pull..."); dockerCompose.pull(); } catch (Exception e) { LOG.WARN("docker-compose pull failed: %s (%s)", e.getMessage(), e.getClass().getName()); } } try { LOG.INFO("Executing docker-compose up..."); dockerCompose.up(); } catch (Exception e) { LOG.WARN("docker-compose up failed: %s (%s)", e.getMessage(), e.getClass().getName()); } awaitClusterHealth(); PortMapper.setMapper(this); } else { LOG.INFO("No docker file is present - skipping...."); } }