-
Notifications
You must be signed in to change notification settings - Fork 51
Expand file tree
/
Copy pathtest-output-utf8.json
More file actions
38 lines (38 loc) · 21.2 KB
/
test-output-utf8.json
File metadata and controls
38 lines (38 loc) · 21.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
{"level":40,"time":1774616030862,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"GET","path":"/api/developers/analytics","statusCode":401,"durationMs":558.923,"msg":"request completed"}
{"level":40,"time":1774616030936,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"GET","path":"/api/developers/analytics","statusCode":400,"durationMs":3.435,"msg":"request completed"}
{"level":40,"time":1774616030956,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"GET","path":"/api/developers/analytics","statusCode":400,"durationMs":1.595,"msg":"request completed"}
{"level":40,"time":1774616030975,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"GET","path":"/api/developers/analytics","statusCode":400,"durationMs":1.983,"msg":"request completed"}
{"level":30,"time":1774616030999,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"GET","path":"/api/developers/analytics","statusCode":200,"durationMs":5.115,"msg":"request completed"}
{"level":30,"time":1774616031066,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"GET","path":"/api/health","statusCode":200,"durationMs":2.243,"msg":"request completed"}
{"level":30,"time":1774616031136,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"GET","path":"/api/developers/analytics","statusCode":200,"durationMs":54.815,"msg":"request completed"}
{"level":30,"time":1774616031157,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"GET","path":"/api/developers/analytics","statusCode":200,"durationMs":2.505,"msg":"request completed"}
{"level":30,"time":1774616031186,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"GET","path":"/api/developers/analytics","statusCode":200,"durationMs":3.19,"msg":"request completed"}
{"level":40,"time":1774616031215,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"GET","path":"/api/developers/analytics","statusCode":403,"durationMs":2.296,"msg":"request completed"}
{"level":40,"time":1774616031288,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"GET","path":"/api/developers/apis","statusCode":401,"durationMs":47.205,"msg":"request completed"}
{"level":40,"time":1774616031310,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"GET","path":"/api/developers/apis","statusCode":404,"durationMs":2.984,"msg":"request completed"}
{"level":40,"time":1774616031336,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"GET","path":"/api/developers/apis","statusCode":400,"durationMs":3.265,"msg":"request completed"}
{"level":30,"time":1774616031418,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"GET","path":"/api/developers/apis","statusCode":200,"durationMs":3.97,"msg":"request completed"}
{"level":30,"time":1774616031436,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"GET","path":"/api/developers/apis","statusCode":200,"durationMs":1.84,"msg":"request completed"}
{"level":30,"time":1774616031449,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"GET","path":"/api/developers/apis","statusCode":200,"durationMs":1.571,"msg":"request completed"}
{"level":40,"time":1774616031469,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"GET","path":"/api/apis/abc","statusCode":400,"durationMs":2.276,"msg":"request completed"}
{"level":40,"time":1774616031556,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"GET","path":"/api/apis/1.5","statusCode":400,"durationMs":3.305,"msg":"request completed"}
{"level":40,"time":1774616031582,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"GET","path":"/api/apis/0","statusCode":400,"durationMs":3.245,"msg":"request completed"}
{"level":40,"time":1774616031604,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"GET","path":"/api/apis/-1","statusCode":400,"durationMs":1.631,"msg":"request completed"}
{"level":40,"time":1774616031657,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"GET","path":"/api/apis/999","statusCode":404,"durationMs":22.009,"msg":"request completed"}
{"level":30,"time":1774616031674,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"GET","path":"/api/apis/1","statusCode":200,"durationMs":1.728,"msg":"request completed"}
{"level":30,"time":1774616031702,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"GET","path":"/api/apis/1","statusCode":200,"durationMs":3.333,"msg":"request completed"}
{"level":30,"time":1774616031723,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"GET","path":"/api/apis/2","statusCode":200,"durationMs":3.936,"msg":"request completed"}
{"level":40,"time":1774616031820,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"POST","path":"/api/developers/apis","statusCode":401,"durationMs":78.11,"msg":"request completed"}
{"level":40,"time":1774616031855,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"POST","path":"/api/developers/apis","statusCode":400,"durationMs":20.968,"msg":"request completed"}
{"level":40,"time":1774616031885,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"POST","path":"/api/developers/apis","statusCode":400,"durationMs":17.774,"msg":"request completed"}
{"level":40,"time":1774616031917,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"POST","path":"/api/developers/apis","statusCode":400,"durationMs":20.395,"msg":"request completed"}
{"level":40,"time":1774616031971,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"POST","path":"/api/developers/apis","statusCode":400,"durationMs":38.518,"msg":"request completed"}
{"level":40,"time":1774616032010,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"POST","path":"/api/developers/apis","statusCode":400,"durationMs":26.146,"msg":"request completed"}
{"level":40,"time":1774616032049,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"POST","path":"/api/developers/apis","statusCode":400,"durationMs":25.015,"msg":"request completed"}
{"level":40,"time":1774616032095,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"POST","path":"/api/developers/apis","statusCode":400,"durationMs":24.87,"msg":"request completed"}
{"level":40,"time":1774616032140,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"POST","path":"/api/developers/apis","statusCode":400,"durationMs":22.688,"msg":"request completed"}
{"level":40,"time":1774616032182,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"POST","path":"/api/developers/apis","statusCode":400,"durationMs":24.485,"msg":"request completed"}
{"level":40,"time":1774616032225,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"POST","path":"/api/developers/apis","statusCode":400,"durationMs":23.278,"msg":"request completed"}
{"level":30,"time":1774616032265,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"POST","path":"/api/developers/apis","statusCode":201,"durationMs":4.531,"msg":"request completed"}
{"level":30,"time":1774616032285,"pid":23660,"hostname":"DESKTOP-2OTE89S","requestId":"mock-uuid-1234","method":"POST","path":"/api/developers/apis","statusCode":201,"durationMs":2.898,"msg":"request completed"}
{"numFailedTestSuites":1,"numFailedTests":1,"numPassedTestSuites":0,"numPassedTests":29,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":1,"numTotalTests":30,"openHandles":[],"snapshot":{"added":0,"didUpdate":false,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0},"startTime":1774616023995,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":[],"duration":855,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"GET /api/developers/analytics returns 401 when unauthenticated","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1774616030058,"status":"passed","title":"GET /api/developers/analytics returns 401 when unauthenticated"},{"ancestorTitles":[],"duration":44,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"GET /api/developers/analytics validates query params","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1774616030916,"status":"passed","title":"GET /api/developers/analytics validates query params"},{"ancestorTitles":[],"duration":20,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"GET /api/developers/analytics returns 400 when from > to","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1774616030961,"status":"passed","title":"GET /api/developers/analytics returns 400 when from > to"},{"ancestorTitles":[],"duration":42,"failing":false,"failureDetails":[{"matcherResult":{"actual":[{"period":"2026-02-01","calls":4,"revenue":"940"}],"expected":[{"period":"2026-02","calls":3,"revenue":"440"}],"message":"expect(received).toEqual(expected) // deep equality\n\n- Expected - 3\n+ Received + 3\n\n Array [\n Object {\n- \"calls\": 3,\n- \"period\": \"2026-02\",\n- \"revenue\": \"440\",\n+ \"calls\": 4,\n+ \"period\": \"2026-02-01\",\n+ \"revenue\": \"940\",\n },\n ]","name":"toEqual","pass":false}}],"failureMessages":["Error: expect(received).toEqual(expected) // deep equality\n\n- Expected - 3\n+ Received + 3\n\n Array [\n Object {\n- \"calls\": 3,\n- \"period\": \"2026-02\",\n- \"revenue\": \"440\",\n+ \"calls\": 4,\n+ \"period\": \"2026-02-01\",\n+ \"revenue\": \"940\",\n },\n ]\n at Object.<anonymous> (C:\\Users\\ADMIN\\Desktop\\midea-drips\\Callora-Backend\\src\\app.test.ts:244:30)\n at processTicksAndRejections (node:internal/process/task_queues:103:5)"],"fullName":"GET /api/developers/analytics aggregates by month","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1774616030981,"status":"failed","title":"GET /api/developers/analytics aggregates by month"},{"ancestorTitles":[],"duration":17,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"GET /api/health returns default ok schema without db","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1774616031053,"status":"passed","title":"GET /api/health returns default ok schema without db"},{"ancestorTitles":[],"duration":70,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"GET /api/developers/analytics aggregates by day","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1774616031071,"status":"passed","title":"GET /api/developers/analytics aggregates by day"},{"ancestorTitles":[],"duration":23,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"GET /api/developers/analytics aggregates by week and supports top lists","invocations":1,"location":null,"numPassingAsserts":4,"retryReasons":[],"startAt":1774616031142,"status":"passed","title":"GET /api/developers/analytics aggregates by week and supports top lists"},{"ancestorTitles":[],"duration":55,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"GET /api/developers/analytics filters by apiId and blocks non-owned API","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1774616031166,"status":"passed","title":"GET /api/developers/analytics filters by apiId and blocks non-owned API"},{"ancestorTitles":[],"duration":70,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"GET /api/developers/apis returns 401 when unauthenticated","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1774616031222,"status":"passed","title":"GET /api/developers/apis returns 401 when unauthenticated"},{"ancestorTitles":[],"duration":21,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"GET /api/developers/apis returns 404 when developer profile is missing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1774616031293,"status":"passed","title":"GET /api/developers/apis returns 404 when developer profile is missing"},{"ancestorTitles":[],"duration":29,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"GET /api/developers/apis validates status query parameter","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1774616031316,"status":"passed","title":"GET /api/developers/apis validates status query parameter"},{"ancestorTitles":[],"duration":102,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"GET /api/developers/apis lists APIs with stats, filters, and pagination","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1774616031349,"status":"passed","title":"GET /api/developers/apis lists APIs with stats, filters, and pagination"},{"ancestorTitles":[],"duration":157,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"GET /api/apis/:id returns 400 for non-integer id","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1774616031452,"status":"passed","title":"GET /api/apis/:id returns 400 for non-integer id"},{"ancestorTitles":[],"duration":52,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"GET /api/apis/:id returns 404 when api not found","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1774616031609,"status":"passed","title":"GET /api/apis/:id returns 404 when api not found"},{"ancestorTitles":[],"duration":23,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"GET /api/apis/:id returns full API details with endpoints","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1774616031661,"status":"passed","title":"GET /api/apis/:id returns full API details with endpoints"},{"ancestorTitles":[],"duration":20,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"GET /api/apis/:id is a public route (no auth required)","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1774616031685,"status":"passed","title":"GET /api/apis/:id is a public route (no auth required)"},{"ancestorTitles":[],"duration":22,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"GET /api/apis/:id returns api with empty endpoints list","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1774616031705,"status":"passed","title":"GET /api/apis/:id returns api with empty endpoints list"},{"ancestorTitles":[],"duration":95,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"POST /api/developers/apis returns 401 when unauthenticated","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1774616031728,"status":"passed","title":"POST /api/developers/apis returns 401 when unauthenticated"},{"ancestorTitles":[],"duration":35,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"POST /api/developers/apis returns 400 when name is missing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1774616031823,"status":"passed","title":"POST /api/developers/apis returns 400 when name is missing"},{"ancestorTitles":[],"duration":28,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"POST /api/developers/apis returns 400 when base_url is missing","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1774616031859,"status":"passed","title":"POST /api/developers/apis returns 400 when base_url is missing"},{"ancestorTitles":[],"duration":33,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"POST /api/developers/apis returns 400 when base_url is not a valid URL","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1774616031888,"status":"passed","title":"POST /api/developers/apis returns 400 when base_url is not a valid URL"},{"ancestorTitles":[],"duration":51,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"POST /api/developers/apis returns 400 when status is invalid","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1774616031922,"status":"passed","title":"POST /api/developers/apis returns 400 when status is invalid"},{"ancestorTitles":[],"duration":41,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"POST /api/developers/apis returns 400 when endpoints is not an array","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1774616031974,"status":"passed","title":"POST /api/developers/apis returns 400 when endpoints is not an array"},{"ancestorTitles":[],"duration":41,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"POST /api/developers/apis returns 400 when an endpoint path does not start with /","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1774616032015,"status":"passed","title":"POST /api/developers/apis returns 400 when an endpoint path does not start with /"},{"ancestorTitles":[],"duration":44,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"POST /api/developers/apis returns 400 when an endpoint method is invalid","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1774616032057,"status":"passed","title":"POST /api/developers/apis returns 400 when an endpoint method is invalid"},{"ancestorTitles":[],"duration":42,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"POST /api/developers/apis returns 400 when price_per_call_usdc is invalid","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1774616032102,"status":"passed","title":"POST /api/developers/apis returns 400 when price_per_call_usdc is invalid"},{"ancestorTitles":[],"duration":42,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"POST /api/developers/apis returns 400 when price_per_call_usdc is negative","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1774616032145,"status":"passed","title":"POST /api/developers/apis returns 400 when price_per_call_usdc is negative"},{"ancestorTitles":[],"duration":55,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"POST /api/developers/apis returns 400 with DEVELOPER_NOT_FOUND when no developer profile","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1774616032188,"status":"passed","title":"POST /api/developers/apis returns 400 with DEVELOPER_NOT_FOUND when no developer profile"},{"ancestorTitles":[],"duration":25,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"POST /api/developers/apis returns 201 with created API and endpoints","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1774616032244,"status":"passed","title":"POST /api/developers/apis returns 201 with created API and endpoints"},{"ancestorTitles":[],"duration":18,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"POST /api/developers/apis returns 201 when endpoints array is empty","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1774616032270,"status":"passed","title":"POST /api/developers/apis returns 201 when endpoints array is empty"}],"endTime":1774616032507,"message":" ΓùÅ GET /api/developers/analytics aggregates by month\n\n expect(received).toEqual(expected) // deep equality\n\n - Expected - 3\n + Received + 3\n\n Array [\n Object {\n - \"calls\": 3,\n - \"period\": \"2026-02\",\n - \"revenue\": \"440\",\n + \"calls\": 4,\n + \"period\": \"2026-02-01\",\n + \"revenue\": \"940\",\n },\n ]\n\n \u001b[0m \u001b[90m 242 |\u001b[39m \u001b[33m.\u001b[39m\u001b[36mset\u001b[39m(\u001b[32m'x-user-id'\u001b[39m\u001b[33m,\u001b[39m \u001b[32m'dev-1'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 243 |\u001b[39m expect(response\u001b[33m.\u001b[39mstatus)\u001b[33m.\u001b[39mtoBe(\u001b[35m200\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 244 |\u001b[39m expect(response\u001b[33m.\u001b[39mbody\u001b[33m.\u001b[39mdata)\u001b[33m.\u001b[39mtoEqual([\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 245 |\u001b[39m { period\u001b[33m:\u001b[39m \u001b[32m'2026-02'\u001b[39m\u001b[33m,\u001b[39m calls\u001b[33m:\u001b[39m \u001b[35m3\u001b[39m\u001b[33m,\u001b[39m revenue\u001b[33m:\u001b[39m \u001b[32m'440'\u001b[39m }\u001b[33m,\u001b[39m\n \u001b[90m 246 |\u001b[39m ])\u001b[33m;\u001b[39m\n \u001b[90m 247 |\u001b[39m })\u001b[33m;\u001b[39m\u001b[0m\n\n at Object.<anonymous> (src/app.test.ts:244:30)\n","name":"C:\\Users\\ADMIN\\Desktop\\midea-drips\\Callora-Backend\\src\\app.test.ts","startTime":1774616025291,"status":"failed","summary":""}],"wasInterrupted":false}