Tolerate Gemini image expansion drift
build-push / docker (push) Successful in 4m23s

This commit is contained in:
GHStaK
2026-03-24 16:29:36 +09:00
parent 1fb9919ec3
commit 3c6df2e777
6 changed files with 68 additions and 49 deletions
+20
View File
@@ -145,6 +145,26 @@ func TestExpandImageQueriesFallsBackWhenGeminiFails(t *testing.T) {
}
}
func TestExpandImageQueriesAcceptsLoosePlainTextList(t *testing.T) {
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json")
_, _ = w.Write([]byte(`{"candidates":[{"content":{"parts":[{"text":"Here is the JSON requested\n1. cute cat\n2. cute cat gif\n3. cat reaction gif\n4. cat meme gif\n5. animated cat sticker"}]}}]}`))
}))
defer server.Close()
service := NewGeminiService("dummy-key", "gemini-2.5-flash")
service.Client = &http.Client{Timeout: 2 * time.Second}
service.GenerateEndpoint = server.URL
queries, err := service.ExpandImageQueries("고양이")
if err != nil {
t.Fatalf("expected loose plain-text list to be accepted, got %v", err)
}
if len(queries) != 5 || queries[0] != "cute cat" || queries[4] != "animated cat sticker" {
t.Fatalf("unexpected loose parsed queries: %#v", queries)
}
}
func TestSelectUnevaluatedCandidatesSkipsReviewedLinks(t *testing.T) {
ranked := []SearchResult{
{Link: "https://a.example"},