Skip to content

Commit 37853fd

Browse files
authored
improve junit platform integration (fixes allure-framework#189, fixes allure-framework#180, via allure-framework#261)
1 parent 0c22d7b commit 37853fd

34 files changed

Lines changed: 987 additions & 490 deletions

File tree

allure-cucumber3-jvm/src/main/java/io/qameta/allure/cucumber3jvm/AllureCucumber3Jvm.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,6 @@ private String getHistoryId(final TestCase testCase) {
217217
return Utils.md5(testCaseLocation);
218218
}
219219

220-
@SuppressWarnings("ReturnCount")
221220
private Status translateTestCaseStatus(final Result testCaseResult) {
222221
switch (testCaseResult.getStatus()) {
223222
case FAILED:
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package io.qameta.allure.test;
2+
3+
import io.qameta.allure.model.Label;
4+
import io.qameta.allure.model.Status;
5+
import io.qameta.allure.model.TestResult;
6+
7+
import java.util.Objects;
8+
import java.util.function.Predicate;
9+
10+
/**
11+
* @author charlie (Dmitry Baev).
12+
*/
13+
@SuppressWarnings({"PMD.ClassNamingConventions", "PMD.LinguisticNaming"})
14+
public final class AllurePredicates {
15+
16+
private AllurePredicates() {
17+
throw new IllegalStateException("Do not instance");
18+
}
19+
20+
public static Predicate<TestResult> hasStatus(final Status status) {
21+
return testResult -> status.equals(testResult.getStatus());
22+
}
23+
24+
public static Predicate<TestResult> hasLabel(final String name, final String value) {
25+
final Predicate<Label> labelPredicate = label -> Objects.equals(label.getName(), name)
26+
&& Objects.equals(label.getValue(), value);
27+
28+
return testResult -> testResult.getLabels().stream().anyMatch(labelPredicate);
29+
}
30+
}

allure-java-commons/src/main/java/io/qameta/allure/util/AspectUtils.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ public static Map<String, Object> getParametersMap(final MethodSignature signatu
4141
return params;
4242
}
4343

44-
@SuppressWarnings("ReturnCount")
4544
public static String objectToString(final Object object) {
4645
try {
4746
if (Objects.nonNull(object) && (object instanceof Object[])) {

allure-java-commons/src/main/java/io/qameta/allure/util/NamingUtils.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ public static String processNameTemplate(final String template, final Map<String
4242
return sb.toString();
4343
}
4444

45-
@SuppressWarnings("ReturnCount")
4645
private static Optional<String> processPattern(final String pattern, final Map<String, Object> params) {
4746
if (pattern.isEmpty()) {
4847
LOGGER.error("Could not process empty pattern");

allure-java-commons/src/main/java/io/qameta/allure/util/ResultsUtils.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ public final class ResultsUtils {
5858
public static final String ISSUE_LINK_TYPE = "issue";
5959
public static final String TMS_LINK_TYPE = "tms";
6060

61+
public static final String SUITE_LABEL_NAME = "suite";
6162
public static final String EPIC_LABEL_NAME = "epic";
6263
public static final String FEATURE_LABEL_NAME = "feature";
6364
public static final String STORY_LABEL_NAME = "story";
@@ -66,6 +67,9 @@ public final class ResultsUtils {
6667
public static final String OWNER_LABEL_NAME = "owner";
6768
public static final String HOST_LABEL_NAME = "host";
6869
public static final String THREAD_LABEL_NAME = "thread";
70+
public static final String TEST_METHOD_LABEL_NAME = "testMethod";
71+
public static final String TEST_CLASS_LABEL_NAME = "testClass";
72+
public static final String PACKAGE_LABEL_NAME = "package";
6973

7074
private static final Logger LOGGER = LoggerFactory.getLogger(ResultsUtils.class);
7175
private static final String ALLURE_DESCRIPTIONS_PACKAGE = "allureDescriptions/";
@@ -77,6 +81,22 @@ private ResultsUtils() {
7781
throw new IllegalStateException("Do not instance");
7882
}
7983

84+
public static Label createSuiteLabel(final String suite) {
85+
return new Label().setName(SUITE_LABEL_NAME).setValue(suite);
86+
}
87+
88+
public static Label createTestMethodLabel(final String testMethod) {
89+
return new Label().setName(TEST_METHOD_LABEL_NAME).setValue(testMethod);
90+
}
91+
92+
public static Label createTestClassLabel(final String testClass) {
93+
return new Label().setName(TEST_CLASS_LABEL_NAME).setValue(testClass);
94+
}
95+
96+
public static Label createPackageLabel(final String packageName) {
97+
return new Label().setName(PACKAGE_LABEL_NAME).setValue(packageName);
98+
}
99+
80100
public static Label createEpicLabel(final String epic) {
81101
return new Label().setName(EPIC_LABEL_NAME).setValue(epic);
82102
}
@@ -301,6 +321,9 @@ public static void processDescription(final ClassLoader classLoader,
301321

302322
private static Optional<String> readResource(final ClassLoader classLoader, final String resourceName) {
303323
try (InputStream is = classLoader.getResourceAsStream(resourceName)) {
324+
if (Objects.isNull(is)) {
325+
return Optional.empty();
326+
}
304327
final byte[] bytes = IOUtils.toByteArray(is);
305328
return Optional.of(new String(bytes, StandardCharsets.UTF_8));
306329
} catch (IOException e) {

allure-jsonunit/src/main/java/io/qameta/allure/jsonunit/JsonPatchListener.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ public DifferenceContext getContext() {
3838
return context;
3939
}
4040

41-
@SuppressWarnings("ReturnCount")
4241
private String getPath(final Difference difference) {
4342
switch (difference.getType()) {
4443
case DIFFERENT:

allure-junit-platform/build.gradle.kts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,17 @@ val agent by configurations.creating
44

55
dependencies {
66
agent("org.aspectj:aspectjweaver")
7-
compile(project(":allure-java-commons"))
87
compile("org.junit.jupiter:junit-jupiter-api")
98
compile("org.junit.platform:junit-platform-launcher")
10-
testCompile(project(":allure-java-commons-test"))
9+
compile(project(":allure-java-commons"))
10+
testAnnotationProcessor(project(":allure-descriptions-javadoc"))
11+
testCompile("io.github.glytching:junit-extensions")
1112
testCompile("org.assertj:assertj-core")
1213
testCompile("org.junit.jupiter:junit-jupiter-api")
1314
testCompile("org.junit.jupiter:junit-jupiter-params")
1415
testCompile("org.slf4j:slf4j-simple")
16+
testCompile(project(":allure-assertj"))
17+
testCompile(project(":allure-java-commons-test"))
1518
testRuntime("org.junit.jupiter:junit-jupiter-engine")
1619
}
1720

@@ -27,6 +30,7 @@ tasks.named<Jar>("jar") {
2730
}
2831

2932
tasks.named<Test>("test") {
33+
systemProperty("junit.jupiter.execution.parallel.enabled", "false")
3034
useJUnitPlatform()
3135
exclude("**/features/*")
3236
doFirst {

0 commit comments

Comments
 (0)