fix: fix HexagonalArchitectureTest
This commit is contained in:
@@ -6,12 +6,13 @@ import com.tngtech.archunit.library.Architectures.layeredArchitecture
|
||||
import org.junit.jupiter.api.Test
|
||||
|
||||
/**
|
||||
* Vérifie le respect des frontières de l'architecture hexagonale (ports & adapters).
|
||||
* Vérifie le respect des frontières de l'architecture hexagonale (ports & adapters),
|
||||
* pour chaque bounded context sous `eventDemo.contexts`.
|
||||
*
|
||||
* Convention attendue :
|
||||
* eventDemo.contexts.uno.domain
|
||||
* eventDemo.contexts.uno.application
|
||||
* eventDemo.contexts.uno.infrastructure
|
||||
* Convention attendue, pour un contexte donné :
|
||||
* eventDemo.contexts.<context>.domain
|
||||
* eventDemo.contexts.<context>.application
|
||||
* eventDemo.contexts.<context>.infrastructure
|
||||
*
|
||||
* Règles imposées :
|
||||
* – domain → ne dépend d'aucune autre couche (ni application, ni infrastructure)
|
||||
@@ -19,15 +20,19 @@ import org.junit.jupiter.api.Test
|
||||
* – infrastructure → ne dépend que de domain et application
|
||||
*/
|
||||
class HexagonalArchitectureTest {
|
||||
private val basePackage = "eventDemo.contexts.uno"
|
||||
private val rootPackage = "eventDemo.contexts"
|
||||
private val contexts = listOf("auth", "game")
|
||||
|
||||
private val classes =
|
||||
ClassFileImporter()
|
||||
.withImportOption(ImportOption.Predefined.DO_NOT_INCLUDE_TESTS)
|
||||
.importPackages(basePackage)
|
||||
.importPackages(rootPackage)
|
||||
|
||||
@Test
|
||||
fun `respecte les couches de l'architecture hexagonale`() {
|
||||
contexts.forEach { context ->
|
||||
val basePackage = "$rootPackage.$context"
|
||||
|
||||
@Suppress("ktlint:standard:chain-method-continuation")
|
||||
layeredArchitecture()
|
||||
.consideringAllDependencies()
|
||||
@@ -40,3 +45,4 @@ class HexagonalArchitectureTest {
|
||||
.check(classes)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user