From be06d36a96bf2dd1e1fa54c2faa38d6142b34901 Mon Sep 17 00:00:00 2001 From: Benjamin Eckstein <13351939+benjamineckstein@users.noreply.github.com> Date: Thu, 6 Feb 2020 11:50:06 +0100 Subject: [PATCH] TSK-991: Make archunit tests more readable --- .../java/pro/taskana/ArchitectureTest.java | 76 +++++++++---------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/lib/taskana-core/src/test/java/pro/taskana/ArchitectureTest.java b/lib/taskana-core/src/test/java/pro/taskana/ArchitectureTest.java index 6978f15ce..db4f3a203 100644 --- a/lib/taskana-core/src/test/java/pro/taskana/ArchitectureTest.java +++ b/lib/taskana-core/src/test/java/pro/taskana/ArchitectureTest.java @@ -11,9 +11,7 @@ import com.tngtech.archunit.core.domain.JavaClasses; import com.tngtech.archunit.core.importer.ClassFileImporter; import com.tngtech.archunit.core.importer.ImportOption.DoNotIncludeTests; import com.tngtech.archunit.lang.ArchRule; -import java.util.Collection; import java.util.regex.Pattern; -import java.util.stream.Collectors; import java.util.stream.Stream; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Disabled; @@ -99,7 +97,7 @@ class ArchitectureTest { * https://www.archunit.org/userguide/html/000_Index.html#_cycle_checks */ @TestFactory - Collection freeOfCycles_subpackages() { + Stream freeOfCycles_subpackages() { Stream packagesToTest = Stream.of( @@ -116,54 +114,56 @@ class ArchitectureTest { "pro.taskana.task.internal.(*)..", "pro.taskana.workbasket.api.(*)..", "pro.taskana.workbasket.internal.(*).."); - return packagesToTest - .map( - p -> - dynamicTest( - p.replaceAll(Pattern.quote("pro.taskana."), "") + " is free of cycles", - () -> slices().matching(p).should().beFreeOfCycles().check(importedClasses))) - .collect(Collectors.toList()); + return packagesToTest.map( + p -> + dynamicTest( + p.replaceAll(Pattern.quote("pro.taskana."), "") + " is free of cycles", + () -> slices().matching(p).should().beFreeOfCycles().check(importedClasses))); } @Disabled("TBD") - @Test - void commonClassesShouldNotDependOnOtherDomainClasses() { - ArchRule myRule = - noClasses() - .that() - .resideInAPackage("..common..") - .should() - .dependOnClassesThat() - .resideInAnyPackage( - "..classification..", "..history..", "..report..", "..task..", "..workbasket.."); - myRule.check(importedClasses); + @TestFactory + Stream commonClassesShouldNotDependOnOtherDomainClasses() { + + Stream packagesToTest = + Stream.of("..workbasket..", "..report..", "..history..", "..task..", "..classification.."); + return packagesToTest.map( + p -> + dynamicTest( + p.replaceAll(Pattern.quote("."), "") + " should not be used by common", + () -> + noClasses() + .that() + .resideInAPackage("..common..") + .should() + .dependOnClassesThat() + .resideInAPackage(p) + .check(importedClasses))); } @TestFactory - Collection classesShouldNotDependOnReportDomainClasses() { + Stream classesShouldNotDependOnReportDomainClasses() { Stream packagesToTest = Stream.of( "..workbasket..", "..history..", "..task..", + // TBD + // "..common..", "..classification.."); - return packagesToTest - .map( - p -> - dynamicTest( - "Domain " - + p.replaceAll(Pattern.quote("."), "") - + " should not depend on reports", - () -> - noClasses() - .that() - .resideInAPackage(p) - .should() - .dependOnClassesThat() - .resideInAnyPackage("..report..") - .check(importedClasses))) - .collect(Collectors.toList()); + return packagesToTest.map( + p -> + dynamicTest( + "Domain " + p.replaceAll(Pattern.quote("."), "") + " should not depend on reports", + () -> + noClasses() + .that() + .resideInAPackage(p) + .should() + .dependOnClassesThat() + .resideInAnyPackage("..report..") + .check(importedClasses))); } @Disabled