package worker import ( "errors" "testing" ) func TestClassifyLLMError(t *testing.T) { tests := []struct { name string err error want string }{ {name: "timeout", err: errors.New("context deadline exceeded"), want: "timeout"}, {name: "unavailable", err: errors.New("llm HTTP 500: internal server error"), want: "model_unavailable"}, {name: "context length", err: errors.New("This model's maximum context length is 16384 tokens. input_tokens=16001"), want: "context_length"}, {name: "bad input", err: errors.New("llm HTTP 400: messages are required"), want: "bad_input"}, {name: "bad response", err: errors.New("llm decode: invalid character '<'"), want: "bad_response"}, {name: "unknown", err: errors.New("strange failure"), want: "unknown"}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { if got := classifyLLMError(tt.err); got != tt.want { t.Fatalf("classifyLLMError() = %q, want %q", got, tt.want) } }) } }