Files

132 lines
9.2 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
✔ REQ-LIMIT-3 schema: each subject kind, limit 0 and no ceiling are accepted; bad limits, times, keys and undeclared instances refuse (18.6933ms)
✔ REQ-LIMIT-3 the writer stamps since: a new limit gets now, a changed one keeps its time, a different time is refused (266.957706ms)
✔ REQ-LIMIT-3 only tokens.* at schema depth holds token limits: agent limits named `limit` save as sent, and a token limit named `limit` is stamped and reset (259.927876ms)
✔ REQ-LIMIT-3 a reset moves since to now, is logged with its actor, and refuses a path that is not a limit (136.121744ms)
✔ REQ-LIMIT-2 schema: launch.account names a credential set; a daily quota needs a reset and an IANA zone and names the account (27.149735ms)
✔ REQ-LIMIT-2 the writer stamps a daily quota's since, keeps its reset and zone, and a reset moves since (147.184856ms)
✖ P5 per-model-key quotas are unset by default, accept digit-leading IDs and only the human changes or resets them (2.663205ms)
✖ P5 queue read uses actual bounded fixed management GET and immediately drops client and upstream values (7.314165ms)
✖ P5 bad envelope refuses safely with no retry (1.407651ms)
✖ P5 over count refuses safely with no retry (0.970003ms)
✖ P5 missing key refuses safely with no retry (0.457173ms)
✖ P5 bad counts refuses safely with no retry (0.970914ms)
✖ P5 redirect refuses safely with no retry (0.566467ms)
✖ P5 refusal refuses safely with no retry (0.492518ms)
✔ REQ-LIMIT-2 daily-quota exports interface version 2 with mayLaunch, mustStop and report (4.119781ms)
✔ REQ-LIMIT-2 the count sums every kind of the account's known records since the later of the day start and since (11.801692ms)
✔ REQ-LIMIT-2 a launch with no account (pi) is covered by no daily quota (0.304042ms)
✔ REQ-LIMIT-4 an unknown turn adds nothing and is counted apart (0.440258ms)
✔ REQ-LIMIT-2 the day turns at the reset in its zone, not in UTC, and before it the day is yesterday's (0.636362ms)
✔ REQ-LIMIT-2 the spring DST change makes the day after a 00:00 reset 23 hours long (0.3629ms)
✔ REQ-LIMIT-2 the fall DST change makes the day after a 00:00 reset 25 hours long (0.307097ms)
✔ REQ-LIMIT-2 a reset the clocks skip starts the day at the first instant after the gap (1.317847ms)
✔ REQ-LIMIT-2 a reset the clocks repeat starts one day, at the first one (0.410965ms)
✔ REQ-LIMIT-2 a launch is refused at the quota, a turn that reaches it stops, and the next day allows again (1.040865ms)
✔ REQ-LIMIT-2 counts past the safe integer range come back as digit strings (0.338405ms)
✔ REQ-LIMIT-4 bad leaves, records or times throw a code, and the check reads nothing but its arguments (2.143241ms)
✔ REQ-LIMIT-2 no daily quotas: every launch is allowed and the report is empty (0.174843ms)
✖ P5 daily quota for a model key ID matches stack key records and resets the next day (0.717346ms)
ℹ tests 28
ℹ suites 0
ℹ pass 19
ℹ fail 9
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 1055.443581
✖ failing tests:
test at packages/business/tests/token-limit-settings.test.mjs:154:1
✖ P5 per-model-key quotas are unset by default, accept digit-leading IDs and only the human changes or resets them (2.663205ms)
Error [BusinessError]: unsupported /tmp/mosaic-row333-4L4S3o/tmp/mosaic-business-CbuiLR/businesses/acme.json launch.limits.tokens.keys.012345abcdef key: "reset"
at refuse (file:///home/jwoltje/.t3/worktrees/mosaic-stack/t3-79263d4f/packages/business/src/errors.mjs:12:9)
at rejectUnknownKeys (file:///home/jwoltje/.t3/worktrees/mosaic-stack/t3-79263d4f/packages/business/src/util.mjs:17:33)
at tokenLimit (file:///home/jwoltje/.t3/worktrees/mosaic-stack/t3-79263d4f/packages/business/src/launch.mjs:31:3)
at file:///home/jwoltje/.t3/worktrees/mosaic-stack/t3-79263d4f/packages/business/src/launch.mjs:57:80
at Array.map (<anonymous>)
at tokenMap (file:///home/jwoltje/.t3/worktrees/mosaic-stack/t3-79263d4f/packages/business/src/launch.mjs:57:51)
at checkTokenLimits (file:///home/jwoltje/.t3/worktrees/mosaic-stack/t3-79263d4f/packages/business/src/launch.mjs:71:48)
at checkLimits (file:///home/jwoltje/.t3/worktrees/mosaic-stack/t3-79263d4f/packages/business/src/launch.mjs:112:52)
at checkLaunch (file:///home/jwoltje/.t3/worktrees/mosaic-stack/t3-79263d4f/packages/business/src/business.mjs:196:16)
at validateBusinessDocument (file:///home/jwoltje/.t3/worktrees/mosaic-stack/t3-79263d4f/packages/business/src/business.mjs:310:57) {
exitCode: 2
}
test at packages/model-proxy/tests/usage-client.test.mjs:21:1
✖ P5 queue read uses actual bounded fixed management GET and immediately drops client and upstream values (7.314165ms)
TypeError: f.client.readUsageQueue is not a function
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/t3-79263d4f/packages/model-proxy/tests/usage-client.test.mjs:23:33)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async Test.run (node:internal/test_runner/test:1409:7)
at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3)
test at packages/model-proxy/tests/usage-client.test.mjs:38:4
✖ P5 bad envelope refuses safely with no retry (1.407651ms)
TypeError: f.client.readUsageQueue is not a function
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/t3-79263d4f/packages/model-proxy/tests/usage-client.test.mjs:40:33)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async Test.run (node:internal/test_runner/test:1409:7)
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7)
test at packages/model-proxy/tests/usage-client.test.mjs:38:4
✖ P5 over count refuses safely with no retry (0.970003ms)
TypeError: f.client.readUsageQueue is not a function
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/t3-79263d4f/packages/model-proxy/tests/usage-client.test.mjs:40:33)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async Test.run (node:internal/test_runner/test:1409:7)
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7)
test at packages/model-proxy/tests/usage-client.test.mjs:38:4
✖ P5 missing key refuses safely with no retry (0.457173ms)
TypeError: f.client.readUsageQueue is not a function
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/t3-79263d4f/packages/model-proxy/tests/usage-client.test.mjs:40:33)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async Test.run (node:internal/test_runner/test:1409:7)
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7)
test at packages/model-proxy/tests/usage-client.test.mjs:38:4
✖ P5 bad counts refuses safely with no retry (0.970914ms)
TypeError: f.client.readUsageQueue is not a function
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/t3-79263d4f/packages/model-proxy/tests/usage-client.test.mjs:40:33)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async Test.run (node:internal/test_runner/test:1409:7)
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7)
test at packages/model-proxy/tests/usage-client.test.mjs:38:4
✖ P5 redirect refuses safely with no retry (0.566467ms)
TypeError: f.client.readUsageQueue is not a function
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/t3-79263d4f/packages/model-proxy/tests/usage-client.test.mjs:40:33)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async Test.run (node:internal/test_runner/test:1409:7)
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7)
test at packages/model-proxy/tests/usage-client.test.mjs:38:4
✖ P5 refusal refuses safely with no retry (0.492518ms)
TypeError: f.client.readUsageQueue is not a function
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/t3-79263d4f/packages/model-proxy/tests/usage-client.test.mjs:40:33)
at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
at async Test.run (node:internal/test_runner/test:1409:7)
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7)
test at packages/plugins/tests/daily-quota.test.mjs:173:1
✖ P5 daily quota for a model key ID matches stack key records and resets the next day (0.717346ms)
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
true !== false
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/t3-79263d4f/packages/plugins/tests/daily-quota.test.mjs:178:10)
at Test.runInAsyncScope (node:async_hooks:226:14)
at Test.run (node:internal/test_runner/test:1402:25)
at Test.processPendingSubtests (node:internal/test_runner/test:974:18)
at Test.postRun (node:internal/test_runner/test:1542:19)
at Test.run (node:internal/test_runner/test:1467:12)
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
generatedMessage: true,
code: 'ERR_ASSERTION',
actual: true,
expected: false,
operator: 'strictEqual',
diff: 'simple'
}