MCPcopy Create free account
hub / github.com/GetStream/stream-go2 / TestQueryAuditLogs

Function TestQueryAuditLogs

audit_logs_test.go:16–79  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

14)
15
16func TestQueryAuditLogs(t *testing.T) {
17 ctx := context.Background()
18 client, requester := newClient(t)
19
20 // Test with all filters and pager options
21 filters := stream.QueryAuditLogsFilters{
22 EntityType: "feed",
23 EntityID: "123",
24 UserID: "user-42",
25 }
26 pager := stream.QueryAuditLogsPager{
27 Next: "next-token",
28 Prev: "prev-token",
29 Limit: 25,
30 }
31
32 // Set mock response
33 now := time.Now()
34 mockResp := struct {
35 AuditLogs []stream.AuditLog `json:"audit_logs"`
36 Next string `json:"next"`
37 Prev string `json:"prev"`
38 }{
39 AuditLogs: []stream.AuditLog{
40 {
41 EntityType: "feed",
42 EntityID: "123",
43 Action: "create",
44 UserID: "user-42",
45 Custom: map[string]any{"key": "value"},
46 CreatedAt: now,
47 },
48 },
49 Next: "next-page-token",
50 Prev: "prev-page-token",
51 }
52 respBytes, err := json.Marshal(mockResp)
53 require.NoError(t, err)
54 requester.resp = string(respBytes)
55
56 // Call the function
57 resp, err := client.AuditLogs().QueryAuditLogs(ctx, filters, pager)
58 require.NoError(t, err)
59
60 // Verify request
61 testRequest(
62 t,
63 requester.req,
64 http.MethodGet,
65 "https://api.stream-io-api.com/api/v1.0/audit_logs/?api_key=key&entity_id=123&entity_type=feed&limit=25&next=next-token&prev=prev-token&user_id=user-42",
66 "",
67 )
68
69 // Verify response
70 assert.Len(t, resp.AuditLogs, 1)
71 assert.Equal(t, "feed", resp.AuditLogs[0].EntityType)
72 assert.Equal(t, "123", resp.AuditLogs[0].EntityID)
73 assert.Equal(t, "create", resp.AuditLogs[0].Action)

Callers

nothing calls this directly

Calls 4

newClientFunction · 0.85
testRequestFunction · 0.85
QueryAuditLogsMethod · 0.80
AuditLogsMethod · 0.80

Tested by

no test coverage detected