public static void startCassandraContainer(String containerName) { Container container = EteSetup.getContainer(containerName); try { container.start(); } catch (IOException | InterruptedException e) { throw Throwables.propagate(e); } waitForCassandraContainer(container); }
@Test public void start_can_be_run_on_running_container() { forEachContainer(containerName -> { try { Container container = docker.containers().container(containerName); container.start(); assertThat(container.state(), is(State.HEALTHY)); } catch (IOException | InterruptedException e) { propagate(e); } }); }
@Test public void can_kill_and_start_containers() { forEachContainer(containerName -> { try { Container container = docker.containers().container(containerName); container.kill(); assertThat(container.state(), is(State.DOWN)); container.start(); assertThat(container.state(), is(State.HEALTHY)); } catch (IOException | InterruptedException e) { propagate(e); } }); }
@Test public void can_stop_and_start_containers() { forEachContainer(containerName -> { try { Container container = docker.containers().container(containerName); container.stop(); assertThat(container.state(), is(State.DOWN)); container.start(); assertThat(container.state(), is(State.HEALTHY)); } catch (IOException | InterruptedException e) { propagate(e); } }); }
@Test public void return_updated_external_port_on_restart() throws IOException, InterruptedException { int internalPort = 5432; env.ephemeralPort("service", IP, internalPort); DockerPort port = container.port(internalPort); int prePort = port.getExternalPort(); DockerPort samePort = container.port(internalPort); assertThat(prePort, is(samePort.getExternalPort())); container.stop(); container.start(); DockerPort updatedPort = container.port(internalPort); assertThat(prePort, not(is(updatedPort.getExternalPort()))); }