diff --git a/backend/src/test/kotlin/com/condado/newsletter/service/LlamaConfigurationBindingTest.kt b/backend/src/test/kotlin/com/condado/newsletter/service/LlamaConfigurationBindingTest.kt new file mode 100644 index 0000000..2be9ecf --- /dev/null +++ b/backend/src/test/kotlin/com/condado/newsletter/service/LlamaConfigurationBindingTest.kt @@ -0,0 +1,30 @@ +package com.condado.newsletter.service + +import org.assertj.core.api.Assertions.assertThat +import org.junit.jupiter.api.Test +import org.springframework.beans.factory.annotation.Value +import java.nio.file.Files +import java.nio.file.Path + +class LlamaConfigurationBindingTest { + + @Test + fun should_bindLlamaBaseUrlAndModelWithoutFallback_when_readingServiceValueAnnotations() { + val constructor = LlamaPreviewService::class.java.declaredConstructors.single() + val baseUrlExpression = constructor.parameters[1].getAnnotation(Value::class.java).value + val modelExpression = constructor.parameters[2].getAnnotation(Value::class.java).value + + assertThat(baseUrlExpression).isEqualTo("\${llama.base-url}") + assertThat(modelExpression).isEqualTo("\${llama.model}") + } + + @Test + fun should_referenceEnvironmentPlaceholdersWithoutFallback_when_readingApplicationYaml() { + val yaml = Files.readString(Path.of("src/main/resources/application.yml")) + + assertThat(yaml).contains("base-url: \${LLAMA_BASE_URL}") + assertThat(yaml).contains("model: \${LLAMA_MODEL}") + assertThat(yaml).doesNotContain("LLAMA_BASE_URL:http://localhost:11434") + assertThat(yaml).doesNotContain("LLAMA_MODEL:gemma3:4b") + } +}