Skip to content

Commit

Permalink
Merge pull request #17644 from mshima/skip_ci-layers
Browse files Browse the repository at this point in the history
Fix TechnicalStructureTest for no database.
  • Loading branch information
DanielFran authored Jan 22, 2022
2 parents fc71760 + 053561e commit 08034c4
Showing 1 changed file with 10 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,22 @@ 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..")
<%_ if (applicationTypeMicroservice) { _%>
.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")
Expand All @@ -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());
}

0 comments on commit 08034c4

Please sign in to comment.