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 }