下面列出了怎么用org.junit.jupiter.api.extension.BeforeAllCallback的API类实例代码及写法,或者点击链接到github查看源代码。
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();
}
@Override
public void beforeAll(ExtensionContext extensionContext) throws Exception {
for (Extension extension : extensions) {
if (extension instanceof BeforeAllCallback) {
((BeforeAllCallback) extension).beforeAll(extensionContext);
}
}
}