From 053561ed48bec9f0e94ada136ed8f4348ba1af1c Mon Sep 17 00:00:00 2001 From: Marcelo Shima Date: Sat, 22 Jan 2022 08:53:43 -0300 Subject: [PATCH] Fix TechnicalStructureTest for no database. --- .../test/java/package/TechnicalStructureTest.java.ejs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/generators/server/templates/src/test/java/package/TechnicalStructureTest.java.ejs b/generators/server/templates/src/test/java/package/TechnicalStructureTest.java.ejs index 114b4e52935..9439c4b30dc 100644 --- a/generators/server/templates/src/test/java/package/TechnicalStructureTest.java.ejs +++ b/generators/server/templates/src/test/java/package/TechnicalStructureTest.java.ejs @@ -30,6 +30,7 @@ import static com.tngtech.archunit.library.Architectures.layeredArchitecture; @AnalyzeClasses(packagesOf = <%= mainClass %>.class, importOptions = DoNotIncludeTests.class) class TechnicalStructureTest { + // prettier-ignore @ArchTest static final ArchRule respectsTechnicalArchitectureLayers = layeredArchitecture() .layer("Config").definedBy("..config..") @@ -37,10 +38,14 @@ class TechnicalStructureTest { .layer("Client").definedBy("..client..") <%_ } _%> .layer("Web").definedBy("..web..") +<%_ if (!databaseTypeNo || authenticationTypeOauth2) { _%> .layer("Service").definedBy("..service..") +<%_ } _%> .layer("Security").definedBy("..security..") +<%_ if (!databaseTypeNo) { _%> .layer("Persistence").definedBy("..repository..") .layer("Domain").definedBy("..domain..") +<%_ } _%> <%_ if (messageBrokerKafka) { _%> .whereLayer("Config").mayOnlyBeAccessedByLayers("Web") @@ -51,10 +56,14 @@ class TechnicalStructureTest { .whereLayer("Client").mayNotBeAccessedByAnyLayer() <%_ } _%> .whereLayer("Web").mayOnlyBeAccessedByLayers("Config") +<%_ if (!databaseTypeNo || authenticationTypeOauth2) { _%> .whereLayer("Service").mayOnlyBeAccessedByLayers("Web", "Config") - .whereLayer("Security").mayOnlyBeAccessedByLayers(<% if (applicationTypeMicroservice) { %>"Client", <% } %>"Web", "Service", "Config") +<%_ } _%> + .whereLayer("Security").mayOnlyBeAccessedByLayers(<% if (applicationTypeMicroservice) { %>"Client", <% } %>"Web"<% if (!databaseTypeNo || authenticationTypeOauth2) { %>, "Service"<% } %>, "Config") +<%_ if (!databaseTypeNo) { _%> .whereLayer("Persistence").mayOnlyBeAccessedByLayers("Service", "Security", "Web", "Config") .whereLayer("Domain").mayOnlyBeAccessedByLayers("Persistence", "Service", "Security", "Web", "Config") +<%_ } _%> .ignoreDependency(belongToAnyOf(<%= mainClass %>.class), alwaysTrue()); }