public void testMojoExecution() throws Exception {
    assertNotNull(mojo);
    mojo.execute();

    HttpClient client = HttpClientBuilder.create().build();

    HttpGet get = new HttpGet("http://localhost:" + elasticsearchNode.getHttpPort());

    final int connectionTimeout = 500; // millis
    RequestConfig requestConfig =
        RequestConfig.custom()
            .setConnectionRequestTimeout(connectionTimeout)
            .setConnectTimeout(connectionTimeout)
            .setSocketTimeout(connectionTimeout)
            .build();
    get.setConfig(requestConfig);

    try {
      client.execute(get);

      fail("The ES cluster should have been down by now");
    } catch (HttpHostConnectException | ConnectTimeoutException expected) {
    }

    assertTrue(elasticsearchNode.isClosed());
  }
  @Override
  protected void tearDown() throws Exception {
    super.tearDown();

    if (elasticsearchNode != null && !elasticsearchNode.isClosed()) {
      elasticsearchNode.stop();
    }
  }