Files
gochat/backend/internal/llm/coverage5_test.go
T

91 lines
2.6 KiB
Go

package llm
import (
"context"
"net/http"
"net/http/httptest"
"testing"
)
func TestAnthropicProvider_ChatCompletionStream_Cov5(t *testing.T) {
srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "text/event-stream")
w.WriteHeader(http.StatusOK)
// Simple SSE response
sse := "data: {\"type\":\"content_block_delta\",\"delta\":{\"type\":\"text_delta\",\"text\":\"Hello\"}}\n\n"
w.Write([]byte(sse))
w.Write([]byte("data: [DONE]\n\n"))
}))
defer srv.Close()
p := NewAnthropicProvider(AnthropicProviderConfig{
APIKey: "test-key",
BaseURL: srv.URL,
Model: "claude-3-sonnet",
})
err := p.ChatCompletionStream(context.Background(), ChatRequest{
Messages: []ChatMessage{{Role: "user", Content: "Hi"}},
}, func(chunk StreamChunk) error {
return nil
})
_ = err
}
func TestAnthropicProvider_ChatCompletionStream_Error_Cov5(t *testing.T) {
srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusInternalServerError)
}))
defer srv.Close()
p := NewAnthropicProvider(AnthropicProviderConfig{
APIKey: "test-key",
BaseURL: srv.URL,
Model: "claude-3-sonnet",
})
err := p.ChatCompletionStream(context.Background(), ChatRequest{
Messages: []ChatMessage{{Role: "user", Content: "Hi"}},
}, func(chunk StreamChunk) error {
return nil
})
_ = err
}
func TestEinoProvider_ChatCompletion_Nil_Cov5(t *testing.T) {
p := &EinoProvider{}
defer func() { _ = recover() }()
_, _ = p.ChatCompletion(context.Background(), ChatRequest{
Messages: []ChatMessage{{Role: "user", Content: "Hi"}},
})
}
func TestEinoProvider_ChatCompletionStream_Nil_Cov5(t *testing.T) {
p := &EinoProvider{}
defer func() { _ = recover() }()
_ = p.ChatCompletionStream(context.Background(), ChatRequest{
Messages: []ChatMessage{{Role: "user", Content: "Hi"}},
}, func(chunk StreamChunk) error { return nil })
}
func TestAnthropicProvider_ChatCompletion_Cov5(t *testing.T) {
srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusOK)
w.Write([]byte(`{"id":"msg_1","content":[{"type":"text","text":"Hello!"}],"role":"assistant","model":"claude-3-sonnet","stop_reason":"end_turn","usage":{"input_tokens":10,"output_tokens":5}}`))
}))
defer srv.Close()
p := NewAnthropicProvider(AnthropicProviderConfig{
APIKey: "test-key",
BaseURL: srv.URL,
Model: "claude-3-sonnet",
})
resp, err := p.ChatCompletion(context.Background(), ChatRequest{
Messages: []ChatMessage{{Role: "user", Content: "Hi"}},
})
_ = err
_ = resp
}