31 lines
1.2 KiB
Kotlin
31 lines
1.2 KiB
Kotlin
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")
|
|
}
|
|
}
|