chore(test): проверить архив PostgreSQL, права и конфликт операций
This commit is contained in:
1 parent
66bed28382
commit
6720ad3539
6 files changed
+266
-5
No files matched your search
@@ -0,0 +1,235 @@
|
||||
{
|
||||
"date": "2026-10-07",
|
||||
"source": "673e5ba",
|
||||
"authRequired": true,
|
||||
"denials": [
|
||||
{
|
||||
"label": "anonymous",
|
||||
"method": "GET",
|
||||
"path": "backup",
|
||||
"status": 401,
|
||||
"error": "Unauthorized"
|
||||
},
|
||||
{
|
||||
"label": "anonymous",
|
||||
"method": "POST",
|
||||
"path": "restore",
|
||||
"status": 401,
|
||||
"error": "Unauthorized"
|
||||
},
|
||||
{
|
||||
"label": "settings-writer",
|
||||
"method": "GET",
|
||||
"path": "backup",
|
||||
"status": 403,
|
||||
"error": "Недостаточно прав: mm:settings:admin"
|
||||
},
|
||||
{
|
||||
"label": "settings-writer",
|
||||
"method": "POST",
|
||||
"path": "restore",
|
||||
"status": 403,
|
||||
"error": "Недостаточно прав: mm:settings:admin"
|
||||
},
|
||||
{
|
||||
"label": "wrong-app",
|
||||
"method": "GET",
|
||||
"path": "backup",
|
||||
"status": 403,
|
||||
"error": "Нет доступа к приложению MikrotikManager"
|
||||
},
|
||||
{
|
||||
"label": "wrong-app",
|
||||
"method": "POST",
|
||||
"path": "restore",
|
||||
"status": 403,
|
||||
"error": "Нет доступа к приложению MikrotikManager"
|
||||
},
|
||||
{
|
||||
"label": "wrong-issuer",
|
||||
"method": "GET",
|
||||
"path": "backup",
|
||||
"status": 401,
|
||||
"error": "Unauthorized"
|
||||
},
|
||||
{
|
||||
"label": "wrong-issuer",
|
||||
"method": "POST",
|
||||
"path": "restore",
|
||||
"status": 401,
|
||||
"error": "Unauthorized"
|
||||
}
|
||||
],
|
||||
"backup": {
|
||||
"status": 200,
|
||||
"bytes": 475225,
|
||||
"sha256": "a6b66402b28bdb146cae9712c384979aa1c1000fee19cbc97c0ec045b673c002",
|
||||
"signature": "PGDMP",
|
||||
"filename": "attachment; filename=\"mikrotik-manager_2026-10-07_15-31-18.dump\"",
|
||||
"outcome": {}
|
||||
},
|
||||
"conflict": {
|
||||
"date": "2026-10-07",
|
||||
"scenario": "PG-5",
|
||||
"authRequired": false,
|
||||
"activeDump": [
|
||||
{
|
||||
"application_name": "pg_dump",
|
||||
"wait_event_type": "Lock",
|
||||
"wait_event": "relation"
|
||||
}
|
||||
],
|
||||
"second": {
|
||||
"method": "POST",
|
||||
"path": "restore",
|
||||
"status": 409,
|
||||
"body": {
|
||||
"error": "Операция с базой приложения уже выполняется"
|
||||
}
|
||||
},
|
||||
"first": {
|
||||
"method": "GET",
|
||||
"path": "backup",
|
||||
"status": 200,
|
||||
"bytes": 478793,
|
||||
"signature": "PGDMP"
|
||||
}
|
||||
},
|
||||
"controls": {
|
||||
"mmapp": {
|
||||
"servers": [
|
||||
{
|
||||
"id": "1",
|
||||
"host": "194.226.121.150"
|
||||
},
|
||||
{
|
||||
"id": "2",
|
||||
"host": "104.165.244.7"
|
||||
}
|
||||
],
|
||||
"uptimeSettings": [
|
||||
{
|
||||
"id": "1",
|
||||
"retention_days": 14
|
||||
}
|
||||
],
|
||||
"migrations": [
|
||||
{
|
||||
"id": "0000_postgresql"
|
||||
},
|
||||
{
|
||||
"id": "0002_compact_schema"
|
||||
},
|
||||
{
|
||||
"id": "0003_backup_s3"
|
||||
},
|
||||
{
|
||||
"id": "0004_geoip_settings"
|
||||
},
|
||||
{
|
||||
"id": "0005_flow_facts"
|
||||
},
|
||||
{
|
||||
"id": "0006_config_revisions"
|
||||
},
|
||||
{
|
||||
"id": "0007_flow_buckets_nat"
|
||||
},
|
||||
{
|
||||
"id": "0008_alert_outbox_outcomes"
|
||||
},
|
||||
{
|
||||
"id": "0009_alert_outbox_resolution"
|
||||
}
|
||||
],
|
||||
"speed": {
|
||||
"count": 5,
|
||||
"digest": "6d82b65f9ca64a309d5bf6a60163135a"
|
||||
},
|
||||
"serversSequence": {
|
||||
"last_value": "2",
|
||||
"is_called": true
|
||||
}
|
||||
},
|
||||
"mmapp_acceptance_20261007": {
|
||||
"servers": [
|
||||
{
|
||||
"id": "1",
|
||||
"host": "194.226.121.150"
|
||||
},
|
||||
{
|
||||
"id": "2",
|
||||
"host": "104.165.244.7"
|
||||
}
|
||||
],
|
||||
"uptimeSettings": [
|
||||
{
|
||||
"id": "1",
|
||||
"retention_days": 14
|
||||
}
|
||||
],
|
||||
"migrations": [
|
||||
{
|
||||
"id": "0000_postgresql"
|
||||
},
|
||||
{
|
||||
"id": "0002_compact_schema"
|
||||
},
|
||||
{
|
||||
"id": "0003_backup_s3"
|
||||
},
|
||||
{
|
||||
"id": "0004_geoip_settings"
|
||||
},
|
||||
{
|
||||
"id": "0005_flow_facts"
|
||||
},
|
||||
{
|
||||
"id": "0006_config_revisions"
|
||||
},
|
||||
{
|
||||
"id": "0007_flow_buckets_nat"
|
||||
},
|
||||
{
|
||||
"id": "0008_alert_outbox_outcomes"
|
||||
},
|
||||
{
|
||||
"id": "0009_alert_outbox_resolution"
|
||||
}
|
||||
],
|
||||
"speed": {
|
||||
"count": 5,
|
||||
"digest": "6d82b65f9ca64a309d5bf6a60163135a"
|
||||
},
|
||||
"serversSequence": {
|
||||
"last_value": "2",
|
||||
"is_called": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"controlsMatch": true,
|
||||
"scratchRestore": {
|
||||
"database": "mmapp_acceptance_20261007",
|
||||
"exitCode": 0,
|
||||
"method": "pg_restore --single-transaction --exit-on-error",
|
||||
"apiRestoreTested": false
|
||||
},
|
||||
"limits": [
|
||||
"No live database restore performed",
|
||||
"PG-6 pending: scheduler jobs and flow flush are not awaited",
|
||||
"JWT generated in memory with test issuer; real Portal SSO not tested",
|
||||
"No pg_dump/pg_restore process tracing during denied requests; PG-7 only HTTP RBAC evidence",
|
||||
"Initial PG-5 observer reused transaction snapshot; rerun used separate observer connection",
|
||||
"Initial control query used incorrect table name; corrected to uptime_speed_test_runs"
|
||||
],
|
||||
"archiveValidation": {
|
||||
"tocEntries": 907,
|
||||
"requiredObjects": {
|
||||
"servers": true,
|
||||
"uptime_settings": true,
|
||||
"uptime_speed_test_runs": true,
|
||||
"schema_migrations": true
|
||||
},
|
||||
"clientVersion": "pg_restore (PostgreSQL) 18.6 (Debian 18.6-1.pgdg12+2)"
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user