From 19fb09c591788915434065ad5bc6f479da4a307c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Mino?= Date: Mon, 22 Apr 2024 11:15:51 +0200 Subject: [PATCH] New archunit test to verify that shared package only contains shared kernels --- .../test/HexagonalArchTest.java.mustache | 17 +++++++++++++++++ .../tech/jhipster/lite/HexagonalArchTest.java | 17 +++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/src/main/resources/generator/server/javatool/archunit/test/HexagonalArchTest.java.mustache b/src/main/resources/generator/server/javatool/archunit/test/HexagonalArchTest.java.mustache index efcde0d7642..cc1dc3a9455 100644 --- a/src/main/resources/generator/server/javatool/archunit/test/HexagonalArchTest.java.mustache +++ b/src/main/resources/generator/server/javatool/archunit/test/HexagonalArchTest.java.mustache @@ -252,6 +252,23 @@ class HexagonalArchTest { } } + @Nested + class SharedKernels { + + @Test + void sharedPackageShouldOnlyContainSharedKernels() { + classes() + .that() + .haveSimpleName("package-info") + .and() + .resideInAPackage(ROOT_PACKAGE.concat(".shared..")) + .should() + .beMetaAnnotatedWith(SharedKernel.class) + .because(ROOT_PACKAGE + ".shared package should only contain shared kernels") + .check(classes); + } + } + @Nested class Wire { diff --git a/src/test/java/tech/jhipster/lite/HexagonalArchTest.java b/src/test/java/tech/jhipster/lite/HexagonalArchTest.java index 882d281b766..8fb06030563 100644 --- a/src/test/java/tech/jhipster/lite/HexagonalArchTest.java +++ b/src/test/java/tech/jhipster/lite/HexagonalArchTest.java @@ -247,6 +247,23 @@ void shouldNotDependOnSameContextPrimary() { } } + @Nested + class SharedKernels { + + @Test + void sharedPackageShouldOnlyContainSharedKernels() { + classes() + .that() + .haveSimpleName("package-info") + .and() + .resideInAPackage(ROOT_PACKAGE.concat(".shared..")) + .should() + .beMetaAnnotatedWith(SharedKernel.class) + .because(ROOT_PACKAGE + ".shared package should only contain shared kernels") + .check(classes); + } + } + @Nested class Wire {