Search in sources :

Example 1 with ExitCodeChecker

use of io.fabric8.maven.docker.wait.ExitCodeChecker in project docker-maven-plugin by fabric8io.

the class ExitCodeCheckerTest method checkReturnsFalseIfContainerDoesNotExist.

@Test
public void checkReturnsFalseIfContainerDoesNotExist() throws Exception {
    new Expectations() {

        {
            Exception e = new DockerAccessException("Cannot find container %s", CONTAINER_ID);
            queryService.getMandatoryContainer(CONTAINER_ID);
            result = e;
        }
    };
    ExitCodeChecker checker = new ExitCodeChecker(0, queryService, CONTAINER_ID);
    assertThat(checker.check()).isFalse();
}
Also used : Expectations(mockit.Expectations) DockerAccessException(io.fabric8.maven.docker.access.DockerAccessException) DockerAccessException(io.fabric8.maven.docker.access.DockerAccessException) Test(org.junit.Test)

Example 2 with ExitCodeChecker

use of io.fabric8.maven.docker.wait.ExitCodeChecker in project docker-maven-plugin by fabric8io.

the class WaitService method prepareWaitCheckers.

private List<WaitChecker> prepareWaitCheckers(ImageConfiguration imageConfig, Properties projectProperties, String containerId) throws IOException {
    WaitConfiguration wait = getWaitConfiguration(imageConfig);
    if (wait == null) {
        return Collections.emptyList();
    }
    List<WaitChecker> checkers = new ArrayList<>();
    if (wait.getUrl() != null) {
        checkers.add(getUrlWaitChecker(imageConfig.getDescription(), projectProperties, wait));
    }
    if (wait.getLog() != null) {
        log.debug("LogWaitChecker: Waiting on %s", wait.getLog());
        checkers.add(new LogWaitChecker(wait.getLog(), dockerAccess, containerId, log));
    }
    if (wait.getTcp() != null) {
        try {
            Container container = queryService.getMandatoryContainer(containerId);
            checkers.add(getTcpWaitChecker(container, imageConfig.getDescription(), projectProperties, wait.getTcp()));
        } catch (DockerAccessException e) {
            throw new IOException("Unable to access container " + containerId, e);
        }
    }
    if (Boolean.TRUE.equals(wait.getHealthy())) {
        checkers.add(new HealthCheckChecker(dockerAccess, containerId, imageConfig.getDescription(), log));
    }
    if (wait.getExit() != null) {
        checkers.add(new ExitCodeChecker(wait.getExit(), queryService, containerId));
    }
    return checkers;
}
Also used : WaitConfiguration(io.fabric8.maven.docker.config.WaitConfiguration) HealthCheckChecker(io.fabric8.maven.docker.wait.HealthCheckChecker) Container(io.fabric8.maven.docker.model.Container) LogWaitChecker(io.fabric8.maven.docker.wait.LogWaitChecker) DockerAccessException(io.fabric8.maven.docker.access.DockerAccessException) ArrayList(java.util.ArrayList) ExitCodeChecker(io.fabric8.maven.docker.wait.ExitCodeChecker) IOException(java.io.IOException) LogWaitChecker(io.fabric8.maven.docker.wait.LogWaitChecker) WaitChecker(io.fabric8.maven.docker.wait.WaitChecker)

Aggregations

DockerAccessException (io.fabric8.maven.docker.access.DockerAccessException)2 WaitConfiguration (io.fabric8.maven.docker.config.WaitConfiguration)1 Container (io.fabric8.maven.docker.model.Container)1 ExitCodeChecker (io.fabric8.maven.docker.wait.ExitCodeChecker)1 HealthCheckChecker (io.fabric8.maven.docker.wait.HealthCheckChecker)1 LogWaitChecker (io.fabric8.maven.docker.wait.LogWaitChecker)1 WaitChecker (io.fabric8.maven.docker.wait.WaitChecker)1 IOException (java.io.IOException)1 ArrayList (java.util.ArrayList)1 Expectations (mockit.Expectations)1 Test (org.junit.Test)1