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); } }
public void reportScreencastRecording(@Observes AfterVideoRecorded event, ReporterConfiguration reporterConfiguration) { Path videoLocation = event.getVideoLocation(); if (videoLocation != null) { videoLocation = Paths.get(videoLocation.toString().replace("flv", "mp4")); final Path rootDir = Paths.get(reporterConfiguration.getRootDirectory()); final Path relativize = rootDir.relativize(videoLocation); final Method testMethod = getTestMethod(event); Reporter.createReport(new TestMethodReport(testMethod.getName())) .addKeyValueEntry(DockerEnvironmentReportKey.VIDEO_PATH, new FileEntry(relativize)) .inSection(new TestMethodSection(testMethod)) .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 generateReportEntries(@Observes AfterAutoStop event, CubeRegistry cubeRegistry) { if (cubeRegistry == null) { return; } final List<Cube<?>> reportableCubes = cubeRegistry.getByMetadata(CanReportMetrics.class); for (Cube cube : reportableCubes) { final CanReportMetrics metadata = (CanReportMetrics) cube.getMetadata(CanReportMetrics.class); final ReportInSectionBuilder sectionBuilder = metadata.report(); sectionBuilder.fire(reportEvent); } } }
public void generateReportEntries(@Observes AfterAutoStop event, CubeRegistry cubeRegistry) { if (cubeRegistry == null) { return; } final List<Cube<?>> reportableCubes = cubeRegistry.getByMetadata(CanReportMetrics.class); for (Cube cube : reportableCubes) { final CanReportMetrics metadata = (CanReportMetrics) cube.getMetadata(CanReportMetrics.class); final ReportInSectionBuilder sectionBuilder = metadata.report(); sectionBuilder.fire(reportEvent); } } }
@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 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); } } /*
public void reportKubernetesConfiguration(@Observes Start start, Configuration configuration, org.arquillian.reporter.config.ReporterConfiguration reporterConfiguration) throws IOException { final ReportBuilder reportBuilder = Reporter.createReport(CONFIGURATION); Session session = start.getSession(); if (configuration != null) { reportBuilder.addEntries(getFilesForResourcesConfiguration(session, configuration, reporterConfiguration)); } Reporter.createReport(KUBERNETES_SECTION_NAME) .addReport(reportBuilder) .inSection(new KubernetesSection()).fire(sectionEvent); }
public void reportKubernetesConfiguration(@Observes Start start, Configuration configuration, org.arquillian.reporter.config.ReporterConfiguration reporterConfiguration) throws IOException { final ReportBuilder reportBuilder = Reporter.createReport(CONFIGURATION); Session session = start.getSession(); if (configuration != null) { reportBuilder.addEntries(getFilesForResourcesConfiguration(session, configuration, reporterConfiguration)); } Reporter.createReport(KUBERNETES_SECTION_NAME) .addReport(reportBuilder) .inSection(new KubernetesSection()).fire(sectionEvent); }
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); }