From dd5a427d96bff24a925e5b29f6cc13d2912f54a4 Mon Sep 17 00:00:00 2001 From: Seongho Bae Date: Thu, 13 Aug 2026 19:51:15 +0900 Subject: [PATCH] test(config): reproduce implicit repository authority --- ...nfigServerRepositoryAuthorityLiveTest.java | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 config-server/src/test/java/com/xtrmetl/config/ConfigServerRepositoryAuthorityLiveTest.java diff --git a/config-server/src/test/java/com/xtrmetl/config/ConfigServerRepositoryAuthorityLiveTest.java b/config-server/src/test/java/com/xtrmetl/config/ConfigServerRepositoryAuthorityLiveTest.java new file mode 100644 index 00000000..11930902 --- /dev/null +++ b/config-server/src/test/java/com/xtrmetl/config/ConfigServerRepositoryAuthorityLiveTest.java @@ -0,0 +1,34 @@ +package com.xtrmetl.config; + +import org.junit.jupiter.api.Test; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +/** + * Verifies that the runnable Config Server never invents a remote Git repository authority. + */ +class ConfigServerRepositoryAuthorityLiveTest { + + @Test + void missingRepositoryAuthorityFailsClosedWithoutDemoRemote() throws IOException { + String applicationYaml = Files.readString(Path.of("src/main/resources/application.yml")); + + assertTrue( + applicationYaml.contains("uri: ${CONFIG_REPO_URI}"), + "Config Server must require an explicitly supplied CONFIG_REPO_URI" + ); + assertFalse( + applicationYaml.contains("your-repo/config-repo.git"), + "A demo remote must never become a runnable fallback" + ); + assertFalse( + applicationYaml.contains("CONFIG_REPO_URI:https://"), + "Missing repository authority must fail before implicit remote Git access" + ); + } +}