From f9d5ccdf24a6d2a00ed7a9969e8fd2b66074c887 Mon Sep 17 00:00:00 2001 From: wucm667 Date: Thu, 14 May 2026 15:33:10 +0800 Subject: [PATCH] test(gateway): check Gemini chat completion assertions --- .../service/gemini_messages_compat_service_test.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/backend/internal/service/gemini_messages_compat_service_test.go b/backend/internal/service/gemini_messages_compat_service_test.go index e1b0ba3e..d0560344 100644 --- a/backend/internal/service/gemini_messages_compat_service_test.go +++ b/backend/internal/service/gemini_messages_compat_service_test.go @@ -101,11 +101,17 @@ func TestGeminiForwardAsChatCompletions_OAuthRoutesToGeminiAndReturnsChatFormat( require.NoError(t, json.Unmarshal(rec.Body.Bytes(), &got)) require.Equal(t, "chat.completion", got["object"]) require.Equal(t, "gemini-2.5-flash", got["model"]) - choices := got["choices"].([]any) - message := choices[0].(map[string]any)["message"].(map[string]any) + choices, ok := got["choices"].([]any) + require.True(t, ok) + require.NotEmpty(t, choices) + choice, ok := choices[0].(map[string]any) + require.True(t, ok) + message, ok := choice["message"].(map[string]any) + require.True(t, ok) require.Equal(t, "assistant", message["role"]) require.Equal(t, "hello from gemini", message["content"]) - usage := got["usage"].(map[string]any) + usage, ok := got["usage"].(map[string]any) + require.True(t, ok) require.Equal(t, float64(7), usage["prompt_tokens"]) require.Equal(t, float64(3), usage["completion_tokens"]) require.Equal(t, float64(10), usage["total_tokens"])