Skip to content

Commit 36f7647

Browse files
authored
fix(test): Pass systemMessage as a parameter in test methods (#391)
# fix(test): Pass `systemMessage` as a parameter in test methods Update SpringAi tests to pass `systemMessage` dynamically
1 parent 9f3c3ad commit 36f7647

File tree

9 files changed

+21
-20
lines changed

9 files changed

+21
-20
lines changed

ai-mocks-gemini/src/jvmTest/kotlin/me/kpavlov/aimocks/gemini/springai/AbstractSpringAiTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ internal abstract class AbstractSpringAiTest : AbstractMockGeminiTest() {
1717
.build(),
1818
).build()
1919

20-
protected fun prepareClientRequest(): ChatClient.ChatClientRequestSpec =
20+
protected fun prepareClientRequest(systemMessage: String): ChatClient.ChatClientRequestSpec =
2121
chatClient
2222
.prompt()
23-
.system("You are a helpful pirate. $seedValue")
23+
.system(systemMessage)
2424
.user("Just say 'Hello!'")
2525
.options(
2626
VertexAiGeminiChatOptions

ai-mocks-gemini/src/jvmTest/kotlin/me/kpavlov/aimocks/gemini/springai/ChatCompletionSpringAiTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ internal class ChatCompletionSpringAiTest : AbstractSpringAiTest() {
2525
}
2626

2727
val response: ChatResponse? =
28-
prepareClientRequest()
28+
prepareClientRequest(systemMessage)
2929
.call()
3030
.chatResponse()
3131

ai-mocks-gemini/src/jvmTest/kotlin/me/kpavlov/aimocks/gemini/springai/StreamingChatCompletionSpringAiTest.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,14 @@ import kotlin.time.toJavaDuration
1616
internal class StreamingChatCompletionSpringAiTest : AbstractSpringAiTest() {
1717
@Test
1818
fun `Should respond with stream to generateContentStream`() {
19+
val systemMessage = "You are a helpful pirate. $seedValue"
1920
gemini
2021
.generateContentStream {
2122
temperature = temperatureValue
2223
model = modelName
2324
project = projectId
2425
location = locationId
25-
systemMessageContains("You are a helpful pirate")
26+
systemMessageContains(systemMessage)
2627
userMessageContains("Just say 'Hello!'")
2728
}.respondsStream(sse = false) {
2829
responseFlow =
@@ -39,7 +40,7 @@ internal class StreamingChatCompletionSpringAiTest : AbstractSpringAiTest() {
3940

4041
val buffer = StringBuffer()
4142
val chunkCount =
42-
prepareClientRequest()
43+
prepareClientRequest(systemMessage)
4344
.stream()
4445
.chatResponse()
4546
.doOnNext { chunk ->

ai-mocks-ollama/src/jvmTest/kotlin/me/kpavlov/aimocks/ollama/springai/AbstractSpringAiTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ internal val chatClient =
2020
).build()
2121

2222
internal abstract class AbstractSpringAiTest : AbstractMockOllamaTest() {
23-
protected fun prepareClientRequest(): ChatClient.ChatClientRequestSpec =
23+
protected fun prepareClientRequest(systemMessage: String): ChatClient.ChatClientRequestSpec =
2424
chatClient
2525
.prompt()
26-
.system("You are a helpful pirate")
26+
.system(systemMessage)
2727
.user("Just say 'Hello!'")
2828
.options(
2929
OllamaOptions

ai-mocks-ollama/src/jvmTest/kotlin/me/kpavlov/aimocks/ollama/springai/ChatCompletionSpringAiTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ internal class ChatCompletionSpringAiTest : AbstractSpringAiTest() {
2323
}
2424

2525
val response =
26-
prepareClientRequest()
26+
prepareClientRequest("You are a helpful pirate")
2727
.call()
2828
.chatResponse()
2929

ai-mocks-ollama/src/jvmTest/kotlin/me/kpavlov/aimocks/ollama/springai/StreamingChatCompletionSpringAiTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ internal class StreamingChatCompletionSpringAiTest : AbstractSpringAiTest() {
1818
model = modelName
1919
topK = topKValue
2020
topP = topPValue
21-
systemMessageContains("helpful pirate")
21+
systemMessageContains("unhelpful orc")
2222
userMessageContains("say 'Hello!'")
2323
stream = true
2424
} respondsStream {
@@ -36,7 +36,7 @@ internal class StreamingChatCompletionSpringAiTest : AbstractSpringAiTest() {
3636

3737
val buffer = StringBuffer()
3838
val chunkCount =
39-
prepareClientRequest()
39+
prepareClientRequest("You are a unhelpful orc")
4040
.stream()
4141
.chatResponse()
4242
.doOnNext { chatResponse ->

ai-mocks-openai/src/jvmTest/kotlin/me/kpavlov/aimocks/openai/springai/AbstractSpringAiTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ internal val chatClient =
2121
).build()
2222

2323
internal abstract class AbstractSpringAiTest : AbstractMockOpenaiTest() {
24-
protected fun prepareClientRequest(): ChatClient.ChatClientRequestSpec =
24+
protected fun prepareClientRequest(systemPrompt: String): ChatClient.ChatClientRequestSpec =
2525
chatClient
2626
.prompt()
27-
.system("You are a helpful pirate")
27+
.system(systemPrompt)
2828
.user("Just say 'Hello!'")
2929
.options(
3030
OpenAiChatOptions

ai-mocks-openai/src/jvmTest/kotlin/me/kpavlov/aimocks/openai/springai/ChatCompletionSpringAiTest.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,25 +20,25 @@ internal class ChatCompletionSpringAiTest : AbstractSpringAiTest() {
2020
seed = seedValue
2121
model = modelName
2222
maxTokens = maxCompletionTokensValue
23-
systemMessageContains("helpful pirate")
23+
systemMessageContains("helpful merchant")
2424
userMessageContains("say 'Hello!'")
2525
requestMatchesPredicate {
2626
!it.stream
2727
}
2828
} responds {
29-
assistantContent = "Ahoy there, matey! Hello!"
29+
assistantContent = "Hello there! Welcome to our shop! How can I assist you today?"
3030
finishReason = "stop"
3131
}
3232

3333
val response =
34-
prepareClientRequest()
34+
prepareClientRequest("You are a helpful merchant")
3535
.call()
3636
.chatResponse()
3737

3838
response?.result shouldNotBe null
3939
response?.result?.apply {
4040
metadata.finishReason shouldBe "STOP"
41-
output?.text shouldBe "Ahoy there, matey! Hello!"
41+
output.text shouldBe "Hello there! Welcome to our shop! How can I assist you today?"
4242
}
4343
}
4444

@@ -71,11 +71,11 @@ internal class ChatCompletionSpringAiTest : AbstractSpringAiTest() {
7171

7272
val buffer = StringBuffer()
7373
val chunkCount =
74-
prepareClientRequest()
74+
prepareClientRequest("You are a helpful pirate")
7575
.stream()
7676
.chatResponse()
77-
.doOnNext {
78-
it.result.output.text?.let {
77+
.doOnNext { chunk ->
78+
chunk.result.output.text?.let {
7979
buffer.append(it)
8080
}
8181
}.count()

ai-mocks-openai/src/jvmTest/kotlin/me/kpavlov/aimocks/openai/springai/StreamingChatCompletionSpringAiTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ internal class StreamingChatCompletionSpringAiTest : AbstractSpringAiTest() {
3535

3636
val buffer = StringBuffer()
3737
val chunkCount =
38-
prepareClientRequest()
38+
prepareClientRequest("You are a helpful pirate")
3939
.stream()
4040
.chatResponse()
4141
.doOnNext {

0 commit comments

Comments
 (0)