18 lines
1.4 KiB
TypeScript
18 lines
1.4 KiB
TypeScript
import assert from "node:assert/strict"
|
|
import {test} from "node:test"
|
|
import {mcpPollStorageCapacitySchema} from "@mmapp/contracts/mcp"
|
|
import {mcpOverviewSchema} from "./mcp"
|
|
|
|
const capacity={status:"observed",owner:{used:8,limit:8,remaining:0},global:{exhausted:true,usage:{used:128,limit:128,remaining:0}},retentionDays:14}
|
|
test("poll retained capacity validates full counters and hides non-admin global usage",()=>{
|
|
assert.deepEqual(mcpPollStorageCapacitySchema.parse(capacity),capacity)
|
|
const privateView={...capacity,global:{exhausted:true,usage:null}}
|
|
assert.deepEqual(mcpPollStorageCapacitySchema.parse(privateView),privateView)
|
|
for(const bad of [{...capacity,owner:{used:8,limit:8,remaining:1}},{...capacity,global:{exhausted:false,usage:capacity.global.usage}},{...capacity,retentionDays:0},{...capacity,owner:{used:9,limit:8,remaining:0}},{status:"unavailable",owner:{used:0,limit:8,remaining:8}}])assert.equal(mcpPollStorageCapacitySchema.safeParse(bad).success,false)
|
|
})
|
|
test("old overview responses report capacity unavailable instead of inventing free slots",()=>{
|
|
const original={connections:1,calls:2,errors:0,approvals:0,running:0,enabled:true,observedAt:new Date().toISOString()}
|
|
assert.deepEqual(mcpOverviewSchema.parse(original).pollStorageCapacity,{status:"unavailable"})
|
|
assert.deepEqual(mcpOverviewSchema.parse({...original,pollStorageCapacity:capacity}).pollStorageCapacity,capacity)
|
|
})
|