private Optional<String> determineTestClassName(UniqueId uniqueId) { Segment runnerSegment = uniqueId.getSegments().get(1); // skip engine node if (SEGMENT_TYPE_RUNNER.equals(runnerSegment.getType())) { return Optional.of(runnerSegment.getValue()); } logger.warn( () -> format("Unresolvable Unique ID (%s): Unique ID segment after engine segment must be of type \"" + SEGMENT_TYPE_RUNNER + "\"", uniqueId)); return Optional.empty(); }
@Override public Optional<TestDescriptor> resolveUniqueId(UniqueId.Segment segment, TestDescriptor parent) { if (!segment.getType().equals(getSegmentType())) { return Optional.empty(); } if (!requiredParentType().isInstance(parent)) { return Optional.empty(); } String className = getClassName(parent, segment.getValue()); Optional<Class<?>> optionalContainerClass = ReflectionUtils.tryToLoadClass(className).toOptional(); if (!optionalContainerClass.isPresent()) { return Optional.empty(); } Class<?> containerClass = optionalContainerClass.get(); if (!isPotentialCandidate(containerClass)) { return Optional.empty(); } UniqueId uniqueId = createUniqueId(containerClass, parent); return Optional.of(resolveClass(containerClass, uniqueId)); }
private Optional<TestDescriptor> findMethod(Segment segment, UniqueId parentId, BenchmarkClass benchmarkClass) { return benchmarkClass.getChildren().stream() // .filter(MethodAware.class::isInstance) // .filter(it -> { Method method = ((MethodAware) it).getMethod(); String id = BenchmarkMethodDescriptor.describeMethodId(method); return segment.getValue().equals(id); }) // .map(it -> createDescriptor(parentId, it)) // .findFirst(); }
@Override public Optional<TestDescriptor> resolveUniqueId(UniqueId.Segment segment, TestDescriptor parent) { if (!segment.getType().equals(SEGMENT_TYPE)) { return Optional.empty(); } if (!requiredParentType().isInstance(parent)) { return Optional.empty(); } String className = getClassName(parent, segment.getValue()); Optional<Class<?>> optionalContainerClass = ReflectionUtils.loadClass(className); if (!optionalContainerClass.isPresent()) { return Optional.empty(); } Class<?> containerClass = optionalContainerClass.get(); if (!isPotentialCandidate(containerClass)) { return Optional.empty(); } UniqueId uniqueId = createUniqueId(containerClass, parent); return Optional.of(resolveClass(containerClass, uniqueId)); }
@Override public Optional<TestDescriptor> resolveUniqueId(Segment segment, TestDescriptor parent) { if (!segment.getType().equals(SEGMENT_TYPE)) { return Optional.empty(); } if (!(parent instanceof ParametrizedBenchmarkMethodDescriptor)) { return Optional.empty(); } ParametrizedBenchmarkMethodDescriptor parentDescriptor = (ParametrizedBenchmarkMethodDescriptor) parent; return findTestDescriptor(segment.getValue(), parentDescriptor.getUniqueId(), parentDescriptor.getParametrizedMethod()); }
public static Condition<ExecutionEvent> uniqueIdSubstring(String uniqueIdSubstring) { Predicate<UniqueId.Segment> predicate = segment -> { String text = segment.getType() + ":" + segment.getValue(); return text.contains(uniqueIdSubstring); }; return new Condition<>( byTestDescriptor( where(TestDescriptor::getUniqueId, uniqueId -> uniqueId.getSegments().stream().anyMatch(predicate))), "descriptor with uniqueId substring \"%s\"", uniqueIdSubstring); }
private void writeXmlReportInCaseOfRoot(TestIdentifier testIdentifier) { if (isRoot(testIdentifier)) { String rootName = UniqueId.parse(testIdentifier.getUniqueId()).getSegments().get(0).getValue(); writeXmlReportSafely(testIdentifier, rootName); } }
private String describe(Segment segment) { String body = encode(segment.getType()) + typeValueSeparator + encode(segment.getValue()); return openSegment + body + closeSegment; }
private Optional<Method> findMethod(UniqueId.Segment segment, ClassTestDescriptor parent) { return methodFinder.findMethod(segment.getValue(), parent.getTestClass()); }