private ReportBuilder createDockerInfoGroup(DockerClientExecutor executor) { Version version = executor.dockerHostVersion(); final ReportBuilder reportBuilder = Reporter.createReport(DOCKER_HOST_INFORMATION) .addKeyValueEntry(DOCKER_VERSION, version.getVersion()) .addKeyValueEntry(DOCKER_OS, version.getOperatingSystem()) .addKeyValueEntry(DOCKER_KERNEL, version.getKernelVersion()) .addKeyValueEntry(DOCKER_API_VERSION, version.getApiVersion()) .addKeyValueEntry(DOCKER_ARCH, version.getArch()); return reportBuilder; }
.addKeyValueEntry(CONTAINER_NAME, dockerCube.getId()) .addKeyValueEntry(ERROR_DURING_LIFECYCLE, Boolean.toString(error)) .addKeyValueEntry(STARTING_TIME, String.format("%s ms", dockerCube.getStartingTimeInMillis())) .addKeyValueEntry(STOPPING_TIME, String.format("%s ms", dockerCube.getStoppingTimeInMillis())); reportBuilder.addKeyValueEntry(IMAGE_NAME, configuration.getImage().toString()); } else { reportBuilder.addKeyValueEntry(BUILD_LOCATION, configuration.getBuildImage().getDockerfileLocation()); reportBuilder.addKeyValueEntry(EXPOSED_PORTS, configuration.getExposedPorts().toString()); reportBuilder.addKeyValueEntry(PORT_BINDING, configuration.getPortBindings().toString()); reportBuilder.addKeyValueEntry(LINKS, configuration.getLinks().toString()); reportBuilder.addKeyValueEntry(VOLUMES, configuration.getVolumes().toString()); reportBuilder.addKeyValueEntry(BINDS, configuration.getBinds().toString()); reportBuilder.addKeyValueEntry(ENTRY_POINT, configuration.getEntryPoint().toString()); reportBuilder.addKeyValueEntry(NETWORK_MODE, configuration.getNetworkMode());
.addKeyValueEntry(CONTAINER_NAME, dockerCube.getId()) .addKeyValueEntry(ERROR_DURING_LIFECYCLE, Boolean.toString(error)) .addKeyValueEntry(STARTING_TIME, String.format("%s ms", dockerCube.getStartingTimeInMillis())) .addKeyValueEntry(STOPPING_TIME, String.format("%s ms", dockerCube.getStoppingTimeInMillis())); reportBuilder.addKeyValueEntry(IMAGE_NAME, configuration.getImage().toString()); } else { reportBuilder.addKeyValueEntry(BUILD_LOCATION, configuration.getBuildImage().getDockerfileLocation()); reportBuilder.addKeyValueEntry(EXPOSED_PORTS, configuration.getExposedPorts().toString()); reportBuilder.addKeyValueEntry(PORT_BINDING, configuration.getPortBindings().toString()); reportBuilder.addKeyValueEntry(LINKS, configuration.getLinks().toString()); reportBuilder.addKeyValueEntry(VOLUMES, configuration.getVolumes().toString()); reportBuilder.addKeyValueEntry(BINDS, configuration.getBinds().toString()); reportBuilder.addKeyValueEntry(ENTRY_POINT, configuration.getEntryPoint().toString()); reportBuilder.addKeyValueEntry(NETWORK_MODE, configuration.getNetworkMode());
public void reportContainerLogs(@Observes org.arquillian.cube.spi.event.lifecycle.BeforeStop beforeStop, DockerClientExecutor executor, ReporterConfiguration reporterConfiguration) throws IOException { final String cubeId = beforeStop.getCubeId(); if (cubeId != null) { final File logFile = new File(createContainerLogDirectory(new File(reporterConfiguration.getRootDirectory())), cubeId + ".log"); final Path rootDir = Paths.get(reporterConfiguration.getRootDirectory()); final Path relativePath = rootDir.relativize(logFile.toPath()); executor.copyLog(beforeStop.getCubeId(), false, true, true, true, -1, new FileOutputStream(logFile)); Reporter.createReport() .addKeyValueEntry(LOG_PATH, new FileEntry(relativePath)) .inSection(new DockerContainerSection(cubeId)) .fire(reportEvent); } }
@Override public Response filter(FilterableRequestSpecification requestSpec, FilterableResponseSpecification responseSpec, FilterContext ctx) { final Response response = ctx.next(requestSpec, responseSpec); final ByteArrayOutputStream responseLog = new ByteArrayOutputStream(); final PrintStream stream = new PrintStream(responseLog); ResponsePrinter.print(response, response, stream, LogDetail.ALL, true); final File logFile = new File(createLogDirectory(new File(reporterConfiguration.getRootDirectory())), "restassuredResponse.log"); writeContent(responseLog, logFile); final Path rootDir = Paths.get(reporterConfiguration.getRootDirectory()); final Path relativePath = rootDir.relativize(logFile.toPath()); Reporter.createReport(REST_RESPONSE_LOG) .addKeyValueEntry(LOG_PATH, new FileEntry(relativePath)) .inSection(new DockerLogSection()) .fire(reportEvent); final byte[] responseBody = response.asByteArray(); return cloneResponseIfNeeded(response, responseBody); }
public void reportSessionStatus(@Observes AfterStart afterStart, KubernetesClient kubernetesClient) { Session session = afterStart.getSession(); if (session != null) { String namespace = session.getNamespace(); Reporter.createReport(SESSION_STATUS) .addKeyValueEntry(NAMESPACE, namespace) .addKeyValueEntry(MASTER_URL, String.valueOf(kubernetesClient.getMasterUrl())) .inSection(new KubernetesSection()) .asSubReport() .fire(sectionEvent); } } /*
public void reportSessionStatus(@Observes AfterStart afterStart, KubernetesClient kubernetesClient) { Session session = afterStart.getSession(); if (session != null) { String namespace = session.getNamespace(); Reporter.createReport(SESSION_STATUS) .addKeyValueEntry(NAMESPACE, namespace) .addKeyValueEntry(MASTER_URL, String.valueOf(kubernetesClient.getMasterUrl())) .inSection(new KubernetesSection()) .asSubReport() .fire(sectionEvent); } } /*
@Override public Response filter(FilterableRequestSpecification requestSpec, FilterableResponseSpecification responseSpec, FilterContext ctx) { String uri = requestSpec.getURI(); uri = urlDecode(uri, Charset.forName(requestSpec.getConfig().getEncoderConfig().defaultQueryParameterCharset()), true); final ByteArrayOutputStream requestLog = new ByteArrayOutputStream(); final PrintStream stream = new PrintStream(requestLog); RequestPrinter.print(requestSpec, requestSpec.getMethod(), uri, LogDetail.ALL, stream, true); final File logFile = new File(createLogDirectory(new File(reporterConfiguration.getRootDirectory())), "restassuredRequest.log"); writeContent(requestLog, logFile); final Path rootDir = Paths.get(reporterConfiguration.getRootDirectory()); final Path relativePath = rootDir.relativize(logFile.toPath()); Reporter.createReport(REST_REQUEST_LOG) .addKeyValueEntry(LOG_PATH, new FileEntry(relativePath)) .inSection(new DockerLogSection()) .fire(reportEvent); return ctx.next(requestSpec, responseSpec); }
public void reportDockerEnvironment(@Observes AfterAutoStart event, CubeDockerConfiguration cubeDockerConfiguration, DockerClientExecutor executor, ReporterConfiguration reporterConfiguration) { final ReportBuilder reportBuilder = Reporter.createReport(DOCKER_ENVIRONMENT) .addReport(createDockerInfoGroup(executor)); reportBuilder.addKeyValueEntry(DOCKER_COMPOSITION_SCHEMA, createDockerCompositionSchema(cubeDockerConfiguration, reporterConfiguration)); reportBuilder.addKeyValueEntry(NETWORK_TOPOLOGY_SCHEMA, createNetworkTopologyGraph(cubeDockerConfiguration, executor, reporterConfiguration)); reportBuilder .inSection(DockerContainerSection.standalone()) .fire(reportEvent); }