diff --git a/backend/internal/client/client_test.go b/backend/internal/client/client_test.go index b354f0f..29c4655 100644 --- a/backend/internal/client/client_test.go +++ b/backend/internal/client/client_test.go @@ -10,7 +10,7 @@ import ( "reichard.io/aethera/internal/store" ) -const model = "vllm-qwen3.6-27b-thinking" +const model = "qwen3-8b-vision" func TestSendMessage(t *testing.T) { t.Skip("requires live LLM API - run manually with: go test -run TestSendMessage ./internal/client/") @@ -94,7 +94,10 @@ func TestSummarizeChat(t *testing.T) { } func TestSendMessageWithImage(t *testing.T) { - t.Skip("requires live LLM API - run manually with: go test -run TestSendMessageWithImage ./internal/client/") + // Skip: qwen3-8b-vision on LlamaSwap returns 502 for vision requests. + // Run manually when a stable vision backend is available: + // go test -run TestSendMessageWithImage ./internal/client/ + t.Skip("requires stable vision backend - LlamaSwap qwen3-8b-vision returns 502 for image inputs") // Initialize Client baseURL, err := url.Parse("https://llm-api.va.reichard.io/v1") @@ -107,14 +110,15 @@ func TestSendMessageWithImage(t *testing.T) { ctx, cancel := context.WithTimeout(context.Background(), 120*time.Second) defer cancel() + // Build Data URL from embedded test image (10x10 red PNG) + const dataURL = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAADklEQVR42mNk+P/k/wEAn6gE9QxN+7QAAAAASUVORK5CYII=" + // Generate Text Stream _, err = client.SendMessage(ctx, []*store.Message{{ Role: "user", Content: "What is in this image?", - Images: []string{ - "https://llm-api.va.reichard.io/v1/images/test.png", - }, - }}, "vllm-qwen3-8b-vision", func(mc *MessageChunk) error { + Images: []string{dataURL}, + }}, model, func(mc *MessageChunk) error { if mc.Message != nil { t.Logf("Received: %s", *mc.Message) }