Skip to content

Commit 04354f3

Browse files
chore(internal): refactor ServiceParamsTest (#257)
1 parent cd2cb7c commit 04354f3

File tree

1 file changed

+15
-139
lines changed

1 file changed

+15
-139
lines changed

openai-java-core/src/test/kotlin/com/openai/services/ServiceParamsTest.kt

Lines changed: 15 additions & 139 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
package com.openai.services
44

5-
import com.fasterxml.jackson.databind.json.JsonMapper
65
import com.github.tomakehurst.wiremock.client.WireMock.anyUrl
76
import com.github.tomakehurst.wiremock.client.WireMock.equalTo
87
import com.github.tomakehurst.wiremock.client.WireMock.matchingJsonPath
@@ -16,23 +15,16 @@ import com.github.tomakehurst.wiremock.junit5.WireMockTest
1615
import com.openai.client.OpenAIClient
1716
import com.openai.client.okhttp.OpenAIOkHttpClient
1817
import com.openai.core.JsonValue
19-
import com.openai.core.jsonMapper
20-
import com.openai.models.ChatCompletion
21-
import com.openai.models.ChatCompletionAudio
2218
import com.openai.models.ChatCompletionAudioParam
2319
import com.openai.models.ChatCompletionCreateParams
2420
import com.openai.models.ChatCompletionDeveloperMessageParam
25-
import com.openai.models.ChatCompletionMessage
26-
import com.openai.models.ChatCompletionMessageToolCall
2721
import com.openai.models.ChatCompletionModality
2822
import com.openai.models.ChatCompletionPredictionContent
2923
import com.openai.models.ChatCompletionReasoningEffort
3024
import com.openai.models.ChatCompletionStreamOptions
31-
import com.openai.models.ChatCompletionTokenLogprob
3225
import com.openai.models.ChatCompletionTool
3326
import com.openai.models.ChatCompletionToolChoiceOption
3427
import com.openai.models.ChatModel
35-
import com.openai.models.CompletionUsage
3628
import com.openai.models.FunctionDefinition
3729
import com.openai.models.FunctionParameters
3830
import com.openai.models.Metadata
@@ -41,38 +33,25 @@ import org.junit.jupiter.api.BeforeEach
4133
import org.junit.jupiter.api.Test
4234

4335
@WireMockTest
44-
class ServiceParamsTest {
45-
46-
private val JSON_MAPPER: JsonMapper = jsonMapper()
36+
internal class ServiceParamsTest {
4737

4838
private lateinit var client: OpenAIClient
4939

5040
@BeforeEach
5141
fun beforeEach(wmRuntimeInfo: WireMockRuntimeInfo) {
5242
client =
5343
OpenAIOkHttpClient.builder()
44+
.baseUrl(wmRuntimeInfo.httpBaseUrl)
5445
.apiKey("My API Key")
55-
.organization("My Organization")
56-
.project("My Project")
57-
.baseUrl(wmRuntimeInfo.getHttpBaseUrl())
5846
.build()
5947
}
6048

6149
@Test
62-
fun completionsCreateWithAdditionalParams() {
63-
val additionalHeaders = mutableMapOf<String, List<String>>()
64-
65-
additionalHeaders.put("x-test-header", listOf("abc1234"))
66-
67-
val additionalQueryParams = mutableMapOf<String, List<String>>()
68-
69-
additionalQueryParams.put("test_query_param", listOf("def567"))
70-
71-
val additionalBodyProperties = mutableMapOf<String, JsonValue>()
50+
fun create() {
51+
val completionService = client.chat().completions()
52+
stubFor(post(anyUrl()).willReturn(ok("{}")))
7253

73-
additionalBodyProperties.put("testBodyProperty", JsonValue.from("ghi890"))
74-
75-
val params =
54+
completionService.create(
7655
ChatCompletionCreateParams.builder()
7756
.addMessage(
7857
ChatCompletionDeveloperMessageParam.builder()
@@ -146,120 +125,17 @@ class ServiceParamsTest {
146125
.topLogprobs(0L)
147126
.topP(1.0)
148127
.user("user-1234")
149-
.additionalHeaders(additionalHeaders)
150-
.additionalBodyProperties(additionalBodyProperties)
151-
.additionalQueryParams(additionalQueryParams)
128+
.putAdditionalHeader("Secret-Header", "42")
129+
.putAdditionalQueryParam("secret_query_param", "42")
130+
.putAdditionalBodyProperty("secretProperty", JsonValue.from("42"))
152131
.build()
153-
154-
val apiResponse =
155-
ChatCompletion.builder()
156-
.id("id")
157-
.addChoice(
158-
ChatCompletion.Choice.builder()
159-
.finishReason(ChatCompletion.Choice.FinishReason.STOP)
160-
.index(0L)
161-
.logprobs(
162-
ChatCompletion.Choice.Logprobs.builder()
163-
.addContent(
164-
ChatCompletionTokenLogprob.builder()
165-
.token("token")
166-
.addByte(0L)
167-
.logprob(0.0)
168-
.addTopLogprob(
169-
ChatCompletionTokenLogprob.TopLogprob.builder()
170-
.token("token")
171-
.addByte(0L)
172-
.logprob(0.0)
173-
.build()
174-
)
175-
.build()
176-
)
177-
.addRefusal(
178-
ChatCompletionTokenLogprob.builder()
179-
.token("token")
180-
.addByte(0L)
181-
.logprob(0.0)
182-
.addTopLogprob(
183-
ChatCompletionTokenLogprob.TopLogprob.builder()
184-
.token("token")
185-
.addByte(0L)
186-
.logprob(0.0)
187-
.build()
188-
)
189-
.build()
190-
)
191-
.build()
192-
)
193-
.message(
194-
ChatCompletionMessage.builder()
195-
.content("content")
196-
.refusal("refusal")
197-
.audio(
198-
ChatCompletionAudio.builder()
199-
.id("id")
200-
.data("data")
201-
.expiresAt(0L)
202-
.transcript("transcript")
203-
.build()
204-
)
205-
.functionCall(
206-
ChatCompletionMessage.FunctionCall.builder()
207-
.arguments("arguments")
208-
.name("name")
209-
.build()
210-
)
211-
.addToolCall(
212-
ChatCompletionMessageToolCall.builder()
213-
.id("id")
214-
.function(
215-
ChatCompletionMessageToolCall.Function.builder()
216-
.arguments("arguments")
217-
.name("name")
218-
.build()
219-
)
220-
.build()
221-
)
222-
.build()
223-
)
224-
.build()
225-
)
226-
.created(0L)
227-
.model("model")
228-
.serviceTier(ChatCompletion.ServiceTier.SCALE)
229-
.systemFingerprint("system_fingerprint")
230-
.usage(
231-
CompletionUsage.builder()
232-
.completionTokens(0L)
233-
.promptTokens(0L)
234-
.totalTokens(0L)
235-
.completionTokensDetails(
236-
CompletionUsage.CompletionTokensDetails.builder()
237-
.acceptedPredictionTokens(0L)
238-
.audioTokens(0L)
239-
.reasoningTokens(0L)
240-
.rejectedPredictionTokens(0L)
241-
.build()
242-
)
243-
.promptTokensDetails(
244-
CompletionUsage.PromptTokensDetails.builder()
245-
.audioTokens(0L)
246-
.cachedTokens(0L)
247-
.build()
248-
)
249-
.build()
250-
)
251-
.build()
252-
253-
stubFor(
254-
post(anyUrl())
255-
.withHeader("x-test-header", equalTo("abc1234"))
256-
.withQueryParam("test_query_param", equalTo("def567"))
257-
.withRequestBody(matchingJsonPath("$.testBodyProperty", equalTo("ghi890")))
258-
.willReturn(ok(JSON_MAPPER.writeValueAsString(apiResponse)))
259132
)
260133

261-
client.chat().completions().create(params)
262-
263-
verify(postRequestedFor(anyUrl()))
134+
verify(
135+
postRequestedFor(anyUrl())
136+
.withHeader("Secret-Header", equalTo("42"))
137+
.withQueryParam("secret_query_param", equalTo("42"))
138+
.withRequestBody(matchingJsonPath("$.secretProperty", equalTo("42")))
139+
)
264140
}
265141
}

0 commit comments

Comments
 (0)