/
developer.bami
/
DFM
Обзор
Документация
Войти
/
developer.bami
/
DFM
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
v1/src/test/java/com/bami/dfm/TechnicalStructureTest.java
38 строк
2 KB
Michael
Initial version of dfm generated by generator-jhipster@8.0.0-beta.1
28 янв 2024, 15:02
28 янв 2024, 15:02
a03b62a
Код
Авторство
О чём код?
package com.bami.dfm; import static com.tngtech.archunit.base.DescribedPredicate.alwaysTrue; import static com.tngtech.archunit.core.domain.JavaClass.Predicates.belongToAnyOf; import static com.tngtech.archunit.library.Architectures.layeredArchitecture; import com.tngtech.archunit.core.importer.ImportOption.DoNotIncludeTests; import com.tngtech.archunit.junit.AnalyzeClasses; import com.tngtech.archunit.junit.ArchTest; import com.tngtech.archunit.lang.ArchRule; @AnalyzeClasses(packagesOf = DfmApp.class, importOptions = DoNotIncludeTests.class) class TechnicalStructureTest { // prettier-ignore @ArchTest static final ArchRule respectsTechnicalArchitectureLayers = layeredArchitecture() .consideringAllDependencies() .layer("Config").definedBy("..config..") .layer("Web").definedBy("..web..") .optionalLayer("Service").definedBy("..service..") .layer("Security").definedBy("..security..") .layer("Persistence").definedBy("..repository..") .layer("Domain").definedBy("..domain..") .whereLayer("Config").mayNotBeAccessedByAnyLayer() .whereLayer("Web").mayOnlyBeAccessedByLayers("Config") .whereLayer("Service").mayOnlyBeAccessedByLayers("Web", "Config") .whereLayer("Security").mayOnlyBeAccessedByLayers("Config", "Service", "Web") .whereLayer("Persistence").mayOnlyBeAccessedByLayers("Service", "Security", "Web", "Config") .whereLayer("Domain").mayOnlyBeAccessedByLayers("Persistence", "Service", "Security", "Web", "Config") .ignoreDependency(belongToAnyOf(DfmApp.class), alwaysTrue()) .ignoreDependency(alwaysTrue(), belongToAnyOf( com.bami.dfm.config.Constants.class, com.bami.dfm.config.ApplicationProperties.class )); }