From 381bd1d943a045f77a34881ca308aad75afc8f16 Mon Sep 17 00:00:00 2001 From: Marcel Date: Sun, 7 Jun 2026 15:54:39 +0200 Subject: [PATCH] =?UTF-8?q?test(search):=20NlpPropertiesTest=20=E2=80=94?= =?UTF-8?q?=20validates=20baseUrl=20required=20and=20defaults?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- .../search/NlpPropertiesTest.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 backend/src/test/java/org/raddatz/familienarchiv/search/NlpPropertiesTest.java diff --git a/backend/src/test/java/org/raddatz/familienarchiv/search/NlpPropertiesTest.java b/backend/src/test/java/org/raddatz/familienarchiv/search/NlpPropertiesTest.java new file mode 100644 index 00000000..bb527066 --- /dev/null +++ b/backend/src/test/java/org/raddatz/familienarchiv/search/NlpPropertiesTest.java @@ -0,0 +1,33 @@ +package org.raddatz.familienarchiv.search; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.boot.test.context.runner.ApplicationContextRunner; + +import static org.assertj.core.api.Assertions.assertThat; + +class NlpPropertiesTest { + + @EnableConfigurationProperties(NlpProperties.class) + static class TestConfig {} + + private final ApplicationContextRunner runner = new ApplicationContextRunner() + .withUserConfiguration(TestConfig.class); + + @Test + void failsWhenBaseUrlMissing() { + runner.run(context -> assertThat(context).hasFailed()); + } + + @Test + void bindsBaseUrlAndDefaults() { + runner.withPropertyValues("app.nlp.base-url=http://nlp:8001") + .run(context -> { + assertThat(context).hasNotFailed(); + NlpProperties props = context.getBean(NlpProperties.class); + assertThat(props.getBaseUrl()).isEqualTo("http://nlp:8001"); + assertThat(props.getTimeoutSeconds()).isEqualTo(5); + assertThat(props.getHealthCheckTimeoutSeconds()).isEqualTo(2); + }); + } +}