package claude import ( "net/http" "net/http/httptest" "testing" "github.com/go-chi/chi/v5" "ds2api/internal/auth" ) type routeAliasAuthStub struct{} func (routeAliasAuthStub) Determine(_ *http.Request) (*auth.RequestAuth, error) { return nil, auth.ErrUnauthorized } func (routeAliasAuthStub) Release(_ *auth.RequestAuth) {} func TestClaudeRouteAliasesDoNot404(t *testing.T) { h := &Handler{ Auth: routeAliasAuthStub{}, } r := chi.NewRouter() RegisterRoutes(r, h) paths := []string{ "/anthropic/v1/messages", "/v1/messages", "/messages", "/anthropic/v1/messages/count_tokens", "/v1/messages/count_tokens", "/messages/count_tokens", } for _, path := range paths { req := httptest.NewRequest(http.MethodPost, path, nil) rec := httptest.NewRecorder() r.ServeHTTP(rec, req) if rec.Code == http.StatusNotFound { t.Fatalf("expected route %s to be registered, got 404", path) } } }