package server import ( "net/http" "net/http/httptest" "testing" "chat-agent-system/internal/app" "chat-agent-system/internal/auth" "chat-agent-system/internal/authz" ) func TestAdminErrorEvents_ForbiddenForNonAdmin(t *testing.T) { s := &Server{rt: &app.Runtime{Authz: authz.NewService(nil)}} req := httptest.NewRequest(http.MethodGet, "/api/v1/admin/system/error-events", nil) req = req.WithContext(withPrincipal(req.Context(), &auth.UserAccount{ID: 2, RoleID: "role-member"})) rec := httptest.NewRecorder() s.handleAdminErrorEvents(rec, req) if rec.Code != http.StatusForbidden { t.Fatalf("status=%d body=%s", rec.Code, rec.Body.String()) } } func TestAdminErrorEvents_Unauthenticated(t *testing.T) { s := &Server{rt: &app.Runtime{Authz: authz.NewService(nil)}} req := httptest.NewRequest(http.MethodGet, "/api/v1/admin/system/error-events", nil) rec := httptest.NewRecorder() s.handleAdminErrorEvents(rec, req) if rec.Code != http.StatusUnauthorized { t.Fatalf("status=%d body=%s", rec.Code, rec.Body.String()) } }