Pulse/internal/api/enterprise_extension_audit_admin_test.go
2026-03-18 16:06:30 +00:00

62 lines
2.1 KiB
Go

package api
import (
"net/http"
"net/http/httptest"
"testing"
"github.com/rcourtman/pulse-go-rewrite/pkg/extensions"
)
type testAuditAdminEndpoints struct {
listCalls int
}
func (t *testAuditAdminEndpoints) HandleListEvents(http.ResponseWriter, *http.Request) { t.listCalls++ }
func (t *testAuditAdminEndpoints) HandleVerifyEvent(http.ResponseWriter, *http.Request) {}
func (t *testAuditAdminEndpoints) HandleExportEvents(http.ResponseWriter, *http.Request) {}
func (t *testAuditAdminEndpoints) HandleSummary(http.ResponseWriter, *http.Request) {}
func (t *testAuditAdminEndpoints) HandleGetWebhooks(http.ResponseWriter, *http.Request) {}
func (t *testAuditAdminEndpoints) HandleUpdateWebhooks(http.ResponseWriter, *http.Request) {}
func TestResolveAuditAdminEndpoints_DefaultWhenBinderNil(t *testing.T) {
SetAuditAdminEndpointsBinder(nil)
t.Cleanup(func() {
SetAuditAdminEndpointsBinder(nil)
})
defaults := &testAuditAdminEndpoints{}
resolved := resolveAuditAdminEndpoints(defaults, extensions.AuditAdminRuntime{})
req := httptest.NewRequest(http.MethodGet, "/api/audit", nil)
rec := httptest.NewRecorder()
resolved.HandleListEvents(rec, req)
if defaults.listCalls != 1 {
t.Fatalf("expected default list handler call, got %d", defaults.listCalls)
}
}
func TestResolveAuditAdminEndpoints_UsesBinderOverride(t *testing.T) {
SetAuditAdminEndpointsBinder(nil)
t.Cleanup(func() {
SetAuditAdminEndpointsBinder(nil)
})
defaults := &testAuditAdminEndpoints{}
override := &testAuditAdminEndpoints{}
SetAuditAdminEndpointsBinder(func(_ extensions.AuditAdminEndpoints, _ extensions.AuditAdminRuntime) extensions.AuditAdminEndpoints {
return override
})
resolved := resolveAuditAdminEndpoints(defaults, extensions.AuditAdminRuntime{})
req := httptest.NewRequest(http.MethodGet, "/api/audit", nil)
rec := httptest.NewRecorder()
resolved.HandleListEvents(rec, req)
if defaults.listCalls != 0 {
t.Fatalf("expected default list handler to be bypassed, got %d calls", defaults.listCalls)
}
if override.listCalls != 1 {
t.Fatalf("expected override list handler call, got %d", override.listCalls)
}
}