private List<TestResultContainer> findParents(final List<TestResultContainer> groups, final String id, final Set<String> seen) { return groups.stream() .filter(container -> container.getChildren().contains(id)) .filter(container -> !seen.contains(container.getUuid())) .collect(Collectors.toList()); }
private List<TestResultContainer> findAllParents(final List<TestResultContainer> groups, final String id, final Set<String> seen) { final List<TestResultContainer> result = new ArrayList<>(); final List<TestResultContainer> parents = findParents(groups, id, seen); result.addAll(parents); for (TestResultContainer container : parents) { result.addAll(findAllParents(groups, container.getUuid(), seen)); } return result; }
private List<TestResultContainer> findParents(final List<TestResultContainer> groups, final String id, final Set<String> seen) { return groups.stream() .filter(container -> container.getChildren().contains(id)) .filter(container -> !seen.contains(container.getUuid())) .collect(Collectors.toList()); }
private List<TestResultContainer> findAllParents(final List<TestResultContainer> groups, final String id, final Set<String> seen) { final List<TestResultContainer> result = new ArrayList<>(); final List<TestResultContainer> parents = findParents(groups, id, seen); result.addAll(parents); for (TestResultContainer container : parents) { result.addAll(findAllParents(groups, container.getUuid(), seen)); } return result; }
@Override public void write(final TestResultContainer testResultContainer) { final String testResultContainerName = Objects.isNull(testResultContainer.getUuid()) ? generateTestResultContainerName() : generateTestResultContainerName(testResultContainer.getUuid()); createDirectories(outputDirectory); final Path file = outputDirectory.resolve(testResultContainerName); try { mapper.writeValue(file.toFile(), testResultContainer); } catch (IOException e) { throw new AllureResultsWriteException("Could not write Allure test result container", e); } }
/** * Starts test container with specified parent container. * * @param containerUuid the uuid of parent container. * @param container the container. */ public void startTestContainer(final String containerUuid, final TestResultContainer container) { storage.getContainer(containerUuid).ifPresent(parent -> { synchronized (storage) { parent.getChildren().add(container.getUuid()); } }); startTestContainer(container); }
/** * Starts test container. * * @param container the container. */ public void startTestContainer(final TestResultContainer container) { notifier.beforeContainerStart(container); container.setStart(System.currentTimeMillis()); storage.put(container.getUuid(), container); notifier.afterContainerStart(container); }