chore(test): проверить права и восстановление базы в браузере

This commit is contained in:
Denozordec committed 2026-10-08 00:03:13 +07:00
1 parent 1adb82c9a2
commit c337fddac9
7 files changed
+209 -4

No files matched your search

@@ -0,0 +1,37 @@
{
"date": "2026-10-08",
"backendSource": "4c12c55",
"frontendSource": "673e5ba",
"database": "mmapp_acceptance_20261007",
"base": "http://localhost:3018",
"mocks": false,
"archiveBytes": 478920,
"success": {
"status": 200,
"retentionRestored": 14,
"confirmedCaption": true
},
"failure": {
"status": 400,
"retentionUnchanged": 14,
"filePreserved": true,
"unknownCaption": true,
"restoreDisabled": true,
"guardSurvivedReload": true,
"explicitResetEnabled": true,
"noAutomaticRetry": true,
"mobileFits": true
},
"restoreStatuses": [
200,
400
],
"pageErrors": [],
"limits": [
"Auth false for isolated browser stand; JWT RBAC tested separately",
"Archive used only in memory, no local dump file saved",
"Main database not restored; real Portal SSO not tested"
],
"startedClientDate": "2026-10-07",
"isolationCorrection": "Initial DB marker guard stopped before archive/download/mutation/restore; build-time Next.js rewrites ignored runtime URL override. Temporary frontend moved to private Docker network with backend alias, marker verified, tests then passed."
}
@@ -0,0 +1,140 @@
{
"date": "2026-10-08",
"source": "4c12c55",
"database": "mmapp_acceptance_20261007",
"authRequired": true,
"realChildProcesses": true,
"denials": [
{
"label": "anonymous",
"method": "GET",
"path": "backup",
"status": 401
},
{
"label": "anonymous",
"method": "POST",
"path": "restore",
"status": 401
},
{
"label": "settings-reader",
"method": "GET",
"path": "backup",
"status": 403
},
{
"label": "settings-reader",
"method": "POST",
"path": "restore",
"status": 403
},
{
"label": "settings-writer",
"method": "GET",
"path": "backup",
"status": 403
},
{
"label": "settings-writer",
"method": "POST",
"path": "restore",
"status": 403
},
{
"label": "traffic-admin",
"method": "GET",
"path": "backup",
"status": 403
},
{
"label": "traffic-admin",
"method": "POST",
"path": "restore",
"status": 403
},
{
"label": "missing-app",
"method": "GET",
"path": "backup",
"status": 403
},
{
"label": "missing-app",
"method": "POST",
"path": "restore",
"status": 403
},
{
"label": "wrong-issuer",
"method": "GET",
"path": "backup",
"status": 401
},
{
"label": "wrong-issuer",
"method": "POST",
"path": "restore",
"status": 401
},
{
"label": "expired",
"method": "GET",
"path": "backup",
"status": 401
},
{
"label": "expired",
"method": "POST",
"path": "restore",
"status": 401
},
{
"label": "invalid-signature",
"method": "GET",
"path": "backup",
"status": 401
},
{
"label": "invalid-signature",
"method": "POST",
"path": "restore",
"status": 401
}
],
"mainDatabaseTouched": false,
"deniedChildProcessCounts": {
"pg_dump": 0,
"pg_restore": 0,
"psql": 0
},
"deniedControlsUnchanged": true,
"adminBackup": {
"status": 200,
"bytes": 478183,
"childProcessCounts": {
"pg_dump": 1,
"pg_restore": 0,
"psql": 0
}
},
"limits": [
"JWT generated only in memory with configured test issuer; real Portal SSO not tested",
"No browser restore UI and no successful admin restore in this RBAC block",
"Instrumentation observes production child_process.spawn without replacing command execution"
],
"healthMainAfter": {
"status": "ok",
"timestamp": "2026-10-07T17:00:26.577Z",
"version": "1.0.0-test.4c12c55",
"eventLoopDelayMs": 20,
"flowWorker": {
"alive": false,
"bound": false,
"pendingSize": 0,
"dropped": 0,
"packetsReceived": 0
}
},
"startedClientDate": "2026-10-07"
}