Files
Agent-System/internal/server/admin_error_events_test.go
T
weichen f3f23a3018 feat(errcode): 用稳定错误码记录 HTTP 与异步失败
失败响应此前不写日志,request_id 无法对照原因。注册表不覆盖处理器已经给出的 HTTP 状态。
2026-09-28 02:27:16 +00:00

33 lines
1.0 KiB
Go

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())
}
}