Files
MikrotikManager/docs/ux-ui/acceptance/outbox-rbac-2026-10-08.json
T

171 lines
3.4 KiB
JSON

{
"date": "2026-10-08",
"backendSource": "8782054",
"database": "mmapp_acceptance_20261007",
"authRequired": true,
"signedJwtVerification": true,
"productionRoutes": true,
"cases": [
{
"method": "GET",
"role": "anonymous",
"status": 401
},
{
"method": "GET",
"role": "none",
"status": 403
},
{
"method": "GET",
"role": "settings",
"status": 403
},
{
"method": "GET",
"role": "noApp",
"status": 403
},
{
"method": "GET",
"role": "issuer",
"status": 401
},
{
"method": "GET",
"role": "signature",
"status": 401
},
{
"method": "GET",
"role": "expired",
"status": 401
},
{
"method": "GET",
"role": "malformed-jwt",
"status": 401
},
{
"method": "GET",
"role": "read",
"status": 200
},
{
"method": "GET",
"role": "write",
"status": 200
},
{
"method": "GET",
"role": "admin",
"status": 200
},
{
"method": "POST",
"role": "anonymous",
"status": 401,
"unchanged": true,
"mutationBoundaryCalls": 0
},
{
"method": "POST",
"role": "read",
"status": 403,
"unchanged": true,
"mutationBoundaryCalls": 0
},
{
"method": "POST",
"role": "none",
"status": 403,
"unchanged": true,
"mutationBoundaryCalls": 0
},
{
"method": "POST",
"role": "settings",
"status": 403,
"unchanged": true,
"mutationBoundaryCalls": 0
},
{
"method": "POST",
"role": "noApp",
"status": 403,
"unchanged": true,
"mutationBoundaryCalls": 0
},
{
"method": "POST",
"role": "issuer",
"status": 401,
"unchanged": true,
"mutationBoundaryCalls": 0
},
{
"method": "POST",
"role": "signature",
"status": 401,
"unchanged": true,
"mutationBoundaryCalls": 0
},
{
"method": "POST",
"role": "expired",
"status": 401,
"unchanged": true,
"mutationBoundaryCalls": 0
},
{
"method": "POST",
"role": "malformed-jwt",
"status": 401,
"unchanged": true,
"mutationBoundaryCalls": 0
},
{
"case": "missing-risk-acknowledgement",
"status": 400,
"unchanged": true
},
{
"case": "stale-version-before-write",
"status": 409,
"unchanged": true
},
{
"case": "write-and-admin-allowed",
"statuses": [
200,
200
],
"saved": [
{
"id": "acceptance-outbox-rbac-1791444037821-admin",
"status": "pending",
"retry_count": 0,
"resolution_version": 1
},
{
"id": "acceptance-outbox-rbac-1791444037821-write",
"status": "pending",
"retry_count": 0,
"resolution_version": 1
}
]
},
{
"case": "duplicate-version-conflict",
"status": 409,
"unchanged": true
}
],
"mutationBoundaryCalls": 4,
"realExternalMessages": 0,
"limits": [
"Fastify inject uses real production handlers/auth and PostgreSQL, not a remote socket or browser",
"JWT signed with server key in memory; real Portal issuer/login not contacted",
"Only queue placement receipts verified; dispatcher never started, no delivery claim"
]
}