(t *testing.T)
| 14 | ) |
| 15 | |
| 16 | func 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) |
nothing calls this directly
no test coverage detected