Skip to content

totalorder/composed

Repository files navigation

Composed Build Status

Thin junit5 wrapper around https://github.com/palantir/docker-compose-rule

Tests manage their docker dependencies

Test code that depends on a running webserver

@RegisterExtension
static Composed nginx = Composed.builder()
  .projectName("composedtest")
  .dockerComposeFilePath("docker-compose.yml")
  .serviceName("nginx-demo")
  .healtCheck(HealthChecks.toRespond2xxOverHttp(
      80, port -> "http://localhost:" + port.getExternalPort()))
  .build();

@Test
void httpRequestIsSuccessful() throws Exception {
  int externalPort = nginx.externalPort(80);

  URL url = new URL("http://localhost:" + externalPort);
  HttpURLConnection connection = (HttpURLConnection)url.openConnection();
  connection.setRequestMethod("GET");

  final int responseCode = connection.getResponseCode();
  assertThat(responseCode, is(200));
}

docker-compose.yml

version: '2.1'
services:
  nginx-demo:
    image: nginxdemos/hello
    ports:
      - 80

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages