@Test
  public void info() throws DockerException {
    // Make sure that there is at least one container for the assertion
    // TODO extract this into a shared method
    if (dockerClient.listContainersCmd().withShowAll(true).exec().size() == 0) {
      CreateContainerResponse container =
          dockerClient
              .createContainerCmd("busybox")
              .withName("docker-java-itest-info")
              .withCmd("touch", "/test")
              .exec();

      LOG.info("Created container: {}", container);
      assertThat(container.getId(), not(isEmptyOrNullString()));

      dockerClient.startContainerCmd(container.getId()).exec();
    }

    Info dockerInfo = dockerClient.infoCmd().exec();
    LOG.info(dockerInfo.toString());

    assertTrue(dockerInfo.toString().contains("containers"));
    assertTrue(dockerInfo.toString().contains("images"));
    assertTrue(dockerInfo.toString().contains("debug"));

    assertTrue(dockerInfo.getContainers() > 0);
    assertTrue(dockerInfo.getImages() > 0);
    assertTrue(dockerInfo.getNFd() > 0);
    assertTrue(dockerInfo.getNGoroutines() > 0);
    assertTrue(dockerInfo.getNCPU() > 0);
  }