chore(test): проверить отказ записи ревизии на стенде

This commit is contained in:
Denozordec committed 2026-10-09 09:36:06 +07:00
1 parent 8eaf78b686
commit 0067c2eeff
9 files changed
+682 -7

No files matched your search

@@ -0,0 +1,120 @@
{
"date": "2026-10-09",
"backendSource": "8eaf78b",
"frontendSource": "479f2ad",
"name": "mm-acceptance-wg-1791512986372",
"cases": [
{
"serverId": "1",
"width": 1280,
"status": 502,
"state": "applied",
"warningVisible": true,
"formAndServerRetained": true,
"nativeObjectsRemainApplied": true,
"noAutomaticRetry": true
},
{
"serverId": "2",
"width": 320,
"status": 502,
"state": "applied",
"warningVisible": true,
"formAndServerRetained": true,
"nativeObjectsRemainApplied": true,
"noAutomaticRetry": true
}
],
"requests": [
{
"status": 502,
"port": "8020"
},
{
"status": 502,
"port": "8020"
}
],
"native": {
"ok": true,
"handshakeConfirmed": true,
"pings": [
{
"serverId": 1,
"received": 3
},
{
"serverId": 2,
"received": 3
}
],
"roundtrip": [
{
"serverId": 1,
"format": "conf",
"explicitNameAdded": true,
"privateKeyPreservedInMemory": true,
"dryRunStatus": 200,
"dryRunNativeUnchanged": true,
"checks": {
"interfacePresent": true,
"interfaceName": true,
"interfaceCommentAbsent": true,
"interfacePrivateScalarEquivalent": true,
"interfacePublicIdentity": true,
"listenPort": true,
"mtu": true,
"onePeer": true,
"peerIdentity": true,
"allowedAddresses": true,
"configuredEndpointAddress": true,
"configuredEndpointPort": true,
"keepalive": true,
"peerCommentAbsent": true,
"address": true
},
"nativeParametersMatch": true,
"interfacePublicIdentityUnchanged": true,
"privateScalarEquivalent": true,
"privateEncodingUnchanged": true,
"linkedAddressAndPeerPresent": true
},
{
"serverId": 2,
"format": "conf",
"explicitNameAdded": true,
"privateKeyPreservedInMemory": true,
"dryRunStatus": 200,
"dryRunNativeUnchanged": true,
"checks": {
"interfacePresent": true,
"interfaceName": true,
"interfaceCommentAbsent": true,
"interfacePrivateScalarEquivalent": true,
"interfacePublicIdentity": true,
"listenPort": true,
"mtu": true,
"onePeer": true,
"peerIdentity": true,
"allowedAddresses": true,
"configuredEndpointAddress": true,
"configuredEndpointPort": true,
"keepalive": true,
"peerCommentAbsent": true,
"address": true
},
"nativeParametersMatch": true,
"interfacePublicIdentityUnchanged": true,
"privateScalarEquivalent": true,
"privateEncodingUnchanged": false,
"linkedAddressAndPeerPresent": true
}
]
},
"pageErrors": [],
"transport": "Playwright URL continuation to real isolated HTTP endpoint; no response fulfillment or mocked SQL/RouterOS",
"limits": [
"Scoped audit INSERT permission fault; not network disconnect or process loss",
"Keys/configs held only in memory; no screenshots/traces"
]
}
@@ -0,0 +1,40 @@
{
"date": "2026-10-09",
"backendSource": "8eaf78b",
"frontendSource": "479f2ad",
"httpMocks": false,
"pages": [
{
"path": "/dashboard",
"status": 200,
"mobileFits": true
},
{
"path": "/servers",
"status": 200,
"mobileFits": true
},
{
"path": "/uptime?tab=speed",
"status": 200,
"mobileFits": true
},
{
"path": "/settings",
"status": 200,
"mobileFits": true
},
{
"path": "/filters",
"status": 200,
"mobileFits": true
},
{
"path": "/wireguard",
"status": 200,
"mobileFits": true
}
],
"pageErrors": [],
"badApiResponses": []
}
@@ -0,0 +1,33 @@
{
"date": "2026-10-09",
"backendSource": "8eaf78b68631d774bf18ae049d0e11f90fe098d8",
"frontendSource": "479f2ad",
"archiveSha256": "a685c56eff695beb8d30eaaf49c6ca03d97011e9a306679e2173d7485df7540a",
"backendImage": "sha256:2f94d4d52f8c2a23806ac7795af3d2346f9dd3114e2fcda4237b3be3c6513f69",
"backendHealthy": true,
"frontendContainerUnchanged": true,
"networkNoneRevisionAssertion": true,
"backup": {
"bytes": 2382377,
"mode": "0600",
"pgRestoreListPassed": true,
"retainedOnTestServerOnly": true
},
"before": {
"servers": 2,
"speedHistory": 9,
"retentionDays": 14,
"migrations": 9
},
"after": {
"servers": 2,
"speedHistory": 9,
"retentionDays": 14,
"migrations": 9,
"temporaryAuditRoles": 0
},
"mainServices": 3,
"temporaryFixtureContainersRemaining": 0,
"auditRevisionsIntentionallyRetained": true,
"mainBackendPrivilegesUnchanged": true
}
@@ -0,0 +1,426 @@
{
"date": "2026-10-09",
"backendSource": "8eaf78b",
"frontendSource": "479f2ad",
"name": "mm-acceptance-wg-1791512986372",
"subnet": "198.18.255.240/30",
"listenPort": 51879,
"realRouterOs": true,
"changes": [
{
"method": "POST",
"path": "/api/wireguard/interfaces",
"status": 201
},
{
"method": "POST",
"path": "/api/wireguard/interfaces",
"status": 201
},
{
"method": "POST",
"path": "/api/wireguard/peers",
"status": 201
},
{
"method": "POST",
"path": "/api/wireguard/peers",
"status": 201
},
{
"method": "PATCH",
"path": "/api/wireguard/interfaces/1/*1F",
"status": 200
},
{
"method": "PATCH",
"path": "/api/wireguard/interfaces/1/*1F",
"status": 200
},
{
"method": "GET",
"path": "/api/wireguard",
"status": 200
},
{
"method": "POST",
"path": "/api/wireguard/export",
"status": 200
},
{
"method": "POST",
"path": "/api/wireguard/import",
"status": 200
},
{
"method": "POST",
"path": "/api/wireguard/export",
"status": 200
},
{
"method": "POST",
"path": "/api/wireguard/import",
"status": 200
},
{
"method": "DELETE",
"path": "/api/wireguard/interfaces/1/*1F",
"status": 200
},
{
"method": "DELETE",
"path": "/api/wireguard/interfaces/2/*1A",
"status": 200
},
{
"method": "DELETE",
"path": "/api/wireguard/peers/1/*1E",
"status": 200
},
{
"method": "DELETE",
"path": "/api/wireguard/interfaces/1/*20",
"status": 200
},
{
"method": "DELETE",
"path": "/api/wireguard/peers/2/*1A",
"status": 200
},
{
"method": "DELETE",
"path": "/api/wireguard/interfaces/2/*1B",
"status": 200
}
],
"pings": [
{
"serverId": 1,
"target": "198.18.255.242",
"interface": "mm-acceptance-wg-1791512986372",
"received": 3,
"rows": [
{
"sent": "1",
"received": "1",
"packet-loss": "0",
"time": "54ms602us",
"avg-rtt": "54ms602us"
},
{
"sent": "2",
"received": "2",
"packet-loss": "0",
"time": "54ms556us",
"avg-rtt": "54ms579us"
},
{
"sent": "3",
"received": "3",
"packet-loss": "0",
"time": "54ms589us",
"avg-rtt": "54ms582us"
}
]
},
{
"serverId": 2,
"target": "198.18.255.241",
"interface": "mm-acceptance-wg-1791512986372",
"received": 3,
"rows": [
{
"sent": "1",
"received": "1",
"packet-loss": "0",
"time": "54ms765us",
"avg-rtt": "54ms765us"
},
{
"sent": "2",
"received": "2",
"packet-loss": "0",
"time": "54ms718us",
"avg-rtt": "54ms741us"
},
{
"sent": "3",
"received": "3",
"packet-loss": "0",
"time": "55ms13us",
"avg-rtt": "54ms832us"
}
]
}
],
"cleanup": [
{
"serverId": 1,
"/interface/wireguard": true,
"/interface/wireguard/peers": true,
"/ip/address": true,
"/ip/route": true,
"/ip/firewall/filter": true,
"/ip/firewall/nat": true,
"/ip/firewall/mangle": true
},
{
"serverId": 2,
"/interface/wireguard": true,
"/interface/wireguard/peers": true,
"/ip/address": true,
"/ip/route": true,
"/ip/firewall/filter": true,
"/ip/firewall/nat": true,
"/ip/firewall/mangle": true
}
],
"rejections": [
{
"serverId": 1,
"status": 400,
"dryRun": false,
"nativeUnchanged": true
},
{
"serverId": 1,
"status": 400,
"dryRun": true,
"nativeUnchanged": true
},
{
"serverId": 2,
"status": 400,
"dryRun": false,
"nativeUnchanged": true
},
{
"serverId": 2,
"status": 400,
"dryRun": true,
"nativeUnchanged": true
}
],
"nativeKeyGenerationConfirmed": true,
"connectedState": [
{
"serverId": 1,
"interface": {
"rosId": "*1F",
"appId": "1:*1F",
"name": "mm-acceptance-wg-1791512986372",
"listenPort": "51879",
"mtu": "1420",
"running": "true",
"disabled": "false",
"userComment": "Temporary UX acceptance mm-acceptance-wg-1791512986372"
},
"addresses": [
"198.18.255.241/30"
],
"peers": [
{
"rosId": "*1D",
"name": "mm-acceptance-wg-1791512986372-peer",
"allowedAddresses": "198.18.255.242/32",
"endpoint": "104.165.244.7:51879",
"handshake": "1s",
"rx": "180",
"tx": "272",
"disabled": "false",
"userComment": "Temporary UX acceptance mm-acceptance-wg-1791512986372"
}
]
},
{
"serverId": 2,
"interface": {
"rosId": "*1A",
"appId": "2:*1A",
"name": "mm-acceptance-wg-1791512986372",
"listenPort": "51879",
"mtu": "1420",
"running": "true",
"disabled": "false",
"userComment": "Temporary UX acceptance mm-acceptance-wg-1791512986372"
},
"addresses": [
"198.18.255.242/30"
],
"peers": [
{
"rosId": "*19",
"name": "mm-acceptance-wg-1791512986372-peer",
"allowedAddresses": "198.18.255.241/32",
"endpoint": "194.226.121.150:51879",
"handshake": "1s",
"rx": "124",
"tx": "180",
"disabled": "false",
"userComment": "Temporary UX acceptance mm-acceptance-wg-1791512986372"
}
]
}
],
"handshakeConfirmed": true,
"bidirectionalPingPassed": true,
"catalogMatchesNative": true,
"roundtrip": [
{
"serverId": 1,
"format": "conf",
"explicitNameAdded": true,
"privateKeyPreservedInMemory": true,
"dryRunStatus": 200,
"dryRunNativeUnchanged": true,
"checks": {
"interfacePresent": true,
"interfaceName": true,
"interfaceCommentAbsent": true,
"interfacePrivateScalarEquivalent": true,
"interfacePublicIdentity": true,
"listenPort": true,
"mtu": true,
"onePeer": true,
"peerIdentity": true,
"allowedAddresses": true,
"configuredEndpointAddress": true,
"configuredEndpointPort": true,
"keepalive": true,
"peerCommentAbsent": true,
"address": true
},
"nativeParametersMatch": true,
"interfacePublicIdentityUnchanged": true,
"privateScalarEquivalent": true,
"privateEncodingUnchanged": true,
"linkedAddressAndPeerPresent": true
},
{
"serverId": 2,
"format": "conf",
"explicitNameAdded": true,
"privateKeyPreservedInMemory": true,
"dryRunStatus": 200,
"dryRunNativeUnchanged": true,
"checks": {
"interfacePresent": true,
"interfaceName": true,
"interfaceCommentAbsent": true,
"interfacePrivateScalarEquivalent": true,
"interfacePublicIdentity": true,
"listenPort": true,
"mtu": true,
"onePeer": true,
"peerIdentity": true,
"allowedAddresses": true,
"configuredEndpointAddress": true,
"configuredEndpointPort": true,
"keepalive": true,
"peerCommentAbsent": true,
"address": true
},
"nativeParametersMatch": true,
"interfacePublicIdentityUnchanged": true,
"privateScalarEquivalent": true,
"privateEncodingUnchanged": false,
"linkedAddressAndPeerPresent": true
}
],
"collisions": [
{
"serverId": 1,
"status": 409,
"nativeUnchanged": true
},
{
"serverId": 2,
"status": 409,
"nativeUnchanged": true
}
],
"auditFault": {
"isolatedProcess": true,
"temporaryNoLoginRole": true,
"selectAllowed": true,
"revisionInsertDenied": true,
"mainBackendPrivilegesUnchanged": true
},
"deniedRevisionWrites": 2,
"postApplyAuditState": "applied",
"importedHandshakeConfirmed": true,
"importedPings": [
{
"serverId": 1,
"received": 3
},
{
"serverId": 2,
"received": 3
}
],
"temporaryRoleRemoved": true,
"afterBrowser": [
{
"serverId": 1,
"interface": {
"rosId": "*20",
"appId": "1:*20",
"name": "mm-acceptance-wg-1791512986372",
"listenPort": "51879",
"mtu": "1420",
"running": "true",
"disabled": "false"
},
"addresses": [
"198.18.255.241/30"
],
"peers": [
{
"rosId": "*1E",
"name": "peer30",
"allowedAddresses": "198.18.255.242/32",
"endpoint": "104.165.244.7:51879",
"handshake": "2s",
"rx": "756",
"tx": "848",
"disabled": "false"
}
]
},
{
"serverId": 2,
"interface": {
"rosId": "*1B",
"appId": "2:*1B",
"name": "mm-acceptance-wg-1791512986372",
"listenPort": "51879",
"mtu": "1420",
"running": "true",
"disabled": "false"
},
"addresses": [
"198.18.255.242/30"
],
"peers": [
{
"rosId": "*1A",
"name": "peer26",
"allowedAddresses": "198.18.255.241/32",
"endpoint": "194.226.121.150:51879",
"handshake": "2s",
"rx": "700",
"tx": "756",
"disabled": "false"
}
]
}
],
"limits": [
"Only own WireGuard interface/peer/IP and connected route changed; no default routes/firewall changes",
"Real isolated HTTP endpoint/PG SET ROLE permission denial after native apply; main backend unchanged; config/keys only in memory",
"Private/public/preshared keys omitted from report; native generation and peer association checked in memory",
"Handshake and short ICMP connectivity, not throughput, RBAC or interrupted mutation",
"WireGuard audit revisions intentionally retained"
]
}