From e248a2ee06d9e66869bbd2c4e772171308a449ac Mon Sep 17 00:00:00 2001 From: nitrix Date: Sun, 8 Mar 2026 12:05:00 +0100 Subject: [PATCH] Add ArchUnit rule: web adapter must not depend on outbound ports Prevents future regressions where controllers bypass the application layer and access repositories directly. Co-Authored-By: Claude Opus 4.6 --- backend/src/test/java/de/fete/HexagonalArchitectureTest.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/backend/src/test/java/de/fete/HexagonalArchitectureTest.java b/backend/src/test/java/de/fete/HexagonalArchitectureTest.java index fbcba99..90e2124 100644 --- a/backend/src/test/java/de/fete/HexagonalArchitectureTest.java +++ b/backend/src/test/java/de/fete/HexagonalArchitectureTest.java @@ -60,4 +60,9 @@ class HexagonalArchitectureTest { static final ArchRule persistenceMustNotDependOnWeb = noClasses() .that().resideInAPackage("de.fete.adapter.out.persistence..") .should().dependOnClassesThat().resideInAPackage("de.fete.adapter.in.web.."); + + @ArchTest + static final ArchRule webAdapterMustNotDependOnOutboundPorts = noClasses() + .that().resideInAPackage("de.fete.adapter.in.web..") + .should().dependOnClassesThat().resideInAPackage("de.fete.domain.port.out.."); }