org.junit.jupiter.api.extension.BeforeAllCallback#com.palantir.docker.compose.connection.waiting.HealthChecks源码实例Demo

下面列出了org.junit.jupiter.api.extension.BeforeAllCallback#com.palantir.docker.compose.connection.waiting.HealthChecks 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: nifi-minifi   文件: StandaloneYamlTest.java
public StandaloneYamlTest(String version, String name) throws IOException {
    this.version = version;
    this.name = name;
    String dockerComposeYmlFile = "target/test-classes/docker-compose-" + version + "-" + name + "Test-yml.yml";
    try (InputStream inputStream = StandaloneYamlTest.class.getClassLoader().getResourceAsStream("docker-compose-v1-standalone.yml");
         InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
         BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
         FileWriter fileWriter = new FileWriter(dockerComposeYmlFile);
         BufferedWriter bufferedWriter = new BufferedWriter(fileWriter)) {
        String line;
        while ((line = bufferedReader.readLine()) != null) {
            bufferedWriter.write(line.replace("REPLACED_WITH_CONFIG_FILE", getConfigYml()));
            bufferedWriter.newLine();
        }
    }
    dockerComposeRule = DockerComposeRule.builder()
            .file(dockerComposeYmlFile)
            .waitingForService("minifi", HealthChecks.toRespond2xxOverHttp(8000, dockerPort -> "http://" + dockerPort.getIp() + ":" + dockerPort.getExternalPort()))
            .build();
}
 
@Override
public DockerComposeRule createRule() {
	return DockerComposeRule.builder()
			.file("src/integration/resources/docker-compose.yml")
			.waitingForService("artifactory", HealthChecks.toRespond2xxOverHttp(
					8081, DockerDelegate::artifactoryHealthUri))
			.build();
}
 
@Test
public void produce_events_on_a_successful_run() throws Throwable {
    DockerComposeManager dockerComposeManager = new DockerComposeManager.Builder()
            .file(ALL_GOOD_DOCKER_COMPOSE_YAML)
            .waitingForService("one", HealthChecks.toHaveAllPortsOpen())
            .addEventConsumer(eventConsumer)
            .build();

    runDockerComposeRule(dockerComposeManager);

    List<Event> events = getEvents();

    List<Class<?>> expected = ImmutableList.of(
            BuildEvent.class,
            UpEvent.class,
            // 2 cluster waits, one native, one user
            ClusterWaitEvent.class,
            ClusterWaitEvent.class,
            WaitForServicesEvent.class,
            ShutdownStopEvent.class,
            LogCollectionEvent.class,
            ShutdownEvent.class
    );

    assertThat(events).hasSameSizeAs(expected);
    for (int i = 0; i < events.size(); i++) {
        assertThat(events.get(i).toString()).contains(expected.get(i).getSimpleName());
    }
}
 
public static Extension startDockerCompose(Path tempFolder) {

		if (DockerComposeFactoryProperties.isDockerComposeDisabled()) {
			return (BeforeAllCallback) context -> logger.info("Docker Compose installation is disabled!");
		}

		logger.info("{} = {}", DockerComposeFactoryProperties.TEST_DOCKER_COMPOSE_DATAFLOW_VERSIONN,
				DockerComposeFactoryProperties.get(DockerComposeFactoryProperties.TEST_DOCKER_COMPOSE_DATAFLOW_VERSIONN, DEFAULT_DATAFLOW_VERSION));
		logger.info("{} = {}", DockerComposeFactoryProperties.TEST_DOCKER_COMPOSE_SKIPPER_VERSIONN,
				DockerComposeFactoryProperties.get(DockerComposeFactoryProperties.TEST_DOCKER_COMPOSE_SKIPPER_VERSIONN, DEFAULT_SKIPPER_VERSION));
		logger.info("{} = {}", DockerComposeFactoryProperties.TEST_DOCKER_COMPOSE_STREAM_APPS_URI,
				DockerComposeFactoryProperties.get(DockerComposeFactoryProperties.TEST_DOCKER_COMPOSE_STREAM_APPS_URI, DEFAULT_STREAM_APPS_URI));
		logger.info("{} = {}", DockerComposeFactoryProperties.TEST_DOCKER_COMPOSE_TASK_APPS_URI,
				DockerComposeFactoryProperties.get(DockerComposeFactoryProperties.TEST_DOCKER_COMPOSE_TASK_APPS_URI, DEFAULT_TASK_APPS_URI));
		logger.info("{} = {}", DockerComposeFactoryProperties.TEST_DOCKER_COMPOSE_PATHS,
				DockerComposeFactoryProperties.getDockerComposePaths(DEFAULT_DOCKER_COMPOSE_PATHS));

		String[] dockerComposePaths = new ResourceExtractor(tempFolder).extract(
				DockerComposeFactoryProperties.getDockerComposePaths(DEFAULT_DOCKER_COMPOSE_PATHS));
		logger.info("Extracted docker compose files = {}", Arrays.toString(dockerComposePaths));

		return DockerComposeExtension.builder()
				.files(DockerComposeFiles.from(dockerComposePaths))
				.machine(dockerMachine)
				.saveLogsTo("target/dockerLogs/DockerComposeIT")
				.waitingForService("dataflow-server", HealthChecks.toRespond2xxOverHttp(9393,
						(port) -> port.inFormat("http://$HOST:$EXTERNAL_PORT")), org.joda.time.Duration.standardMinutes(10))
				.waitingForService("skipper-server", HealthChecks.toRespond2xxOverHttp(7577,
						(port) -> port.inFormat("http://$HOST:$EXTERNAL_PORT")), org.joda.time.Duration.standardMinutes(10))
				// set to false to test with local dataflow and skipper images.
				.pullOnStartup(DockerComposeFactoryProperties.getBoolean(DockerComposeFactoryProperties.TEST_DOCKER_COMPOSE_PULLONSTARTUP, true))
				.build();
	}