private java.util.Optional<Requirement> lastRequirementFrom(List<String> storyPathElements) { if (storyPathElements.isEmpty()) { return Optional.empty(); } else { return lastRequirementMatchingPath(getRequirements(), storyPathElements); } }
private List<Requirement> getFlattenedRequirements() { List<Requirement> allRequirements = Lists.newArrayList(); for (Requirement requirement : getRequirements()) { allRequirements.add(requirement); allRequirements.addAll(childRequirementsOf(requirement)); } return allRequirements; }
private Optional<Requirement> lastRequirementFrom(List<String> storyPathElements) { if (storyPathElements.isEmpty()) { return Optional.absent(); } else { return lastRequirementMatchingPath(getRequirements(), storyPathElements); } }
private List<Requirement> getFlattenedRequirements() { List<Requirement> allRequirements = Lists.newArrayList(); for (Requirement requirement : getRequirements()) { allRequirements.add(requirement); allRequirements.addAll(childRequirementsOf(requirement)); } return allRequirements; }
private Optional<Requirement> lastRequirementFrom(List<String> storyPathElements) { if (storyPathElements.isEmpty()) { return Optional.absent(); } else { return lastRequirementMatchingPath(getRequirements(), storyPathElements); } }
private java.util.Optional<Requirement> parentRequirementsOf(Requirement matchingRequirement) { for (Requirement requirement : AllRequirements.in(getRequirements())) { if (requirement.getChildren().contains(matchingRequirement)) { return java.util.Optional.of(requirement); } } return java.util.Optional.empty(); }
private java.util.Optional<Requirement> getMatchingRequirementFor(TestTag storyOrFeatureTag) { return AllRequirements.in(getRequirements()).stream() .filter( requirement -> requirement.asTag().isAsOrMoreSpecificThan(storyOrFeatureTag) ) .findFirst(); }
public RequirementsOutcomes buildRequirementsOutcomesFrom(TestOutcomes testOutcomes) { List<Requirement> allRequirements = tagProvider.getRequirements(); LOGGER.debug("Loaded requirements from file system = " + allRequirements); return new RequirementsOutcomes(allRequirements, testOutcomes, issueTracking, environmentVariables, NewList.<RequirementsTagProvider>of(tagProvider), reportNameProvider, tagProvider.getOverview().orElse("")); }
public java.util.Optional<Requirement> getRequirementFor(TestTag testTag) { for (Requirement requirement : AllRequirements.in(getRequirements())) { if (requirement.getName().equalsIgnoreCase(testTag.getName()) && requirement.getType().equalsIgnoreCase(testTag.getType())) { return Optional.of(requirement); } } return Optional.empty(); }
private java.util.Optional<Requirement> requirementWithMatchingParentId(TestOutcome testOutcome) { for (Requirement requirement : AllRequirements.in(getRequirements())) { if (requirement.getId() != null && testOutcome.getParentId() != null && (requirement.getId().equals(testOutcome.getParentId()))) { return Optional.of(requirement); } } return Optional.empty(); }
private java.util.Optional<Requirement> requirementWithMatchingPath(TestOutcome testOutcome) { List<Requirement> allRequirements = AllRequirements.in(getRequirements()); for (Requirement requirement : allRequirements) { if (requirement.getFeatureFileName() != null && testOutcome.getPath() != null && Paths.get(testOutcome.getPath()).equals(Paths.get(requirement.getFeatureFileName()))) { return Optional.of(requirement); } } if (testOutcome.getPath() == null) { return Optional.empty(); } return allRequirements.stream() .filter(requirement -> requirement.getPath() != null) .filter(requirement -> equivalentPaths(requirement.getPath(), testOutcome.getPath())) .findFirst(); }
java.util.Optional<Requirement> requirementWithMatchingFeatureFile(TestOutcome testOutcome) { String candidatePath = testOutcome.getPath(); String parentRequirementId = testOutcome.getParentId(); for (Requirement requirement : AllRequirements.in(getRequirements())) { if (requirement.getId() != null && requirement.getId().equals(parentRequirementId)) { return java.util.Optional.of(requirement); } if ((requirement.getFeatureFileName() != null) && (requirement.getFeatureFileName().equalsIgnoreCase(candidatePath))) { return java.util.Optional.of(requirement); } if ((requirement.getPath() != null) && (equivalentPaths(requirement.getPath(), candidatePath))) { return java.util.Optional.of(requirement); } } return java.util.Optional.empty(); }
public Set<TestTag> getTagsFor(final TestOutcome testOutcome) { // // For the FileSystemRequirements tag provider, the test outcome provides a path, which might be: // - a feature file for Cucumber ("add_an_item.feature"), // - a story file with a path (JBehave) ("stories/manage_items/add_an_item.story") // Set<TestTag> tags = new HashSet<>(); if (testOutcome.getPath() != null) { java.util.Optional<Requirement> matchingRequirement = requirementWithMatchingFeatureFile(testOutcome); if (matchingRequirement.isPresent()) { tags.add(matchingRequirement.get().asTag()); tags.addAll(parentRequirementsOf(matchingRequirement.get().asTag())); } // Strategy used if a full path is provided List<String> storyPathElements = stripRootFrom(pathElements(stripRootPathFrom(testOutcome.getPath()))); tags.addAll(getMatchingCapabilities(getRequirements(), stripStorySuffixFrom(storyPathElements))); if (tags.isEmpty() && storyOrFeatureDescribedIn(storyPathElements).isPresent()) { java.util.Optional<TestTag> matchingRequirementTag = getMatchingRequirementTagsFor(storyOrFeatureDescribedIn(storyPathElements).get()); if (matchingRequirementTag.isPresent()) { tags.add(matchingRequirementTag.get()); tags.addAll(parentRequirementsOf(matchingRequirementTag.get())); } } } return tags; }
public Set<TestTag> getTagsFor(final TestOutcome testOutcome) { Set<TestTag> tags = new HashSet<>(); if (testOutcome.getPath() != null) { List<String> storyPathElements = stripRootFrom(pathElements(stripRootPathFrom(testOutcome.getPath()))); addStoryTagIfPresent(tags, storyPathElements); storyPathElements = stripStorySuffixFrom(storyPathElements); tags.addAll(getMatchingCapabilities(getRequirements(), storyPathElements)); } return tags; }
public Set<TestTag> getTagsFor(final TestOutcome testOutcome) { Set<TestTag> tags = new HashSet<>(); if (testOutcome.getPath() != null) { List<String> storyPathElements = stripRootFrom(pathElements(stripRootPathFrom(testOutcome.getPath()))); addStoryTagIfPresent(tags, storyPathElements); storyPathElements = stripStorySuffixFrom(storyPathElements); tags.addAll(getMatchingCapabilities(getRequirements(), storyPathElements)); } return tags; }