fix: fix HexagonalArchitectureTest

This commit is contained in:
2026-08-06 19:23:47 +02:00
parent 5e9587b93f
commit 07983dc5b0
@@ -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)
}
}
}