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); + }); + } +}