fix(ipsec): подтвердить достоверность операций и приёмку раздела

This commit is contained in:
Denozordec committed 2026-10-09 12:46:22 +07:00
1 parent e2d81f9657
commit f80d9b7637
28 files changed
+969 -170

No files matched your search

@@ -0,0 +1,45 @@
{
"date": "2026-10-09",
"runtime": "ipsec77",
"httpMocks": false,
"cases": [
{
"serverId": 1,
"width": 1280,
"ready": true,
"serverAndTabUrlPreserved": true,
"peerPropertiesOnly": true,
"clientFormFits": true,
"noPageOverflow": true
},
{
"serverId": 1,
"width": 320,
"ready": true,
"serverAndTabUrlPreserved": true,
"peerPropertiesOnly": true,
"clientFormFits": true,
"noPageOverflow": true
},
{
"serverId": 2,
"width": 1280,
"ready": true,
"serverAndTabUrlPreserved": true,
"peerPropertiesOnly": true,
"clientFormFits": true,
"noPageOverflow": true
},
{
"serverId": 2,
"width": 320,
"ready": true,
"serverAndTabUrlPreserved": true,
"peerPropertiesOnly": true,
"clientFormFits": true,
"noPageOverflow": true
}
],
"pageErrors": [],
"scope": "Real catalog, readiness, peer/client forms and URL reload; writes independently exercised through production HTTP/native checks"
}
@@ -0,0 +1,50 @@
{
"date": "2026-10-09",
"backendSource": "ipsec77",
"frontendSource": "ipsec77",
"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
},
{
"path": "/vxlan",
"status": 200,
"mobileFits": true
},
{
"path": "/ipsec",
"status": 200,
"mobileFits": true
}
],
"pageErrors": [],
"badApiResponses": []
}
@@ -0,0 +1,39 @@
{
"date": "2026-10-09",
"version": "1.0.0-test.ipsec77",
"source": {
"baseHead": "e2d81f9",
"workingFileOverrides": 14,
"archiveSha256": "e0a034a855eb2d07696a1849c9baed738890e7c84108d5a3d6dbe652188bee9e",
"revisionLabel": "ipsec77"
},
"images": {
"backend": "sha256:a4a730666c4690d5147e92f6afcb7bb5ef35132a4a1b92d291738477b9aada443",
"frontend": "sha256:452b015751c5c26bc5492cdade76149140ef9e776cbad6927a151c6eead8f028"
},
"productionBuildsPassed": true,
"services": {
"running": 3,
"backend": "healthy",
"postgres": "healthy",
"frontend": "no healthcheck; HTTP/browser passed"
},
"backup": {
"bytes": 2510309,
"mode": "0600",
"pgRestoreListPassed": true,
"privateEnvPreserved": true
},
"databaseAfter": {
"servers": 2,
"speedHistory": 9,
"retentionDays": 14,
"migrations": 9
},
"previousVxlanImagesRetained": true,
"retainedMetadata": {
"serverId": 2,
"name": "flash",
"reason": "Automatic review rejected deletion without demonstrated ownership"
}
}
@@ -0,0 +1,372 @@
{
"date": "2026-10-09",
"runtime": "ipsec77",
"realRouterOs": true,
"name": "mm-ipsec-1791524379334",
"apiOperations": [
{
"method": "GET",
"path": "/ipsec?serverId=17",
"status": 200
},
{
"method": "POST",
"path": "/ipsec/users",
"status": 404
},
{
"method": "PATCH",
"path": "/ipsec/peers/:id",
"status": 404
},
{
"method": "DELETE",
"path": "/ipsec/server/17",
"status": 404
},
{
"method": "GET",
"path": "/ipsec?serverId=18",
"status": 200
},
{
"method": "POST",
"path": "/ipsec/users",
"status": 404
},
{
"method": "PATCH",
"path": "/ipsec/peers/:id",
"status": 404
},
{
"method": "DELETE",
"path": "/ipsec/server/18",
"status": 404
},
{
"method": "GET",
"path": "/ipsec?serverId=17",
"status": 200
},
{
"method": "GET",
"path": "/ipsec",
"status": 200
},
{
"method": "POST",
"path": "/ipsec/server/init",
"status": 201
},
{
"method": "POST",
"path": "/ipsec/users",
"status": 201
},
{
"method": "POST",
"path": "/ipsec/users",
"status": 409
},
{
"method": "POST",
"path": "/ipsec/users",
"status": 400
},
{
"method": "POST",
"path": "/ipsec/users",
"status": 404
},
{
"method": "PATCH",
"path": "/ipsec/users/:id",
"status": 200
},
{
"method": "PATCH",
"path": "/ipsec/users/:id",
"status": 200
},
{
"method": "POST",
"path": "/ipsec/users",
"status": 201
},
{
"method": "POST",
"path": "/ipsec/server/init",
"status": 201
},
{
"method": "POST",
"path": "/ipsec/users",
"status": 201
},
{
"method": "POST",
"path": "/ipsec/users",
"status": 409
},
{
"method": "POST",
"path": "/ipsec/users",
"status": 400
},
{
"method": "POST",
"path": "/ipsec/users",
"status": 404
},
{
"method": "PATCH",
"path": "/ipsec/users/:id",
"status": 200
},
{
"method": "PATCH",
"path": "/ipsec/users/:id",
"status": 200
},
{
"method": "POST",
"path": "/ipsec/users",
"status": 201
},
{
"method": "PATCH",
"path": "/ipsec/peers/:id",
"status": 200
},
{
"method": "PATCH",
"path": "/ipsec/peers/:id",
"status": 200
},
{
"method": "PATCH",
"path": "/ipsec/peers/:id",
"status": 200
},
{
"method": "PATCH",
"path": "/ipsec/peers/:id",
"status": 200
},
{
"method": "GET",
"path": "/ipsec?serverId=1",
"status": 200
},
{
"method": "PATCH",
"path": "/ipsec/users/:id",
"status": 200
},
{
"method": "GET",
"path": "/ipsec?serverId=1",
"status": 200
},
{
"method": "GET",
"path": "/ipsec?serverId=2",
"status": 200
},
{
"method": "PATCH",
"path": "/ipsec/users/:id",
"status": 200
},
{
"method": "GET",
"path": "/ipsec?serverId=2",
"status": 200
},
{
"method": "GET",
"path": "/ipsec",
"status": 200
},
{
"method": "GET",
"path": "/ipsec?serverId=1",
"status": 200
},
{
"method": "DELETE",
"path": "/ipsec/users/:id",
"status": 200
},
{
"method": "DELETE",
"path": "/ipsec/users/:id",
"status": 200
},
{
"method": "DELETE",
"path": "/ipsec/server/1",
"status": 200
},
{
"method": "GET",
"path": "/ipsec?serverId=2",
"status": 200
},
{
"method": "DELETE",
"path": "/ipsec/users/:id",
"status": 200
},
{
"method": "DELETE",
"path": "/ipsec/users/:id",
"status": 200
},
{
"method": "DELETE",
"path": "/ipsec/server/2",
"status": 200
}
],
"cleanup": [
{
"serverId": 1,
"/ip/ipsec/identity": true,
"/ip/ipsec/peer": true,
"/ip/ipsec/policy": true,
"/ip/ipsec/profile": true,
"/ip/ipsec/proposal": true,
"/ip/ipsec/mode-config": true,
"/ip/pool": true,
"/ip/firewall/nat": true,
"/certificate": true,
"/interface/gre": true,
"/ip/address": true,
"/ip/route": true,
"/ip/firewall/filter": true,
"/ip/firewall/mangle": true,
"/file": true
},
{
"serverId": 2,
"/ip/ipsec/identity": true,
"/ip/ipsec/peer": true,
"/ip/ipsec/policy": true,
"/ip/ipsec/profile": true,
"/ip/ipsec/proposal": true,
"/ip/ipsec/mode-config": true,
"/ip/pool": true,
"/ip/firewall/nat": true,
"/certificate": true,
"/interface/gre": true,
"/ip/address": true,
"/ip/route": true,
"/ip/firewall/filter": true,
"/ip/firewall/mangle": true,
"/file": true
}
],
"disabledChecks": [
{
"type": "home-router",
"readFailure": "disabled",
"mutationsStatus": 404,
"noNativeRequests": true
},
{
"type": "exit-node",
"readFailure": "disabled",
"mutationsStatus": 404,
"noNativeRequests": true
}
],
"disabledNativeProbeCalls": 0,
"realReadFailure": {
"status": 401,
"noFalseEmptySummary": true,
"partialSuccessfulServers": 2,
"probeCalls": 16
},
"fakeRecordsRemoved": true,
"init": [
{
"serverId": 1,
"initialized": true,
"identityAuth": "digital-signature",
"certificateRole": "server"
},
{
"serverId": 2,
"initialized": true,
"identityAuth": "digital-signature",
"certificateRole": "server"
}
],
"clientChecks": [
{
"serverId": 1,
"pskCreateToggleDuplicate": true,
"invalidIp400": true,
"missingPeer404": true,
"certificateIssued": true,
"pkcs12Validated": true,
"secretInPublicReport": false
},
{
"serverId": 2,
"pskCreateToggleDuplicate": true,
"invalidIp400": true,
"missingPeer404": true,
"certificateIssued": true,
"pkcs12Validated": true,
"secretInPublicReport": false
}
],
"encryptedPings": [
{
"serverId": 1,
"received": 3,
"policyState": "established",
"installedSaCount": 2,
"nonzeroSaBytes": true
},
{
"serverId": 2,
"received": 3,
"policyState": "established",
"installedSaCount": 2,
"nonzeroSaBytes": true
}
],
"importedCertificateNamesUnique": true,
"certificatePings": [
{
"serverId": 1,
"received": 3,
"policyState": "established",
"digitalSignatureConfigured": true,
"exportedClientCertificateUsed": true,
"nonzeroSaBytes": true
},
{
"serverId": 2,
"received": 3,
"policyState": "established",
"digitalSignatureConfigured": true,
"exportedClientCertificateUsed": true,
"nonzeroSaBytes": true
}
],
"activePeerEvidence": [
{
"serverId": 1,
"active": []
},
{
"serverId": 2,
"active": []
}
]
}
@@ -0,0 +1,58 @@
[
{
"path": "backend/package.json",
"sha256": "a257772b6dfa4a5789e8052050cfe108b6f17abcab60652b2d103e338352ce9e"
},
{
"path": "backend/src/routes/ipsec.ts",
"sha256": "0f659b83e1a6659fce430674c012b4b802d84c305e0c7cb2121e542e27ec5c05"
},
{
"path": "backend/src/services/entity-snapshots.ts",
"sha256": "3bfc9ec79b766bba78822f8cd0cb52c6a0f9275cce103230a8461fb4568d02c6"
},
{
"path": "backend/src/services/ipsec-ca.ts",
"sha256": "62d6dc31e825e72b5bb97fdbca148ed4a961b83f40c2fd26dae2ad02ca6e2499"
},
{
"path": "backend/src/services/ipsec-config.test.ts",
"sha256": "2b440b45d0e34badcbbb47805652c068edea1cf510e4800c8c2f34f9ac573c3f"
},
{
"path": "backend/src/services/ipsec-config.ts",
"sha256": "0211752033b34d9ab2b78ff7c211caac8a7785e68ecd32b155ed997eccb66c1d"
},
{
"path": "backend/src/services/ipsec-live.ts",
"sha256": "870c56d23ef7444588a9a95ea023426308da220675a86d426b86732ae2f4dd5c"
},
{
"path": "backend/src/services/ipsec-ros.ts",
"sha256": "f52dd291f916d20578614789825134882ce1669605225879459f6f92b0c1872b"
},
{
"path": "backend/src/services/ipsec-cleanup.ts",
"sha256": "08ffa7ad0ca1c9315720d80f1281279da0ccd4264c33abce9dda49df35050624"
},
{
"path": "backend/src/services/ipsec-state.test.ts",
"sha256": "bc81e603e94d947596fb2c8a1cd23ab06efdd0a2b2a4ffaee607b1a36b512385"
},
{
"path": "app/(main)/ipsec/page.tsx",
"sha256": "d1edad870a79161313c9718b2c448953dfa7a4e0e1ee7de4e5e478c8800fd558"
},
{
"path": "components/ipsec/ipsec-peer-sheet.tsx",
"sha256": "3cd72d864dc6fd34077f279e82fc3a1ee4e437e8c42b993957120f60a1419324"
},
{
"path": "tests/e2e/ipsec-links.spec.ts",
"sha256": "86909015ed7746047e5cb0d64f53d238fede520144dfb97fe2f537188964318f"
},
{
"path": "tests/e2e/ipsec-layout.spec.ts",
"sha256": "7c4fac163b0a26e175d60d63809724d4857f3672d05b1328049bf8a21ca4dc99"
}
]