Skip to content

Add fine tuning api (#283) #1068

Add fine tuning api (#283)

Add fine tuning api (#283) #1068

GitHub Actions / Test report for succeeded Feb 26, 2025 in 0s

268 passed, 0 failed and 0 skipped

Tests passed successfully

Report Passed Failed Skipped Time
core/target/jvm-2.13/test-reports/TEST-sttp.openai.client.SyncClientSpec.xml 11✅ 720ms
core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.assistants.AssistantsDataSpec.xml 8✅ 62ms
core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.audio.AudioCreationDataSpec.xml 1✅ 7ms
core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.completions.chat.ChatChunkDataSpec.xml 2✅ 17ms
core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.completions.chat.ChatDataSpec.xml 2✅ 110ms
core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.completions.chat.JsonSchemaSpec.xml 4✅ 866ms
core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.completions.CompletionsDataSpec.xml 4✅ 29ms
core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.embeddings.EmbeddingsDataSpec.xml 1✅ 28ms
core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.files.FilesResponseDataSpec.xml 4✅ 14ms
core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.finetuning.FineTuningDataSpec.xml 5✅ 112ms
core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.images.creation.ImageCreationDataSpec.xml 4✅ 19ms
core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.models.ModelsGetResponseDataSpec.xml 1✅ 4ms
core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.moderations.ModerationsDataSpec.xml 2✅ 202ms
core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.threads.messages.ThreadMessagesDataSpec.xml 5✅ 46ms
core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.threads.runs.ThreadRunsDataSpec.xml 13✅ 96ms
core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.threads.ThreadsDataSpec.xml 7✅ 27ms
core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.vectorstore.file.VectorStoreFileDataSpec.xml 6✅ 40ms
core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.vectorstore.VectorStoreDataSpec.xml 6✅ 66ms
core/target/jvm-3/test-reports/TEST-sttp.openai.client.SyncClientSpec.xml 11✅ 303ms
core/target/jvm-3/test-reports/TEST-sttp.openai.requests.assistants.AssistantsDataSpec.xml 8✅ 62ms
core/target/jvm-3/test-reports/TEST-sttp.openai.requests.audio.AudioCreationDataSpec.xml 1✅ 6ms
core/target/jvm-3/test-reports/TEST-sttp.openai.requests.completions.chat.ChatChunkDataSpec.xml 2✅ 19ms
core/target/jvm-3/test-reports/TEST-sttp.openai.requests.completions.chat.ChatDataSpec.xml 2✅ 131ms
core/target/jvm-3/test-reports/TEST-sttp.openai.requests.completions.chat.JsonSchemaSpec.xml 4✅ 666ms
core/target/jvm-3/test-reports/TEST-sttp.openai.requests.completions.CompletionsDataSpec.xml 4✅ 149ms
core/target/jvm-3/test-reports/TEST-sttp.openai.requests.embeddings.EmbeddingsDataSpec.xml 1✅ 10ms
core/target/jvm-3/test-reports/TEST-sttp.openai.requests.files.FilesResponseDataSpec.xml 4✅ 14ms
core/target/jvm-3/test-reports/TEST-sttp.openai.requests.finetuning.FineTuningDataSpec.xml 5✅ 144ms
core/target/jvm-3/test-reports/TEST-sttp.openai.requests.images.creation.ImageCreationDataSpec.xml 4✅ 38ms
core/target/jvm-3/test-reports/TEST-sttp.openai.requests.models.ModelsGetResponseDataSpec.xml 1✅ 12ms
core/target/jvm-3/test-reports/TEST-sttp.openai.requests.moderations.ModerationsDataSpec.xml 2✅ 109ms
core/target/jvm-3/test-reports/TEST-sttp.openai.requests.threads.messages.ThreadMessagesDataSpec.xml 5✅ 56ms
core/target/jvm-3/test-reports/TEST-sttp.openai.requests.threads.runs.ThreadRunsDataSpec.xml 13✅ 69ms
core/target/jvm-3/test-reports/TEST-sttp.openai.requests.threads.ThreadsDataSpec.xml 7✅ 38ms
core/target/jvm-3/test-reports/TEST-sttp.openai.requests.vectorstore.file.VectorStoreFileDataSpec.xml 6✅ 29ms
core/target/jvm-3/test-reports/TEST-sttp.openai.requests.vectorstore.VectorStoreDataSpec.xml 6✅ 30ms
streaming/akka/target/jvm-2.13/test-reports/TEST-sttp.openai.streaming.akka.AkkaClientSpec.xml 12✅ 936ms
streaming/fs2/target/jvm-2.13/test-reports/TEST-sttp.openai.streaming.fs2.Fs2ClientSpec.xml 12✅ 2s
streaming/fs2/target/jvm-3/test-reports/TEST-sttp.openai.streaming.fs2.Fs2ClientSpec.xml 12✅ 1s
streaming/ox/target/jvm-3/test-reports/TEST-sttp.openai.streaming.ox.OxClientSpec.xml 12✅ 812ms
streaming/pekko/target/jvm-2.13/test-reports/TEST-sttp.openai.streaming.pekko.PekkoClientSpec.xml 12✅ 664ms
streaming/pekko/target/jvm-3/test-reports/TEST-sttp.openai.streaming.pekko.PekkoClientSpec.xml 12✅ 690ms
streaming/zio/target/jvm-2.13/test-reports/TEST-sttp.openai.streaming.zio.ZioClientSpec.xml 12✅ 2s
streaming/zio/target/jvm-3/test-reports/TEST-sttp.openai.streaming.zio.ZioClientSpec.xml 12✅ 1s

✅ core/target/jvm-2.13/test-reports/TEST-sttp.openai.client.SyncClientSpec.xml

11 tests were completed in 720ms with 11 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.client.SyncClientSpec 11✅ 720ms

✅ sttp.openai.client.SyncClientSpec

✅ Service response with status code: 429 should return properly deserialized RateLimitException
✅ Service response with status code: 400 should return properly deserialized InvalidRequestException
✅ Service response with status code: 404 should return properly deserialized InvalidRequestException
✅ Service response with status code: 415 should return properly deserialized InvalidRequestException
✅ Service response with status code: 401 should return properly deserialized AuthenticationException
✅ Service response with status code: 403 should return properly deserialized PermissionException
✅ Service response with status code: 409 should return properly deserialized TryAgain
✅ Service response with status code: 503 should return properly deserialized ServiceUnavailableException
✅ Service response with status code: 410 should return properly deserialized APIException
✅ Fetching models with successful response should return properly deserialized list of available models
✅ Customizing the request should be additive

✅ core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.assistants.AssistantsDataSpec.xml

8 tests were completed in 62ms with 8 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.assistants.AssistantsDataSpec 8✅ 62ms

✅ sttp.openai.requests.assistants.AssistantsDataSpec

✅ Given create assistant request should be properly serialized to Json
✅ Given create assistant response as Json should be properly deserialized to case class
✅ Given list assistants response as Json should be properly deserialized to case class
✅ Given list assistant files response as Json should be properly deserialized to case class
✅ Given retrieve assistant response as Json should be properly deserialized to case class
✅ Given modify assistant request should be properly serialized to Json
✅ Given modify assistant response as Json should be properly deserialized to case class
✅ Given delete assistant response as Json should be properly deserialized to case class

✅ core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.audio.AudioCreationDataSpec.xml

1 tests were completed in 7ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.audio.AudioCreationDataSpec 1✅ 7ms

✅ sttp.openai.requests.audio.AudioCreationDataSpec

✅ Given audio generation response as Json should be properly deserialized to case class

✅ core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.completions.chat.ChatChunkDataSpec.xml

2 tests were completed in 17ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.completions.chat.ChatChunkDataSpec 2✅ 17ms

✅ sttp.openai.requests.completions.chat.ChatChunkDataSpec

✅ Given chat chunk completions response as Json should be properly deserialized to case class
✅ Given completions request with streaming enabled as case class should be properly serialized to Json

✅ core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.completions.chat.ChatDataSpec.xml

2 tests were completed in 110ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.completions.chat.ChatDataSpec 2✅ 110ms

✅ sttp.openai.requests.completions.chat.ChatDataSpec

✅ Given chat completions response as Json should be properly deserialized to case class
✅ Given completions request as case class should be properly serialized to Json

✅ core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.completions.chat.JsonSchemaSpec.xml

4 tests were completed in 866ms with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.completions.chat.JsonSchemaSpec 4✅ 866ms

✅ sttp.openai.requests.completions.chat.JsonSchemaSpec

✅ Given string JSON schema should be properly serialized to Json
✅ Given number JSON schema should be properly serialized to Json
✅ Given object JSON schema should be properly serialized to Json
✅ Given array JSON schema should be properly serialized to Json

✅ core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.completions.CompletionsDataSpec.xml

4 tests were completed in 29ms with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.completions.CompletionsDataSpec 4✅ 29ms

✅ sttp.openai.requests.completions.CompletionsDataSpec

✅ Given completions response as Json should be properly deserialized to case class
✅ Given completions request as case class should be properly serialized to Json
✅ Given completions of MultiplePrompt response as Json should be properly deserialized to case class
✅ Given completions of MultiplePrompt request as case class should be properly serialized to Json

✅ core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.embeddings.EmbeddingsDataSpec.xml

1 tests were completed in 28ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.embeddings.EmbeddingsDataSpec 1✅ 28ms

✅ sttp.openai.requests.embeddings.EmbeddingsDataSpec

✅ Given list files response as Json should be properly deserialized to case class

✅ core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.files.FilesResponseDataSpec.xml

4 tests were completed in 14ms with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.files.FilesResponseDataSpec 4✅ 14ms

✅ sttp.openai.requests.files.FilesResponseDataSpec

✅ Given list files response as Json should be properly deserialized to case class
✅ Given upload file response as Json should be properly deserialized to case class
✅ Given delete file response as Json should be properly deserialized to case class
✅ Given retrieve file response as Json should be properly deserialized to case class

✅ core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.finetuning.FineTuningDataSpec.xml

5 tests were completed in 112ms with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.finetuning.FineTuningDataSpec 5✅ 112ms

✅ sttp.openai.requests.finetuning.FineTuningDataSpec

✅ Given create fine tuning job request as case class should be properly serialized to Json
✅ Given create fine tuning job response as Json should be properly deserialized to case class
✅ Given list fine tuning jobs response as Json should be properly deserialized to case class
✅ Given list fine tuning job events response as Json should be properly deserialized to case class
✅ Given list fine tuning job checkpoints response as Json should be properly deserialized to case class

✅ core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.images.creation.ImageCreationDataSpec.xml

4 tests were completed in 19ms with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.images.creation.ImageCreationDataSpec 4✅ 19ms

✅ sttp.openai.requests.images.creation.ImageCreationDataSpec

✅ Given image generation response as Json should be properly deserialized to case class
✅ Given create image request as case class should be properly serialized to Json
✅ Given create image request as case class created with enum values should be properly serialized to Json
✅ Given create image request as case class with different model should be properly serialized to Json

✅ core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.models.ModelsGetResponseDataSpec.xml

1 tests were completed in 4ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.models.ModelsGetResponseDataSpec 1✅ 4ms

✅ sttp.openai.requests.models.ModelsGetResponseDataSpec

✅ Given models response as Json should be properly deserialized to case class

✅ core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.moderations.ModerationsDataSpec.xml

2 tests were completed in 202ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.moderations.ModerationsDataSpec 2✅ 202ms

✅ sttp.openai.requests.moderations.ModerationsDataSpec

✅ Given create moderation response as Json should be properly deserialized to case class
✅ Unknown moderation model in create response should be deserialized to case class

✅ core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.threads.messages.ThreadMessagesDataSpec.xml

5 tests were completed in 46ms with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.threads.messages.ThreadMessagesDataSpec 5✅ 46ms

✅ sttp.openai.requests.threads.messages.ThreadMessagesDataSpec

✅ Given create thread message request as case class should be properly serialized to Json
✅ Given create thread message response as Json should be properly deserialized to case class
✅ Given list messages response as Json should be properly deserialized to case class
✅ Given retrieve message response as Json should be properly deserialized to case class
✅ Given modify message response as Json should be properly deserialized to case class

✅ core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.threads.runs.ThreadRunsDataSpec.xml

13 tests were completed in 96ms with 13 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.threads.runs.ThreadRunsDataSpec 13✅ 96ms

✅ sttp.openai.requests.threads.runs.ThreadRunsDataSpec

✅ Given create thread run request as case class should be properly serialized to Json
✅ Given create thread run response as Json should be properly deserialized to case class
✅ Given create thread and run request as case class should be properly serialized to Json
✅ Given create thread and run response as Json should be properly deserialized to case class
✅ Given list runs response as Json should be properly deserialized to case class
✅ Given list run steps response as Json should be properly deserialized to case class
✅ Given retrieve run response as Json should be properly deserialized to case class
✅ Given retrieve run step response as Json should be properly deserialized to case class
✅ Given modify thread run request as case class should be properly serialized to Json
✅ Given modify run response as Json should be properly deserialized to case class
✅ Given submit tool outputs to run request as case class should be properly serialized to Json
✅ Given submit tool outputs to run response as Json should be properly deserialized to case class
✅ Given cancel run response as Json should be properly deserialized to case class

✅ core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.threads.ThreadsDataSpec.xml

7 tests were completed in 27ms with 7 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.threads.ThreadsDataSpec 7✅ 27ms

✅ sttp.openai.requests.threads.ThreadsDataSpec

✅ Given empty create thread request as case class should be properly serialized to Json
✅ Given create threads request with messages and no attachments should be properly serialized to Json
✅ Given create threads request with messages should be properly serialized to Json
✅ Given create threads request with messages and metadata should be properly serialized to Json
✅ Given create empty thread response as Json should be properly deserialized to case class
✅ Given create thread with messages and metadata response as Json should be properly deserialized to case class
✅ Given delete thread response as Json should be properly deserialized to case class

✅ core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.vectorstore.file.VectorStoreFileDataSpec.xml

6 tests were completed in 40ms with 6 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.vectorstore.file.VectorStoreFileDataSpec 6✅ 40ms

✅ sttp.openai.requests.vectorstore.file.VectorStoreFileDataSpec

✅ Given create vector store file request should be properly serialized to Json
✅ Vector store file search params should be properly serialized to Json
✅ Vector store file response should be properly deserialized from Json
✅ Vector store file response with error should be properly deserialized from Json
✅ Vector store file list response should be properly deserialized from Json
✅ Delete of vector store file response should be properly deserialized from Json

✅ core/target/jvm-2.13/test-reports/TEST-sttp.openai.requests.vectorstore.VectorStoreDataSpec.xml

6 tests were completed in 66ms with 6 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.vectorstore.VectorStoreDataSpec 6✅ 66ms

✅ sttp.openai.requests.vectorstore.VectorStoreDataSpec

✅ Given create vector store request should be properly serialized to Json
✅ Given create vector store request with expires should be properly serialized to Json
✅ Given modify vector store request should be properly serialized to Json
✅ Vector store object should be properly deserialized from Json
✅ List of vector stores should be properly deserialized from Json
✅ Delete of vector stores response should be properly deserialized from Json

✅ core/target/jvm-3/test-reports/TEST-sttp.openai.client.SyncClientSpec.xml

11 tests were completed in 303ms with 11 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.client.SyncClientSpec 11✅ 303ms

✅ sttp.openai.client.SyncClientSpec

✅ Service response with status code: 429 should return properly deserialized RateLimitException
✅ Service response with status code: 400 should return properly deserialized InvalidRequestException
✅ Service response with status code: 404 should return properly deserialized InvalidRequestException
✅ Service response with status code: 415 should return properly deserialized InvalidRequestException
✅ Service response with status code: 401 should return properly deserialized AuthenticationException
✅ Service response with status code: 403 should return properly deserialized PermissionException
✅ Service response with status code: 409 should return properly deserialized TryAgain
✅ Service response with status code: 503 should return properly deserialized ServiceUnavailableException
✅ Service response with status code: 410 should return properly deserialized APIException
✅ Fetching models with successful response should return properly deserialized list of available models
✅ Customizing the request should be additive

✅ core/target/jvm-3/test-reports/TEST-sttp.openai.requests.assistants.AssistantsDataSpec.xml

8 tests were completed in 62ms with 8 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.assistants.AssistantsDataSpec 8✅ 62ms

✅ sttp.openai.requests.assistants.AssistantsDataSpec

✅ Given create assistant request should be properly serialized to Json
✅ Given create assistant response as Json should be properly deserialized to case class
✅ Given list assistants response as Json should be properly deserialized to case class
✅ Given list assistant files response as Json should be properly deserialized to case class
✅ Given retrieve assistant response as Json should be properly deserialized to case class
✅ Given modify assistant request should be properly serialized to Json
✅ Given modify assistant response as Json should be properly deserialized to case class
✅ Given delete assistant response as Json should be properly deserialized to case class

✅ core/target/jvm-3/test-reports/TEST-sttp.openai.requests.audio.AudioCreationDataSpec.xml

1 tests were completed in 6ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.audio.AudioCreationDataSpec 1✅ 6ms

✅ sttp.openai.requests.audio.AudioCreationDataSpec

✅ Given audio generation response as Json should be properly deserialized to case class

✅ core/target/jvm-3/test-reports/TEST-sttp.openai.requests.completions.chat.ChatChunkDataSpec.xml

2 tests were completed in 19ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.completions.chat.ChatChunkDataSpec 2✅ 19ms

✅ sttp.openai.requests.completions.chat.ChatChunkDataSpec

✅ Given chat chunk completions response as Json should be properly deserialized to case class
✅ Given completions request with streaming enabled as case class should be properly serialized to Json

✅ core/target/jvm-3/test-reports/TEST-sttp.openai.requests.completions.chat.ChatDataSpec.xml

2 tests were completed in 131ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.completions.chat.ChatDataSpec 2✅ 131ms

✅ sttp.openai.requests.completions.chat.ChatDataSpec

✅ Given chat completions response as Json should be properly deserialized to case class
✅ Given completions request as case class should be properly serialized to Json

✅ core/target/jvm-3/test-reports/TEST-sttp.openai.requests.completions.chat.JsonSchemaSpec.xml

4 tests were completed in 666ms with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.completions.chat.JsonSchemaSpec 4✅ 666ms

✅ sttp.openai.requests.completions.chat.JsonSchemaSpec

✅ Given string JSON schema should be properly serialized to Json
✅ Given number JSON schema should be properly serialized to Json
✅ Given object JSON schema should be properly serialized to Json
✅ Given array JSON schema should be properly serialized to Json

✅ core/target/jvm-3/test-reports/TEST-sttp.openai.requests.completions.CompletionsDataSpec.xml

4 tests were completed in 149ms with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.completions.CompletionsDataSpec 4✅ 149ms

✅ sttp.openai.requests.completions.CompletionsDataSpec

✅ Given completions response as Json should be properly deserialized to case class
✅ Given completions request as case class should be properly serialized to Json
✅ Given completions of MultiplePrompt response as Json should be properly deserialized to case class
✅ Given completions of MultiplePrompt request as case class should be properly serialized to Json

✅ core/target/jvm-3/test-reports/TEST-sttp.openai.requests.embeddings.EmbeddingsDataSpec.xml

1 tests were completed in 10ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.embeddings.EmbeddingsDataSpec 1✅ 10ms

✅ sttp.openai.requests.embeddings.EmbeddingsDataSpec

✅ Given list files response as Json should be properly deserialized to case class

✅ core/target/jvm-3/test-reports/TEST-sttp.openai.requests.files.FilesResponseDataSpec.xml

4 tests were completed in 14ms with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.files.FilesResponseDataSpec 4✅ 14ms

✅ sttp.openai.requests.files.FilesResponseDataSpec

✅ Given list files response as Json should be properly deserialized to case class
✅ Given upload file response as Json should be properly deserialized to case class
✅ Given delete file response as Json should be properly deserialized to case class
✅ Given retrieve file response as Json should be properly deserialized to case class

✅ core/target/jvm-3/test-reports/TEST-sttp.openai.requests.finetuning.FineTuningDataSpec.xml

5 tests were completed in 144ms with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.finetuning.FineTuningDataSpec 5✅ 144ms

✅ sttp.openai.requests.finetuning.FineTuningDataSpec

✅ Given create fine tuning job request as case class should be properly serialized to Json
✅ Given create fine tuning job response as Json should be properly deserialized to case class
✅ Given list fine tuning jobs response as Json should be properly deserialized to case class
✅ Given list fine tuning job events response as Json should be properly deserialized to case class
✅ Given list fine tuning job checkpoints response as Json should be properly deserialized to case class

✅ core/target/jvm-3/test-reports/TEST-sttp.openai.requests.images.creation.ImageCreationDataSpec.xml

4 tests were completed in 38ms with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.images.creation.ImageCreationDataSpec 4✅ 38ms

✅ sttp.openai.requests.images.creation.ImageCreationDataSpec

✅ Given image generation response as Json should be properly deserialized to case class
✅ Given create image request as case class should be properly serialized to Json
✅ Given create image request as case class created with enum values should be properly serialized to Json
✅ Given create image request as case class with different model should be properly serialized to Json

✅ core/target/jvm-3/test-reports/TEST-sttp.openai.requests.models.ModelsGetResponseDataSpec.xml

1 tests were completed in 12ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.models.ModelsGetResponseDataSpec 1✅ 12ms

✅ sttp.openai.requests.models.ModelsGetResponseDataSpec

✅ Given models response as Json should be properly deserialized to case class

✅ core/target/jvm-3/test-reports/TEST-sttp.openai.requests.moderations.ModerationsDataSpec.xml

2 tests were completed in 109ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.moderations.ModerationsDataSpec 2✅ 109ms

✅ sttp.openai.requests.moderations.ModerationsDataSpec

✅ Given create moderation response as Json should be properly deserialized to case class
✅ Unknown moderation model in create response should be deserialized to case class

✅ core/target/jvm-3/test-reports/TEST-sttp.openai.requests.threads.messages.ThreadMessagesDataSpec.xml

5 tests were completed in 56ms with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.threads.messages.ThreadMessagesDataSpec 5✅ 56ms

✅ sttp.openai.requests.threads.messages.ThreadMessagesDataSpec

✅ Given create thread message request as case class should be properly serialized to Json
✅ Given create thread message response as Json should be properly deserialized to case class
✅ Given list messages response as Json should be properly deserialized to case class
✅ Given retrieve message response as Json should be properly deserialized to case class
✅ Given modify message response as Json should be properly deserialized to case class

✅ core/target/jvm-3/test-reports/TEST-sttp.openai.requests.threads.runs.ThreadRunsDataSpec.xml

13 tests were completed in 69ms with 13 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.threads.runs.ThreadRunsDataSpec 13✅ 69ms

✅ sttp.openai.requests.threads.runs.ThreadRunsDataSpec

✅ Given create thread run request as case class should be properly serialized to Json
✅ Given create thread run response as Json should be properly deserialized to case class
✅ Given create thread and run request as case class should be properly serialized to Json
✅ Given create thread and run response as Json should be properly deserialized to case class
✅ Given list runs response as Json should be properly deserialized to case class
✅ Given list run steps response as Json should be properly deserialized to case class
✅ Given retrieve run response as Json should be properly deserialized to case class
✅ Given retrieve run step response as Json should be properly deserialized to case class
✅ Given modify thread run request as case class should be properly serialized to Json
✅ Given modify run response as Json should be properly deserialized to case class
✅ Given submit tool outputs to run request as case class should be properly serialized to Json
✅ Given submit tool outputs to run response as Json should be properly deserialized to case class
✅ Given cancel run response as Json should be properly deserialized to case class

✅ core/target/jvm-3/test-reports/TEST-sttp.openai.requests.threads.ThreadsDataSpec.xml

7 tests were completed in 38ms with 7 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.threads.ThreadsDataSpec 7✅ 38ms

✅ sttp.openai.requests.threads.ThreadsDataSpec

✅ Given empty create thread request as case class should be properly serialized to Json
✅ Given create threads request with messages and no attachments should be properly serialized to Json
✅ Given create threads request with messages should be properly serialized to Json
✅ Given create threads request with messages and metadata should be properly serialized to Json
✅ Given create empty thread response as Json should be properly deserialized to case class
✅ Given create thread with messages and metadata response as Json should be properly deserialized to case class
✅ Given delete thread response as Json should be properly deserialized to case class

✅ core/target/jvm-3/test-reports/TEST-sttp.openai.requests.vectorstore.file.VectorStoreFileDataSpec.xml

6 tests were completed in 29ms with 6 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.vectorstore.file.VectorStoreFileDataSpec 6✅ 29ms

✅ sttp.openai.requests.vectorstore.file.VectorStoreFileDataSpec

✅ Given create vector store file request should be properly serialized to Json
✅ Vector store file search params should be properly serialized to Json
✅ Vector store file response should be properly deserialized from Json
✅ Vector store file response with error should be properly deserialized from Json
✅ Vector store file list response should be properly deserialized from Json
✅ Delete of vector store file response should be properly deserialized from Json

✅ core/target/jvm-3/test-reports/TEST-sttp.openai.requests.vectorstore.VectorStoreDataSpec.xml

6 tests were completed in 30ms with 6 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.requests.vectorstore.VectorStoreDataSpec 6✅ 30ms

✅ sttp.openai.requests.vectorstore.VectorStoreDataSpec

✅ Given create vector store request should be properly serialized to Json
✅ Given create vector store request with expires should be properly serialized to Json
✅ Given modify vector store request should be properly serialized to Json
✅ Vector store object should be properly deserialized from Json
✅ List of vector stores should be properly deserialized from Json
✅ Delete of vector stores response should be properly deserialized from Json

✅ streaming/akka/target/jvm-2.13/test-reports/TEST-sttp.openai.streaming.akka.AkkaClientSpec.xml

12 tests were completed in 936ms with 12 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.streaming.akka.AkkaClientSpec 12✅ 936ms

✅ sttp.openai.streaming.akka.AkkaClientSpec

✅ Service response with status code: 429 should return properly deserialized RateLimitException
✅ Service response with status code: 400 should return properly deserialized InvalidRequestException
✅ Service response with status code: 404 should return properly deserialized InvalidRequestException
✅ Service response with status code: 415 should return properly deserialized InvalidRequestException
✅ Service response with status code: 401 should return properly deserialized AuthenticationException
✅ Service response with status code: 403 should return properly deserialized PermissionException
✅ Service response with status code: 409 should return properly deserialized TryAgain
✅ Service response with status code: 503 should return properly deserialized ServiceUnavailableException
✅ Service response with status code: 410 should return properly deserialized APIException
✅ Creating chat completions with failed stream due to invalid deserialization should return properly deserialized error
✅ Creating chat completions with successful response should ignore empty events and return properly deserialized list of chunks
✅ Creating chat completions with successful response should stop listening after [DONE] event and return properly deserialized list of chunks

✅ streaming/fs2/target/jvm-2.13/test-reports/TEST-sttp.openai.streaming.fs2.Fs2ClientSpec.xml

12 tests were completed in 2s with 12 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.streaming.fs2.Fs2ClientSpec 12✅ 2s

✅ sttp.openai.streaming.fs2.Fs2ClientSpec

✅ Service response with status code: 429 should return properly deserialized RateLimitException
✅ Service response with status code: 400 should return properly deserialized InvalidRequestException
✅ Service response with status code: 404 should return properly deserialized InvalidRequestException
✅ Service response with status code: 415 should return properly deserialized InvalidRequestException
✅ Service response with status code: 401 should return properly deserialized AuthenticationException
✅ Service response with status code: 403 should return properly deserialized PermissionException
✅ Service response with status code: 409 should return properly deserialized TryAgain
✅ Service response with status code: 503 should return properly deserialized ServiceUnavailableException
✅ Service response with status code: 410 should return properly deserialized APIException
✅ Creating chat completions with failed stream due to invalid deserialization should return properly deserialized error
✅ Creating chat completions with successful response should ignore empty events and return properly deserialized list of chunks
✅ Creating chat completions with successful response should stop listening after [DONE] event and return properly deserialized list of chunks

✅ streaming/fs2/target/jvm-3/test-reports/TEST-sttp.openai.streaming.fs2.Fs2ClientSpec.xml

12 tests were completed in 1s with 12 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.streaming.fs2.Fs2ClientSpec 12✅ 1s

✅ sttp.openai.streaming.fs2.Fs2ClientSpec

✅ Service response with status code: 429 should return properly deserialized RateLimitException
✅ Service response with status code: 400 should return properly deserialized InvalidRequestException
✅ Service response with status code: 404 should return properly deserialized InvalidRequestException
✅ Service response with status code: 415 should return properly deserialized InvalidRequestException
✅ Service response with status code: 401 should return properly deserialized AuthenticationException
✅ Service response with status code: 403 should return properly deserialized PermissionException
✅ Service response with status code: 409 should return properly deserialized TryAgain
✅ Service response with status code: 503 should return properly deserialized ServiceUnavailableException
✅ Service response with status code: 410 should return properly deserialized APIException
✅ Creating chat completions with failed stream due to invalid deserialization should return properly deserialized error
✅ Creating chat completions with successful response should ignore empty events and return properly deserialized list of chunks
✅ Creating chat completions with successful response should stop listening after [DONE] event and return properly deserialized list of chunks

✅ streaming/ox/target/jvm-3/test-reports/TEST-sttp.openai.streaming.ox.OxClientSpec.xml

12 tests were completed in 812ms with 12 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.streaming.ox.OxClientSpec 12✅ 812ms

✅ sttp.openai.streaming.ox.OxClientSpec

✅ Service response with status code: 429 should return properly deserialized RateLimitException
✅ Service response with status code: 400 should return properly deserialized InvalidRequestException
✅ Service response with status code: 404 should return properly deserialized InvalidRequestException
✅ Service response with status code: 415 should return properly deserialized InvalidRequestException
✅ Service response with status code: 401 should return properly deserialized AuthenticationException
✅ Service response with status code: 403 should return properly deserialized PermissionException
✅ Service response with status code: 409 should return properly deserialized TryAgain
✅ Service response with status code: 503 should return properly deserialized ServiceUnavailableException
✅ Service response with status code: 410 should return properly deserialized APIException
✅ Creating chat completions with failed stream due to invalid deserialization should return properly deserialized error
✅ Creating chat completions with successful response should ignore empty events and return properly deserialized list of chunks
✅ Creating chat completions with successful response should stop listening after [DONE] event and return properly deserialized list of chunks

✅ streaming/pekko/target/jvm-2.13/test-reports/TEST-sttp.openai.streaming.pekko.PekkoClientSpec.xml

12 tests were completed in 664ms with 12 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.streaming.pekko.PekkoClientSpec 12✅ 664ms

✅ sttp.openai.streaming.pekko.PekkoClientSpec

✅ Service response with status code: 429 should return properly deserialized RateLimitException
✅ Service response with status code: 400 should return properly deserialized InvalidRequestException
✅ Service response with status code: 404 should return properly deserialized InvalidRequestException
✅ Service response with status code: 415 should return properly deserialized InvalidRequestException
✅ Service response with status code: 401 should return properly deserialized AuthenticationException
✅ Service response with status code: 403 should return properly deserialized PermissionException
✅ Service response with status code: 409 should return properly deserialized TryAgain
✅ Service response with status code: 503 should return properly deserialized ServiceUnavailableException
✅ Service response with status code: 410 should return properly deserialized APIException
✅ Creating chat completions with failed stream due to invalid deserialization should return properly deserialized error
✅ Creating chat completions with successful response should ignore empty events and return properly deserialized list of chunks
✅ Creating chat completions with successful response should stop listening after [DONE] event and return properly deserialized list of chunks

✅ streaming/pekko/target/jvm-3/test-reports/TEST-sttp.openai.streaming.pekko.PekkoClientSpec.xml

12 tests were completed in 690ms with 12 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.streaming.pekko.PekkoClientSpec 12✅ 690ms

✅ sttp.openai.streaming.pekko.PekkoClientSpec

✅ Service response with status code: 429 should return properly deserialized RateLimitException
✅ Service response with status code: 400 should return properly deserialized InvalidRequestException
✅ Service response with status code: 404 should return properly deserialized InvalidRequestException
✅ Service response with status code: 415 should return properly deserialized InvalidRequestException
✅ Service response with status code: 401 should return properly deserialized AuthenticationException
✅ Service response with status code: 403 should return properly deserialized PermissionException
✅ Service response with status code: 409 should return properly deserialized TryAgain
✅ Service response with status code: 503 should return properly deserialized ServiceUnavailableException
✅ Service response with status code: 410 should return properly deserialized APIException
✅ Creating chat completions with failed stream due to invalid deserialization should return properly deserialized error
✅ Creating chat completions with successful response should ignore empty events and return properly deserialized list of chunks
✅ Creating chat completions with successful response should stop listening after [DONE] event and return properly deserialized list of chunks

✅ streaming/zio/target/jvm-2.13/test-reports/TEST-sttp.openai.streaming.zio.ZioClientSpec.xml

12 tests were completed in 2s with 12 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.streaming.zio.ZioClientSpec 12✅ 2s

✅ sttp.openai.streaming.zio.ZioClientSpec

✅ Service response with status code: 429 should return properly deserialized RateLimitException
✅ Service response with status code: 400 should return properly deserialized InvalidRequestException
✅ Service response with status code: 404 should return properly deserialized InvalidRequestException
✅ Service response with status code: 415 should return properly deserialized InvalidRequestException
✅ Service response with status code: 401 should return properly deserialized AuthenticationException
✅ Service response with status code: 403 should return properly deserialized PermissionException
✅ Service response with status code: 409 should return properly deserialized TryAgain
✅ Service response with status code: 503 should return properly deserialized ServiceUnavailableException
✅ Service response with status code: 410 should return properly deserialized APIException
✅ Creating chat completions with failed stream due to invalid deserialization should return properly deserialized error
✅ Creating chat completions with successful response should ignore empty events and return properly deserialized list of chunks
✅ Creating chat completions with successful response should stop listening after [DONE] event and return properly deserialized list of chunks

✅ streaming/zio/target/jvm-3/test-reports/TEST-sttp.openai.streaming.zio.ZioClientSpec.xml

12 tests were completed in 1s with 12 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.openai.streaming.zio.ZioClientSpec 12✅ 1s

✅ sttp.openai.streaming.zio.ZioClientSpec

✅ Service response with status code: 429 should return properly deserialized RateLimitException
✅ Service response with status code: 400 should return properly deserialized InvalidRequestException
✅ Service response with status code: 404 should return properly deserialized InvalidRequestException
✅ Service response with status code: 415 should return properly deserialized InvalidRequestException
✅ Service response with status code: 401 should return properly deserialized AuthenticationException
✅ Service response with status code: 403 should return properly deserialized PermissionException
✅ Service response with status code: 409 should return properly deserialized TryAgain
✅ Service response with status code: 503 should return properly deserialized ServiceUnavailableException
✅ Service response with status code: 410 should return properly deserialized APIException
✅ Creating chat completions with failed stream due to invalid deserialization should return properly deserialized error
✅ Creating chat completions with successful response should ignore empty events and return properly deserialized list of chunks
✅ Creating chat completions with successful response should stop listening after [DONE] event and return properly deserialized list of chunks