- Fixed NodeJS.Timer → NodeJS.Timeout in scheduler.ts line 13 - Fixed NodeJS.Timer[] → NodeJS.Timeout[] in fixtures.ts line 151 - Resolves TypeScript compile errors from iteration 0 review - All 260 tests passing, build succeeds with no errors
901 lines
68 KiB
Plaintext
901 lines
68 KiB
Plaintext
The following Vite config options will be overridden by SvelteKit:
|
||
- base
|
||
|
||
[1m[46m RUN [49m[22m [36mv4.0.14 [39m[90m/home/moze/Sources/insta-recipe[39m
|
||
|
||
The following Vite config options will be overridden by SvelteKit:
|
||
- base
|
||
[32m✓[39m [30m[42m server [49m[39m src/tests/sse-extraction.spec.ts [2m([22m[2m7 tests[22m[2m)[22m[32m 5[2mms[22m[39m
|
||
[32m✓[39m [30m[42m server [49m[39m src/tests/scheduler.integration.spec.ts [2m([22m[2m10 tests[22m[2m)[22m[32m 7[2mms[22m[39m
|
||
[32m✓[39m [30m[42m server [49m[39m src/tests/thumbnail-validation.spec.ts [2m([22m[2m31 tests[22m[2m)[22m[32m 11[2mms[22m[39m
|
||
[32m✓[39m [30m[42m server [49m[39m src/tests/extraction-url-validation.integration.spec.ts [2m([22m[2m17 tests[22m[2m)[22m[32m 6[2mms[22m[39m
|
||
[32m✓[39m [30m[42m server [49m[39m src/tests/favicon.spec.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 8[2mms[22m[39m
|
||
[32m✓[39m [30m[42m server [49m[39m src/tests/icon-512.test.ts [2m([22m[2m7 tests[22m[2m)[22m[32m 9[2mms[22m[39m
|
||
[32m✓[39m [30m[42m server [49m[39m src/tests/favicon-ico.spec.ts [2m([22m[2m3 tests[22m[2m)[22m[32m 6[2mms[22m[39m
|
||
[32m✓[39m [30m[42m server [49m[39m src/tests/instagram-url-validation.spec.ts [2m([22m[2m22 tests[22m[2m)[22m[32m 5[2mms[22m[39m
|
||
[32m✓[39m [30m[42m server [49m[39m src/tests/logger.spec.ts [2m([22m[2m13 tests[22m[2m)[22m[32m 11[2mms[22m[39m
|
||
[90mstdout[2m | src/lib/server/llm.spec.ts[2m > [22m[2mcheckModelAvailability[2m > [22m[2mshould return available: true when model is found
|
||
[22m[39m[LLM] Checking model availability: test-model
|
||
[LLM] Initializing client...
|
||
[LLM] Base URL: http://localhost:1234/v1
|
||
[LLM] Model: test-model
|
||
|
||
[90mstdout[2m | src/lib/server/llm.spec.ts[2m > [22m[2mcheckModelAvailability[2m > [22m[2mshould return available: true when model is found
|
||
[22m[39m[LLM] Model available: test-model
|
||
|
||
[90mstdout[2m | src/lib/server/llm.spec.ts[2m > [22m[2mcheckModelAvailability[2m > [22m[2mshould return available: false with message when model not found
|
||
[22m[39m[LLM] Checking model availability: missing-model
|
||
[LLM] Initializing client...
|
||
[LLM] Base URL: http://localhost:1234/v1
|
||
[LLM] Model: test-model
|
||
|
||
[90mstderr[2m | src/lib/server/llm.spec.ts[2m > [22m[2mcheckModelAvailability[2m > [22m[2mshould return available: false with message when model not found
|
||
[22m[39m[LLM] Model not found: missing-model
|
||
[LLM] Available models: gpt-4o, llama2
|
||
|
||
[90mstdout[2m | src/lib/server/llm.spec.ts[2m > [22m[2mcheckModelAvailability[2m > [22m[2mshould handle API errors gracefully
|
||
[22m[39m[LLM] Checking model availability: test-model
|
||
[LLM] Initializing client...
|
||
[LLM] Base URL: http://localhost:1234/v1
|
||
[LLM] Model: test-model
|
||
|
||
[90mstderr[2m | src/lib/server/llm.spec.ts[2m > [22m[2mcheckModelAvailability[2m > [22m[2mshould handle API errors gracefully
|
||
[22m[39m[LLM] Model availability check failed API connection failed
|
||
Stack: Error: API connection failed
|
||
at /home/moze/Sources/insta-recipe/src/lib/server/llm.spec.ts:63:36
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
|
||
at new Promise (<anonymous>)
|
||
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
|
||
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
|
||
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
|
||
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:12)
|
||
|
||
[90mstdout[2m | src/lib/server/llm.spec.ts[2m > [22m[2mcheckModelAvailability[2m > [22m[2mshould match models by exact ID (case-sensitive)
|
||
[22m[39m[LLM] Checking model availability: test-model
|
||
[LLM] Initializing client...
|
||
[LLM] Base URL: http://localhost:1234/v1
|
||
[LLM] Model: test-model
|
||
|
||
[90mstdout[2m | src/lib/server/llm.spec.ts[2m > [22m[2mcheckModelAvailability[2m > [22m[2mshould match models by exact ID (case-sensitive)
|
||
[22m[39m[LLM] Model available: test-model
|
||
|
||
[90mstdout[2m | src/lib/server/llm.spec.ts[2m > [22m[2mcheckModelAvailability[2m > [22m[2mshould match models by exact ID (case-sensitive)
|
||
[22m[39m[LLM] Checking model availability: TEST-MODEL
|
||
[LLM] Initializing client...
|
||
[LLM] Base URL: http://localhost:1234/v1
|
||
[LLM] Model: test-model
|
||
|
||
[90mstderr[2m | src/lib/server/llm.spec.ts[2m > [22m[2mcheckModelAvailability[2m > [22m[2mshould match models by exact ID (case-sensitive)
|
||
[22m[39m[LLM] Model not found: TEST-MODEL
|
||
[LLM] Available models: test-model, Test-Model
|
||
|
||
[90mstdout[2m | src/lib/server/llm.spec.ts[2m > [22m[2mcheckModelAvailability[2m > [22m[2mshould handle empty model list
|
||
[22m[39m[LLM] Checking model availability: any-model
|
||
[LLM] Initializing client...
|
||
[LLM] Base URL: http://localhost:1234/v1
|
||
[LLM] Model: test-model
|
||
|
||
[90mstderr[2m | src/lib/server/llm.spec.ts[2m > [22m[2mcheckModelAvailability[2m > [22m[2mshould handle empty model list
|
||
[22m[39m[LLM] Model not found: any-model
|
||
[LLM] Available models:
|
||
|
||
[32m✓[39m [30m[42m server [49m[39m src/lib/server/llm.spec.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 8[2mms[22m[39m
|
||
[90mstdout[2m | src/tests/llm-logging.spec.ts[2m > [22m[2mllm.ts logging[2m > [22m[2mshould use logError on health check failure
|
||
[22m[39m[LLM] Initializing client...
|
||
[LLM] Base URL: http://192.168.1.10:1234/v1
|
||
[LLM] Model: google/gemma-3-4b
|
||
|
||
[90mstderr[2m | src/tests/llm-logging.spec.ts[2m > [22m[2mllm.ts logging[2m > [22m[2mshould use logError on health check failure
|
||
[22m[39m[vitest] The vi.fn() mock did not use 'function' or 'class' in its implementation, see https://vitest.dev/api/vi#vi-spyon for examples.
|
||
|
||
[90mstdout[2m | src/tests/scheduler-logging.spec.ts[2m > [22m[2mscheduler.ts logging[2m > [22m[2mshould use logError when auth renewal fails
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstderr[2m | src/tests/scheduler-logging.spec.ts[2m > [22m[2mscheduler.ts logging[2m > [22m[2mlogError should properly serialize error objects
|
||
[22m[39m[Scheduler] Instagram authentication renewal failed Test renewal failure
|
||
Stack: Error stack trace here
|
||
|
||
[90mstderr[2m | src/tests/scheduler-logging.spec.ts[2m > [22m[2mscheduler.ts logging[2m > [22m[2mlogError should handle complex error objects
|
||
[22m[39m[Scheduler] Instagram authentication renewal failed {
|
||
"code": "AUTH_FAILED",
|
||
"message": "Session expired",
|
||
"details": {
|
||
"timestamp": 1771285716731,
|
||
"authPath": "/app/secrets/auth.json"
|
||
}
|
||
}
|
||
|
||
[90mstderr[2m | src/tests/scheduler-logging.spec.ts[2m > [22m[2mscheduler.ts logging[2m > [22m[2mlogged errors should not contain [object Object]
|
||
[22m[39m[Scheduler] Test error message Test error
|
||
Stack: Error: Test error
|
||
at /home/moze/Sources/insta-recipe/src/tests/scheduler-logging.spec.ts:75:17
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
|
||
at new Promise (<anonymous>)
|
||
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
|
||
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
|
||
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
|
||
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:12)
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mConfiguration[2m > [22m[2mshould use default interval when AUTH_SCHEDULER_INTERVAL_MINUTES is not set
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mConfiguration[2m > [22m[2mshould use default interval when AUTH_SCHEDULER_INTERVAL_MINUTES is not set
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mConfiguration[2m > [22m[2mshould parse custom interval minutes from environment
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mConfiguration[2m > [22m[2mshould parse custom interval minutes from environment
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mConfiguration[2m > [22m[2mshould disable scheduler when AUTH_SCHEDULER_ENABLED is not true
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mConfiguration[2m > [22m[2mshould disable scheduler when AUTH_SCHEDULER_ENABLED is not true
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mConfiguration[2m > [22m[2mshould parse AUTH_SCHEDULER_ENABLED as true when set to "true"
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mConfiguration[2m > [22m[2mshould parse AUTH_SCHEDULER_ENABLED as true when set to "true"
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstdout[2m | src/tests/llm-logging.spec.ts[2m > [22m[2mllm.ts logging[2m > [22m[2mshould use logError on model availability check failure
|
||
[22m[39m[LLM] Checking model availability: test-model
|
||
[LLM] Initializing client...
|
||
[LLM] Base URL: http://192.168.1.10:1234/v1
|
||
[LLM] Model: google/gemma-3-4b
|
||
|
||
[90mstderr[2m | src/tests/llm-logging.spec.ts[2m > [22m[2mllm.ts logging[2m > [22m[2mshould use logError on model availability check failure
|
||
[22m[39m[vitest] The vi.fn() mock did not use 'function' or 'class' in its implementation, see https://vitest.dev/api/vi#vi-spyon for examples.
|
||
|
||
[90mstdout[2m | src/tests/llm-logging.spec.ts[2m > [22m[2mllm.ts logging[2m > [22m[2mshould not log [object Object] for errors
|
||
[22m[39m[LLM] Initializing client...
|
||
[LLM] Base URL: http://192.168.1.10:1234/v1
|
||
[LLM] Model: google/gemma-3-4b
|
||
|
||
[90mstderr[2m | src/tests/llm-logging.spec.ts[2m > [22m[2mllm.ts logging[2m > [22m[2mshould not log [object Object] for errors
|
||
[22m[39m[vitest] The vi.fn() mock did not use 'function' or 'class' in its implementation, see https://vitest.dev/api/vi#vi-spyon for examples.
|
||
|
||
[90mstdout[2m | src/tests/llm-logging.spec.ts[2m > [22m[2mllm.ts logging[2m > [22m[2mshould serialize error details properly
|
||
[22m[39m[LLM] Checking model availability: test-model
|
||
[LLM] Initializing client...
|
||
[LLM] Base URL: http://192.168.1.10:1234/v1
|
||
[LLM] Model: google/gemma-3-4b
|
||
|
||
[90mstderr[2m | src/tests/llm-logging.spec.ts[2m > [22m[2mllm.ts logging[2m > [22m[2mshould serialize error details properly
|
||
[22m[39m[vitest] The vi.fn() mock did not use 'function' or 'class' in its implementation, see https://vitest.dev/api/vi#vi-spyon for examples.
|
||
|
||
[32m✓[39m [30m[42m server [49m[39m src/tests/scheduler-logging.spec.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 43[2mms[22m[39m
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mScheduler Lifecycle[2m > [22m[2mshould not start when disabled
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mScheduler Lifecycle[2m > [22m[2mshould not start when disabled
|
||
[22m[39m[Scheduler] Authentication scheduler is disabled (set AUTH_SCHEDULER_ENABLED=true to enable)
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mScheduler Lifecycle[2m > [22m[2mshould not start when disabled
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mScheduler Lifecycle[2m > [22m[2mshould start when enabled
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mScheduler Lifecycle[2m > [22m[2mshould start when enabled
|
||
[22m[39m[Scheduler] Starting authentication scheduler with 720min interval
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mScheduler Lifecycle[2m > [22m[2mshould start when enabled
|
||
[22m[39m[Scheduler] Stopping authentication scheduler...
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mScheduler Lifecycle[2m > [22m[2mshould not start twice
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mScheduler Lifecycle[2m > [22m[2mshould not start twice
|
||
[22m[39m[Scheduler] Starting authentication scheduler with 720min interval
|
||
|
||
[90mstderr[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mScheduler Lifecycle[2m > [22m[2mshould not start twice
|
||
[22m[39m[Scheduler] Scheduler is already running
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mScheduler Lifecycle[2m > [22m[2mshould not start twice
|
||
[22m[39m[Scheduler] Stopping authentication scheduler...
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mScheduler Lifecycle[2m > [22m[2mshould stop the scheduler
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mScheduler Lifecycle[2m > [22m[2mshould stop the scheduler
|
||
[22m[39m[Scheduler] Starting authentication scheduler with 720min interval
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mScheduler Lifecycle[2m > [22m[2mshould stop the scheduler
|
||
[22m[39m[Scheduler] Stopping authentication scheduler...
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mScheduler Lifecycle[2m > [22m[2mshould stop the scheduler
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mScheduler Lifecycle[2m > [22m[2mshould handle stopping when not running
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mScheduler Lifecycle[2m > [22m[2mshould handle stopping when not running
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mScheduler Lifecycle[2m > [22m[2mshould handle stopping when not running
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mStatus Reporting[2m > [22m[2mshould return scheduler status with default values
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mStatus Reporting[2m > [22m[2mshould return scheduler status with default values
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mStatus Reporting[2m > [22m[2mshould report running state correctly
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mStatus Reporting[2m > [22m[2mshould report running state correctly
|
||
[22m[39m[Scheduler] Starting authentication scheduler with 720min interval
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mStatus Reporting[2m > [22m[2mshould report running state correctly
|
||
[22m[39m[Scheduler] Stopping authentication scheduler...
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mStatus Reporting[2m > [22m[2mshould track configuration
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mStatus Reporting[2m > [22m[2mshould track configuration
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mAuth Renewal[2m > [22m[2mshould skip renewal if no auth.json exists
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mAuth Renewal[2m > [22m[2mshould skip renewal if no auth.json exists
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mAuth Renewal[2m > [22m[2mshould prevent concurrent renewal attempts
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mAuth Renewal[2m > [22m[2mshould prevent concurrent renewal attempts
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mEnvironment Variables[2m > [22m[2mshould handle empty AUTH_SCHEDULER_INTERVAL_MINUTES with default
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[90mstdout[2m | src/tests/scheduler.spec.ts[2m > [22m[2mScheduler Service[2m > [22m[2mEnvironment Variables[2m > [22m[2mshould handle empty AUTH_SCHEDULER_INTERVAL_MINUTES with default
|
||
[22m[39m[Scheduler] Scheduler is not running
|
||
|
||
[31m❯[39m [30m[42m server [49m[39m src/tests/llm-logging.spec.ts [2m([22m[2m4 tests[22m[2m | [22m[31m3 failed[39m[2m)[22m[32m 18[2mms[22m[39m
|
||
[31m [31m×[31m should use logError on health check failure[39m[32m 10[2mms[22m[39m
|
||
[31m [31m×[31m should use logError on model availability check failure[39m[32m 3[2mms[22m[39m
|
||
[32m✓[39m should not log [object Object] for errors[32m 2[2mms[22m[39m
|
||
[31m [31m×[31m should serialize error details properly[39m[32m 2[2mms[22m[39m
|
||
[32m✓[39m [30m[42m server [49m[39m src/tests/scheduler.spec.ts [2m([22m[2m15 tests[22m[2m)[22m[32m 13[2mms[22m[39m
|
||
[90mstderr[2m | src/tests/queue-manager.spec.ts[2m > [22m[2mQueueManager[2m > [22m[2msubscribe[2m > [22m[2mshould handle subscriber errors gracefully
|
||
[22m[39m[QueueManager] Subscriber error Subscriber error
|
||
Stack: Error: Subscriber error
|
||
at /home/moze/Sources/insta-recipe/src/tests/queue-manager.spec.ts:325:15
|
||
at Mock (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/spy/dist/index.js:280:34)
|
||
at QueueManager.notifySubscribers (/home/moze/Sources/insta-recipe/src/lib/server/queue/QueueManager.ts:429:9)
|
||
at QueueManager.enqueue (/home/moze/Sources/insta-recipe/src/lib/server/queue/QueueManager.ts:83:10)
|
||
at /home/moze/Sources/insta-recipe/src/tests/queue-manager.spec.ts:333:22
|
||
at Proxy.assertThrows (file:///home/moze/Sources/insta-recipe/node_modules/chai/index.js:2798:5)
|
||
at Proxy.methodWrapper (file:///home/moze/Sources/insta-recipe/node_modules/chai/index.js:1700:25)
|
||
at Proxy.<anonymous> (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/expect/dist/index.js:1149:12)
|
||
at Proxy.overwritingMethodWrapper (file:///home/moze/Sources/insta-recipe/node_modules/chai/index.js:1750:33)
|
||
at Proxy.<anonymous> (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/expect/dist/index.js:1485:16)
|
||
|
||
[32m✓[39m [30m[42m server [49m[39m src/tests/queue-manager-logging.spec.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 8[2mms[22m[39m
|
||
[32m✓[39m [30m[42m server [49m[39m src/demo.spec.ts [2m([22m[2m1 test[22m[2m)[22m[32m 2[2mms[22m[39m
|
||
[32m✓[39m [30m[42m server [49m[39m src/tests/queue-manager.spec.ts [2m([22m[2m28 tests[22m[2m)[22m[32m 18[2mms[22m[39m
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould have VAPID public key configured
|
||
[22m[39m[PushService] Clearing all subscriptions
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould send notification with web-push
|
||
[22m[39m[PushService] Clearing all subscriptions
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould send notification with web-push
|
||
[22m[39m[PushService] Subscribing client client-1
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould send notification with web-push
|
||
[22m[39m[PushService] Sending notification to 1 subscribers
|
||
[PushService] Notification payload: { type: [32m'success'[39m, itemId: [32m'test-123'[39m, body: [32m'Test notification'[39m }
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould send notification with web-push
|
||
[22m[39m[PushService] ✓ Sent notification to https://push.example.com/test...
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould send notification with web-push
|
||
[22m[39m[PushService] ✓ Sent notification to client client-1
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould handle subscription expiration (410)
|
||
[22m[39m[PushService] Clearing all subscriptions
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould handle subscription expiration (410)
|
||
[22m[39m[PushService] Subscribing client client-1
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould handle subscription expiration (410)
|
||
[22m[39m[PushService] Sending notification to 1 subscribers
|
||
[PushService] Notification payload: { type: [32m'error'[39m, itemId: [32m'test'[39m, body: [32m'Test'[39m }
|
||
|
||
[90mstderr[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould handle subscription expiration (410)
|
||
[22m[39m[PushService] Subscription expired: https://push.example.com/expired...
|
||
|
||
[90mstderr[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould handle subscription expiration (410)
|
||
[22m[39m[PushService] ✗ Failed to send to client client-1: Error: Subscription expired
|
||
at PushNotificationService.sendToSubscription [90m(/home/moze/Sources/insta-recipe/[39msrc/lib/server/notifications/PushNotificationService.ts:142:15[90m)[39m
|
||
[90m at processTicksAndRejections (node:internal/process/task_queues:103:5)[39m
|
||
at PushNotificationService.sendNotification [90m(/home/moze/Sources/insta-recipe/[39msrc/lib/server/notifications/PushNotificationService.ts:106:9[90m)[39m
|
||
at [90m/home/moze/Sources/insta-recipe/[39msrc/tests/push-notification-service.spec.ts:76:5
|
||
at [90mfile:///home/moze/Sources/insta-recipe/[39mnode_modules/[4m@vitest/runner[24m/dist/index.js:919:20
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould send notification with TTL of 24 hours
|
||
[22m[39m[PushService] Clearing all subscriptions
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould send notification with TTL of 24 hours
|
||
[22m[39m[PushService] Subscribing client client-2
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould send notification with TTL of 24 hours
|
||
[22m[39m[PushService] Sending notification to 1 subscribers
|
||
[PushService] Notification payload: { type: [32m'progress'[39m, itemId: [32m'test-456'[39m, body: [32m'Progress update'[39m }
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould send notification with TTL of 24 hours
|
||
[22m[39m[PushService] ✓ Sent notification to https://push.example.com/test-ttl...
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould send notification with TTL of 24 hours
|
||
[22m[39m[PushService] ✓ Sent notification to client client-2
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould serialize notification data as JSON
|
||
[22m[39m[PushService] Clearing all subscriptions
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould serialize notification data as JSON
|
||
[22m[39m[PushService] Subscribing client client-3
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould serialize notification data as JSON
|
||
[22m[39m[PushService] Sending notification to 1 subscribers
|
||
[PushService] Notification payload: {
|
||
type: [32m'success'[39m,
|
||
itemId: [32m'test-789'[39m,
|
||
body: [32m'JSON test'[39m,
|
||
recipeName: [32m'Test Recipe'[39m
|
||
}
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould serialize notification data as JSON
|
||
[22m[39m[PushService] ✓ Sent notification to https://push.example.com/test-json...
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould serialize notification data as JSON
|
||
[22m[39m[PushService] ✓ Sent notification to client client-3
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould handle multiple subscriptions
|
||
[22m[39m[PushService] Clearing all subscriptions
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould handle multiple subscriptions
|
||
[22m[39m[PushService] Subscribing client client-1
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould handle multiple subscriptions
|
||
[22m[39m[PushService] Subscribing client client-2
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould handle multiple subscriptions
|
||
[22m[39m[PushService] Sending notification to 2 subscribers
|
||
[PushService] Notification payload: {
|
||
type: [32m'success'[39m,
|
||
itemId: [32m'test-multi'[39m,
|
||
body: [32m'Multi-subscriber test'[39m
|
||
}
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould handle multiple subscriptions
|
||
[22m[39m[PushService] ✓ Sent notification to https://push.example.com/client1...
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould handle multiple subscriptions
|
||
[22m[39m[PushService] ✓ Sent notification to client client-1
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould handle multiple subscriptions
|
||
[22m[39m[PushService] ✓ Sent notification to https://push.example.com/client2...
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould handle multiple subscriptions
|
||
[22m[39m[PushService] ✓ Sent notification to client client-2
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould log endpoint prefix only (privacy)
|
||
[22m[39m[PushService] Clearing all subscriptions
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould log endpoint prefix only (privacy)
|
||
[22m[39m[PushService] Subscribing client client-privacy
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould log endpoint prefix only (privacy)
|
||
[22m[39m[PushService] Sending notification to 1 subscribers
|
||
[PushService] Notification payload: { type: [32m'success'[39m, itemId: [32m'test-privacy'[39m, body: [32m'Privacy test'[39m }
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould log endpoint prefix only (privacy)
|
||
[22m[39m[PushService] ✓ Sent notification to https://push.example.com/very-long-endpoint-with-s...
|
||
|
||
[90mstdout[2m | src/tests/push-notification-service.spec.ts[2m > [22m[2mPushNotificationService web-push integration[2m > [22m[2mshould log endpoint prefix only (privacy)
|
||
[22m[39m[PushService] ✓ Sent notification to client client-privacy
|
||
|
||
[32m✓[39m [30m[42m server [49m[39m src/tests/push-notification-service.spec.ts [2m([22m[2m7 tests[22m[2m)[22m[32m 15[2mms[22m[39m
|
||
[90mstdout[2m | src/tests/notification-test-api.spec.ts[2m > [22m[2mPOST /api/notifications/test[2m > [22m[2mshould send test success notification
|
||
[22m[39m[NotificationTestAPI] Sent test success notification
|
||
|
||
[90mstdout[2m | src/tests/notification-test-api.spec.ts[2m > [22m[2mPOST /api/notifications/test[2m > [22m[2mshould send test error notification
|
||
[22m[39m[NotificationTestAPI] Sent test error notification
|
||
|
||
[90mstdout[2m | src/tests/notification-test-api.spec.ts[2m > [22m[2mPOST /api/notifications/test[2m > [22m[2mshould send test progress notification
|
||
[22m[39m[NotificationTestAPI] Sent test progress notification
|
||
|
||
[90mstdout[2m | src/tests/notification-test-api.spec.ts[2m > [22m[2mPOST /api/notifications/test[2m > [22m[2mshould return subscriber count in response
|
||
[22m[39m[NotificationTestAPI] Sent test success notification
|
||
|
||
[90mstderr[2m | src/tests/notification-test-api.spec.ts[2m > [22m[2mPOST /api/notifications/test[2m > [22m[2mshould handle sendNotification errors
|
||
[22m[39m[NotificationTestAPI] Error sending test notification: Push service error
|
||
|
||
[90mstdout[2m | src/tests/notification-test-api.spec.ts[2m > [22m[2mPOST /api/notifications/test[2m > [22m[2mshould generate unique itemId for each request
|
||
[22m[39m[NotificationTestAPI] Sent test success notification
|
||
|
||
[90mstdout[2m | src/tests/notification-test-api.spec.ts[2m > [22m[2mPOST /api/notifications/test[2m > [22m[2mshould generate unique itemId for each request
|
||
[22m[39m[NotificationTestAPI] Sent test success notification
|
||
|
||
[32m✓[39m [30m[42m server [49m[39m src/tests/notification-test-api.spec.ts [2m([22m[2m8 tests[22m[2m)[22m[32m 35[2mms[22m[39m
|
||
[90mstdout[2m | src/tests/parser-logging.spec.ts[2m > [22m[2mparser.ts logging[2m > [22m[2mdetectRecipe should use logError on failure
|
||
[22m[39m[LLM] Starting recipe detection...
|
||
[LLM] Model: test-model
|
||
[LLM] Text length: [33m9[39m
|
||
|
||
[90mstderr[2m | src/tests/parser-logging.spec.ts[2m > [22m[2mparser.ts logging[2m > [22m[2mdetectRecipe should use logError on failure
|
||
[22m[39m[LLM] Recipe detection error LLM detection error
|
||
Stack: Error: LLM detection error
|
||
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:19:41
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
|
||
at new Promise (<anonymous>)
|
||
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
|
||
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
|
||
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
|
||
at processTicksAndRejections (node:internal/process/task_queues:103:5)
|
||
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
|
||
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
|
||
|
||
[90mstdout[2m | src/tests/parser-logging.spec.ts[2m > [22m[2mparser.ts logging[2m > [22m[2mparseRecipe should use logError on failure
|
||
[22m[39m[LLM] Starting recipe parsing...
|
||
[LLM] Model: test-model
|
||
|
||
[90mstderr[2m | src/tests/parser-logging.spec.ts[2m > [22m[2mparser.ts logging[2m > [22m[2mparseRecipe should use logError on failure
|
||
[22m[39m[LLM] Recipe parsing error LLM parse error
|
||
Stack: Error: LLM parse error
|
||
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:25:41
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
|
||
at new Promise (<anonymous>)
|
||
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
|
||
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
|
||
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
|
||
at processTicksAndRejections (node:internal/process/task_queues:103:5)
|
||
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
|
||
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
|
||
|
||
[90mstdout[2m | src/tests/parser-logging.spec.ts[2m > [22m[2mparser.ts logging[2m > [22m[2mshould not log stack trace separately
|
||
[22m[39m[LLM] Starting recipe detection...
|
||
[LLM] Model: test-model
|
||
[LLM] Text length: [33m4[39m
|
||
|
||
[90mstderr[2m | src/tests/parser-logging.spec.ts[2m > [22m[2mparser.ts logging[2m > [22m[2mshould not log stack trace separately
|
||
[22m[39m[LLM] Recipe detection error LLM detection error
|
||
Stack: Error: LLM detection error
|
||
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:19:41
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
|
||
at new Promise (<anonymous>)
|
||
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
|
||
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
|
||
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
|
||
at processTicksAndRejections (node:internal/process/task_queues:103:5)
|
||
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
|
||
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
|
||
|
||
[90mstdout[2m | src/tests/parser-logging.spec.ts[2m > [22m[2mparser.ts logging[2m > [22m[2mlogs should not contain [object Object]
|
||
[22m[39m[LLM] Starting recipe detection...
|
||
[LLM] Model: test-model
|
||
[LLM] Text length: [33m9[39m
|
||
|
||
[90mstderr[2m | src/tests/parser-logging.spec.ts[2m > [22m[2mparser.ts logging[2m > [22m[2mlogs should not contain [object Object]
|
||
[22m[39m[LLM] Recipe detection error LLM detection error
|
||
Stack: Error: LLM detection error
|
||
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:19:41
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
|
||
at new Promise (<anonymous>)
|
||
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
|
||
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
|
||
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
|
||
at processTicksAndRejections (node:internal/process/task_queues:103:5)
|
||
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
|
||
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
|
||
|
||
[90mstdout[2m | src/tests/parser-logging.spec.ts[2m > [22m[2mparser.ts logging[2m > [22m[2mlogs should not contain [object Object]
|
||
[22m[39m[LLM] Starting recipe parsing...
|
||
[LLM] Model: test-model
|
||
|
||
[90mstderr[2m | src/tests/parser-logging.spec.ts[2m > [22m[2mparser.ts logging[2m > [22m[2mlogs should not contain [object Object]
|
||
[22m[39m[LLM] Recipe parsing error LLM parse error
|
||
Stack: Error: LLM parse error
|
||
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:25:41
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
|
||
at new Promise (<anonymous>)
|
||
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
|
||
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
|
||
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
|
||
at processTicksAndRejections (node:internal/process/task_queues:103:5)
|
||
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
|
||
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
|
||
|
||
[90mstdout[2m | src/tests/parser-logging.spec.ts[2m > [22m[2mparser.ts logging[2m > [22m[2mlogError should serialize error properly
|
||
[22m[39m[LLM] Starting recipe detection...
|
||
[LLM] Model: test-model
|
||
[LLM] Text length: [33m4[39m
|
||
|
||
[90mstderr[2m | src/tests/parser-logging.spec.ts[2m > [22m[2mparser.ts logging[2m > [22m[2mlogError should serialize error properly
|
||
[22m[39m[LLM] Recipe detection error LLM detection error
|
||
Stack: Error: LLM detection error
|
||
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:19:41
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
|
||
at new Promise (<anonymous>)
|
||
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
|
||
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
|
||
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
|
||
at processTicksAndRejections (node:internal/process/task_queues:103:5)
|
||
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
|
||
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
|
||
|
||
[90mstdout[2m | src/tests/queue-sse.spec.ts[2m > [22m[2mQueue SSE Stream Endpoint[2m > [22m[2mGET /api/queue/stream[2m > [22m[2mshould return SSE response with correct headers
|
||
[22m[39m[SSE] Stream started
|
||
|
||
[90mstdout[2m | src/tests/parser-logging.spec.ts[2m > [22m[2mparser.ts logging[2m > [22m[2mboth detectRecipe and parseRecipe should use logError
|
||
[22m[39m[LLM] Starting recipe detection...
|
||
[LLM] Model: test-model
|
||
[LLM] Text length: [33m9[39m
|
||
|
||
[90mstderr[2m | src/tests/parser-logging.spec.ts[2m > [22m[2mparser.ts logging[2m > [22m[2mboth detectRecipe and parseRecipe should use logError
|
||
[22m[39m[LLM] Recipe detection error LLM detection error
|
||
Stack: Error: LLM detection error
|
||
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:19:41
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
|
||
at new Promise (<anonymous>)
|
||
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
|
||
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
|
||
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
|
||
at processTicksAndRejections (node:internal/process/task_queues:103:5)
|
||
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
|
||
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
|
||
|
||
[90mstdout[2m | src/tests/parser-logging.spec.ts[2m > [22m[2mparser.ts logging[2m > [22m[2mboth detectRecipe and parseRecipe should use logError
|
||
[22m[39m[LLM] Starting recipe parsing...
|
||
[LLM] Model: test-model
|
||
|
||
[90mstderr[2m | src/tests/parser-logging.spec.ts[2m > [22m[2mparser.ts logging[2m > [22m[2mboth detectRecipe and parseRecipe should use logError
|
||
[22m[39m[LLM] Recipe parsing error LLM parse error
|
||
Stack: Error: LLM parse error
|
||
at /home/moze/Sources/insta-recipe/src/tests/parser-logging.spec.ts:25:41
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
|
||
at new Promise (<anonymous>)
|
||
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
|
||
at runHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1515:51)
|
||
at callSuiteHook (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1521:25)
|
||
at processTicksAndRejections (node:internal/process/task_queues:103:5)
|
||
at runTest (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1646:26)
|
||
at runSuite (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1818:8)
|
||
|
||
[90mstdout[2m | src/tests/queue-sse.spec.ts[2m > [22m[2mQueue SSE Stream Endpoint[2m > [22m[2mGET /api/queue/stream[2m > [22m[2mshould accept valid status filter
|
||
[22m[39m[SSE] Stream started
|
||
|
||
[90mstdout[2m | src/tests/queue-sse.spec.ts[2m > [22m[2mQueue SSE Stream Endpoint[2m > [22m[2mGET /api/queue/stream[2m > [22m[2mshould accept valid item ID filter
|
||
[22m[39m[SSE] Stream started
|
||
|
||
[32m✓[39m [30m[42m server [49m[39m src/tests/parser-logging.spec.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 17[2mms[22m[39m
|
||
[90mstdout[2m | src/tests/queue-sse.spec.ts[2m > [22m[2mQueue SSE Stream Endpoint[2m > [22m[2mGET /api/queue/stream[2m > [22m[2mshould handle stream initialization without errors
|
||
[22m[39m[SSE] Stream started
|
||
|
||
[90mstdout[2m | src/tests/queue-sse.spec.ts[2m > [22m[2mQueue SSE Stream Endpoint[2m > [22m[2mGET /api/queue/stream[2m > [22m[2mshould handle stream initialization without errors
|
||
[22m[39m[SSE] Client disconnected (abort signal)
|
||
[SSE] Cleaning up stream connection
|
||
|
||
[32m✓[39m [30m[42m server [49m[39m src/tests/queue-sse.spec.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 29[2mms[22m[39m
|
||
[32m✓[39m [30m[42m server [49m[39m src/tests/error-handler-logging.spec.ts [2m([22m[2m7 tests[22m[2m)[22m[32m 29[2mms[22m[39m
|
||
[90mstdout[2m | src/tests/queue-processor.spec.ts
|
||
[22m[39m[QueueProcessor] Started with concurrency 2
|
||
|
||
[90mstdout[2m | src/tests/queue-processor.spec.ts[2m > [22m[2mQueueProcessor Integration Tests[2m > [22m[2mshould process item through all phases when Tandoor is configured
|
||
[22m[39m[QueueProcessor] New item enqueued: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce, triggering processing
|
||
|
||
[90mstdout[2m | src/tests/queue-processor.spec.ts[2m > [22m[2mQueueProcessor Integration Tests[2m > [22m[2mshould process item through all phases when Tandoor is configured
|
||
[22m[39m[QueueProcessor] Starting item 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce (1/2 active)
|
||
[QueueProcessor] Processing https://instagram.com/p/test-tandoor
|
||
[QueueProcessor] Extracting: https://instagram.com/p/test-tandoor
|
||
|
||
[90mstdout[2m | src/tests/queue-processor.spec.ts[2m > [22m[2mQueueProcessor Integration Tests[2m > [22m[2mshould process item through all phases when Tandoor is configured
|
||
[22m[39m[QueueProcessor] ✓ Extraction complete: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce
|
||
|
||
[90mstdout[2m | src/tests/queue-processor.spec.ts[2m > [22m[2mQueueProcessor Integration Tests[2m > [22m[2mshould process item through all phases when Tandoor is configured
|
||
[22m[39m[QueueProcessor] Parsing recipe: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce
|
||
|
||
[90mstdout[2m | src/tests/queue-processor.spec.ts[2m > [22m[2mQueueProcessor Integration Tests[2m > [22m[2mshould process item through all phases when Tandoor is configured
|
||
[22m[39m[QueueProcessor] ✓ Parsing complete: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce - Test Recipe
|
||
|
||
[90mstdout[2m | src/tests/queue-processor.spec.ts[2m > [22m[2mQueueProcessor Integration Tests[2m > [22m[2mshould process item through all phases when Tandoor is configured
|
||
[22m[39m[QueueProcessor] Uploading to Tandoor: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce
|
||
|
||
[90mstdout[2m | src/tests/queue-processor.spec.ts[2m > [22m[2mQueueProcessor Integration Tests[2m > [22m[2mshould process item through all phases when Tandoor is configured
|
||
[22m[39m[QueueProcessor] ✓ Recipe uploaded: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce → Tandoor #123
|
||
|
||
[90mstdout[2m | src/tests/queue-processor.spec.ts[2m > [22m[2mQueueProcessor Integration Tests[2m > [22m[2mshould process item through all phases when Tandoor is configured
|
||
[22m[39m[QueueProcessor] ✓ Success: 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce
|
||
[PushService] No subscriptions, skipping notification
|
||
|
||
[90mstdout[2m | src/tests/queue-processor.spec.ts[2m > [22m[2mQueueProcessor Integration Tests[2m > [22m[2mshould process item through all phases when Tandoor is configured
|
||
[22m[39m[QueueProcessor] Finished item 5b9dcfd2-9323-4dba-a7d4-ecebcef0a9ce (0/2 active)
|
||
|
||
[90mstderr[2m | src/tests/queue-api.spec.ts[2m > [22m[2mQueue API Endpoints[2m > [22m[2mPOST /api/queue[2m > [22m[2mshould reject HTTP (non-HTTPS) URLs
|
||
[22m[39m[API Error] Instagram URL must use HTTPS protocol
|
||
Stack: ValidationError: Instagram URL must use HTTPS protocol
|
||
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
|
||
at processTicksAndRejections (node:internal/process/task_queues:103:5)
|
||
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:127:26
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
|
||
|
||
[90mstderr[2m | src/tests/queue-api.spec.ts[2m > [22m[2mQueue API Endpoints[2m > [22m[2mPOST /api/queue[2m > [22m[2mshould reject invalid Instagram URL formats
|
||
[22m[39m[API Error] URL must be from instagram.com domain
|
||
Stack: ValidationError: URL must be from instagram.com domain
|
||
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
|
||
at processTicksAndRejections (node:internal/process/task_queues:103:5)
|
||
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:154:28
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
|
||
|
||
[90mstderr[2m | src/tests/queue-api.spec.ts[2m > [22m[2mQueue API Endpoints[2m > [22m[2mPOST /api/queue[2m > [22m[2mshould reject invalid Instagram URL formats
|
||
[22m[39m[API Error] Invalid URL format
|
||
Stack: ValidationError: Invalid URL format
|
||
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
|
||
at processTicksAndRejections (node:internal/process/task_queues:103:5)
|
||
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:154:28
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
|
||
|
||
[90mstderr[2m | src/tests/queue-api.spec.ts[2m > [22m[2mQueue API Endpoints[2m > [22m[2mPOST /api/queue[2m > [22m[2mshould reject invalid Instagram URL formats
|
||
[22m[39m[API Error] URL must be from instagram.com domain
|
||
Stack: ValidationError: URL must be from instagram.com domain
|
||
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
|
||
at processTicksAndRejections (node:internal/process/task_queues:103:5)
|
||
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:154:28
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
|
||
|
||
[90mstderr[2m | src/tests/queue-api.spec.ts[2m > [22m[2mQueue API Endpoints[2m > [22m[2mPOST /api/queue[2m > [22m[2mshould reject non-Instagram domains
|
||
[22m[39m[API Error] URL must be from instagram.com domain
|
||
Stack: ValidationError: URL must be from instagram.com domain
|
||
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
|
||
at processTicksAndRejections (node:internal/process/task_queues:103:5)
|
||
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:187:28
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
|
||
|
||
[90mstderr[2m | src/tests/queue-api.spec.ts[2m > [22m[2mQueue API Endpoints[2m > [22m[2mPOST /api/queue[2m > [22m[2mshould reject non-Instagram domains
|
||
[22m[39m[API Error] URL must be from instagram.com domain
|
||
Stack: ValidationError: URL must be from instagram.com domain
|
||
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
|
||
at processTicksAndRejections (node:internal/process/task_queues:103:5)
|
||
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:187:28
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
|
||
|
||
[90mstderr[2m | src/tests/queue-api.spec.ts[2m > [22m[2mQueue API Endpoints[2m > [22m[2mPOST /api/queue[2m > [22m[2mshould reject non-Instagram domains
|
||
[22m[39m[API Error] URL must be from instagram.com domain
|
||
Stack: ValidationError: URL must be from instagram.com domain
|
||
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
|
||
at processTicksAndRejections (node:internal/process/task_queues:103:5)
|
||
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:187:28
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
|
||
|
||
[90mstderr[2m | src/tests/queue-api.spec.ts[2m > [22m[2mQueue API Endpoints[2m > [22m[2mPOST /api/queue[2m > [22m[2mshould reject non-Instagram domains
|
||
[22m[39m[API Error] URL must be from instagram.com domain
|
||
Stack: ValidationError: URL must be from instagram.com domain
|
||
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:50:13)
|
||
at processTicksAndRejections (node:internal/process/task_queues:103:5)
|
||
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:187:28
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
|
||
|
||
[90mstderr[2m | src/tests/queue-api.spec.ts[2m > [22m[2mQueue API Endpoints[2m > [22m[2mPOST /api/queue[2m > [22m[2mshould reject missing URL
|
||
[22m[39m[API Error] URL is required and must be a string
|
||
Stack: ValidationError: URL is required and must be a string
|
||
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:44:13)
|
||
at processTicksAndRejections (node:internal/process/task_queues:103:5)
|
||
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:208:26
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
|
||
|
||
[90mstderr[2m | src/tests/queue-api.spec.ts[2m > [22m[2mQueue API Endpoints[2m > [22m[2mPOST /api/queue[2m > [22m[2mshould reject non-JSON body
|
||
[22m[39m[API Error] Invalid JSON in request body
|
||
Stack: ValidationError: Invalid JSON in request body
|
||
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:32:13)
|
||
at processTicksAndRejections (node:internal/process/task_queues:103:5)
|
||
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:228:26
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
|
||
|
||
[90mstderr[2m | src/tests/queue-api.spec.ts[2m > [22m[2mQueue API Endpoints[2m > [22m[2mGET /api/queue[2m > [22m[2mshould validate query parameters
|
||
[22m[39m[API Error] Invalid status filter. Must be one of: pending, in_progress, success, unhealthy, error
|
||
Stack: ValidationError: Invalid status filter. Must be one of: pending, in_progress, success, unhealthy, error
|
||
at GET (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:114:13)
|
||
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:321:30
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
|
||
at new Promise (<anonymous>)
|
||
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
|
||
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
|
||
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
|
||
|
||
[90mstderr[2m | src/tests/queue-api.spec.ts[2m > [22m[2mQueue API Endpoints[2m > [22m[2mGET /api/queue[2m > [22m[2mshould validate query parameters
|
||
[22m[39m[API Error] Limit must be a positive integer
|
||
Stack: ValidationError: Limit must be a positive integer
|
||
at GET (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:93:15)
|
||
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:334:30
|
||
at processTicksAndRejections (node:internal/process/task_queues:103:5)
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
|
||
|
||
[90mstderr[2m | src/tests/queue-api.spec.ts[2m > [22m[2mQueue API Endpoints[2m > [22m[2mGET /api/queue[2m > [22m[2mshould validate query parameters
|
||
[22m[39m[API Error] Offset must be a non-negative integer
|
||
Stack: ValidationError: Offset must be a non-negative integer
|
||
at GET (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:106:15)
|
||
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:347:30
|
||
at processTicksAndRejections (node:internal/process/task_queues:103:5)
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
|
||
|
||
[90mstderr[2m | src/tests/queue-api.spec.ts[2m > [22m[2mQueue API Endpoints[2m > [22m[2mGET /api/queue[2m > [22m[2mshould validate query parameters
|
||
[22m[39m[API Error] Limit cannot exceed 200
|
||
Stack: ValidationError: Limit cannot exceed 200
|
||
at GET (/home/moze/Sources/insta-recipe/src/routes/api/queue/+server.ts:96:15)
|
||
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:360:30
|
||
at processTicksAndRejections (node:internal/process/task_queues:103:5)
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
|
||
|
||
[90mstderr[2m | src/tests/queue-api.spec.ts[2m > [22m[2mQueue API Endpoints[2m > [22m[2mGET /api/queue/[id][2m > [22m[2mshould return 404 for non-existent ID
|
||
[22m[39m[API Error] Queue item not found
|
||
Stack: NotFoundError: Queue item not found
|
||
at GET (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:40:13)
|
||
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:390:32
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
|
||
at new Promise (<anonymous>)
|
||
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
|
||
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
|
||
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
|
||
|
||
[90mstderr[2m | src/tests/queue-api.spec.ts[2m > [22m[2mQueue API Endpoints[2m > [22m[2mGET /api/queue/[id][2m > [22m[2mshould validate ID format
|
||
[22m[39m[API Error] Invalid queue item ID format
|
||
Stack: ValidationError: Invalid queue item ID format
|
||
at GET (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:33:13)
|
||
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:404:32
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
|
||
at new Promise (<anonymous>)
|
||
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
|
||
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
|
||
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
|
||
|
||
[90mstderr[2m | src/tests/queue-api.spec.ts[2m > [22m[2mQueue API Endpoints[2m > [22m[2mPOST /api/queue/[id]/retry[2m > [22m[2mshould reject retry for non-retryable statuses
|
||
[22m[39m[API Error] Cannot retry item with status 'pending'. Only 'error' and 'unhealthy' items can be retried.
|
||
Stack: ConflictError: Cannot retry item with status 'pending'. Only 'error' and 'unhealthy' items can be retried.
|
||
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/retry/+server.ts:46:13)
|
||
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:482:32
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
|
||
at new Promise (<anonymous>)
|
||
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
|
||
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
|
||
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
|
||
|
||
[90mstderr[2m | src/tests/queue-api.spec.ts[2m > [22m[2mQueue API Endpoints[2m > [22m[2mPOST /api/queue/[id]/retry[2m > [22m[2mshould return 404 for non-existent item
|
||
[22m[39m[API Error] Queue item not found
|
||
Stack: NotFoundError: Queue item not found
|
||
at POST (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/retry/+server.ts:41:13)
|
||
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:502:32
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
|
||
at new Promise (<anonymous>)
|
||
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
|
||
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
|
||
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
|
||
|
||
[90mstderr[2m | src/tests/queue-api.spec.ts[2m > [22m[2mQueue API Endpoints[2m > [22m[2mDELETE /api/queue/[id][2m > [22m[2mshould return 404 for non-existent item
|
||
[22m[39m[API Error] Queue item not found
|
||
Stack: NotFoundError: Queue item not found
|
||
at DELETE (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:76:13)
|
||
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:549:32
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
|
||
at new Promise (<anonymous>)
|
||
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
|
||
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
|
||
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
|
||
|
||
[90mstderr[2m | src/tests/queue-api.spec.ts[2m > [22m[2mQueue API Endpoints[2m > [22m[2mDELETE /api/queue/[id][2m > [22m[2mshould return 409 for in-progress items
|
||
[22m[39m[API Error] Cannot delete item that is currently being processed
|
||
Stack: ConflictError: Cannot delete item that is currently being processed
|
||
at DELETE (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:81:13)
|
||
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:572:32
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
|
||
at new Promise (<anonymous>)
|
||
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
|
||
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
|
||
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
|
||
|
||
[90mstderr[2m | src/tests/queue-api.spec.ts[2m > [22m[2mQueue API Endpoints[2m > [22m[2mDELETE /api/queue/[id][2m > [22m[2mshould validate ID format
|
||
[22m[39m[API Error] Invalid queue item ID format
|
||
Stack: ValidationError: Invalid queue item ID format
|
||
at DELETE (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:70:13)
|
||
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:597:34
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:145:11
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:26
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1244:20
|
||
at new Promise (<anonymous>)
|
||
at runWithTimeout (file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1210:10)
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:1654:37
|
||
at Traces.$ (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/traces.U4xDYhzZ.js:115:27)
|
||
at trace (file:///home/moze/Sources/insta-recipe/node_modules/vitest/dist/chunks/test.DqQZzsWf.js:234:21)
|
||
|
||
[90mstderr[2m | src/tests/queue-api.spec.ts[2m > [22m[2mQueue API Endpoints[2m > [22m[2mDELETE /api/queue/[id][2m > [22m[2mshould validate ID format
|
||
[22m[39m[API Error] Invalid queue item ID format
|
||
Stack: ValidationError: Invalid queue item ID format
|
||
at DELETE (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:70:13)
|
||
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:597:34
|
||
at processTicksAndRejections (node:internal/process/task_queues:103:5)
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
|
||
|
||
[90mstderr[2m | src/tests/queue-api.spec.ts[2m > [22m[2mQueue API Endpoints[2m > [22m[2mDELETE /api/queue/[id][2m > [22m[2mshould validate ID format
|
||
[22m[39m[API Error] Invalid queue item ID format
|
||
Stack: ValidationError: Invalid queue item ID format
|
||
at DELETE (/home/moze/Sources/insta-recipe/src/routes/api/queue/[id]/+server.ts:70:13)
|
||
at /home/moze/Sources/insta-recipe/src/tests/queue-api.spec.ts:597:34
|
||
at processTicksAndRejections (node:internal/process/task_queues:103:5)
|
||
at file:///home/moze/Sources/insta-recipe/node_modules/@vitest/runner/dist/index.js:919:20
|
||
|
||
[32m✓[39m [30m[42m server [49m[39m src/tests/queue-api.spec.ts [2m([22m[2m26 tests[22m[2m)[22m[32m 57[2mms[22m[39m
|
||
[31m❯[39m [30m[42m server [49m[39m src/tests/queue-processor-logging.spec.ts [2m([22m[2m4 tests[22m[2m | [22m[31m4 failed[39m[2m)[22m[32m 6[2mms[22m[39m
|
||
[31m [31m×[31m should use logError for processing errors[39m[32m 4[2mms[22m[39m
|
||
[31m [31m×[31m should use logError for push notification failures[39m[32m 1[2mms[22m[39m
|
||
[31m [31m×[31m error logs should be properly serialized (no [object Object])[39m[32m 0[2mms[22m[39m
|
||
[31m [31m×[31m should distinguish between recoverable and non-recoverable errors[39m[32m 0[2mms[22m[39m
|
||
[90mstdout[2m | src/tests/queue-processor.spec.ts[2m > [22m[2mQueueProcessor Integration Tests[2m > [22m[2mshould skip Tandoor upload when not configured
|
||
[22m[39m[QueueProcessor] New item enqueued: a36691d9-5b93-44cd-bd1a-dbccce51beb0, triggering processing
|
||
|
||
[90mstdout[2m | src/tests/queue-processor.spec.ts[2m > [22m[2mQueueProcessor Integration Tests[2m > [22m[2mshould skip Tandoor upload when not configured
|
||
[22m[39m[QueueProcessor] Starting item a36691d9-5b93-44cd-bd1a-dbccce51beb0 (1/2 active)
|
||
[QueueProcessor] Processing https://instagram.com/p/no-tandoor
|
||
[QueueProcessor] Extracting: https://instagram.com/p/no-tandoor
|
||
|
||
[90mstdout[2m | src/tests/queue-processor.spec.ts[2m > [22m[2mQueueProcessor Integration Tests[2m > [22m[2mshould skip Tandoor upload when not configured
|
||
[22m[39m[QueueProcessor] ✓ Extraction complete: a36691d9-5b93-44cd-bd1a-dbccce51beb0
|
||
|
||
[90mstdout[2m | src/tests/queue-processor.spec.ts[2m > [22m[2mQueueProcessor Integration Tests[2m > [22m[2mshould skip Tandoor upload when not configured
|
||
[22m[39m[QueueProcessor] Parsing recipe: a36691d9-5b93-44cd-bd1a-dbccce51beb0
|
||
|
||
[90mstdout[2m | src/tests/queue-processor.spec.ts[2m > [22m[2mQueueProcessor Integration Tests[2m > [22m[2mshould skip Tandoor upload when not configured
|
||
[22m[39m[QueueProcessor] ✓ Parsing complete: a36691d9-5b93-44cd-bd1a-dbccce51beb0 - No Tandoor Recipe
|
||
|
||
[90mstdout[2m | src/tests/queue-processor.spec.ts[2m > [22m[2mQueueProcessor Integration Tests[2m > [22m[2mshould skip Tandoor upload when not configured
|
||
[22m[39m[QueueProcessor] Tandoor not configured, skipping: a36691d9-5b93-44cd-bd1a-dbccce51beb0
|
||
|
||
[90mstdout[2m | src/tests/queue-processor.spec.ts[2m > [22m[2mQueueProcessor Integration Tests[2m > [22m[2mshould skip Tandoor upload when not configured
|
||
[22m[39m[QueueProcessor] ✓ Success: a36691d9-5b93-44cd-bd1a-dbccce51beb0
|
||
[PushService] No subscriptions, skipping notification
|
||
|
||
[90mstdout[2m | src/tests/queue-processor.spec.ts[2m > [22m[2mQueueProcessor Integration Tests[2m > [22m[2mshould skip Tandoor upload when not configured
|
||
[22m[39m[QueueProcessor] Finished item a36691d9-5b93-44cd-bd1a-dbccce51beb0 (0/2 active)
|
||
|
||
[32m✓[39m [30m[43m client (chromium) [49m[39m src/routes/page.svelte.spec.ts [2m([22m[2m1 test[22m[2m)[22m[32m 19[2mms[22m[39m
|