fix(traffic): подтверждать идентичность соседних счётчиков

This commit is contained in:
Denozordec committed 2026-10-13 01:19:22 +07:00
1 parent 493c30bebc
commit b57ae316ba
27 files changed
+1444 -36

No files matched your search

@@ -0,0 +1,26 @@
{
"date": "2026-10-13",
"block": "12.5.186",
"version": "1.0.0-test.identity186",
"passed": true,
"method": "Read-only actual application volume API; no new native RouterOS commands; exact edge values covered separately by owned SQL",
"cases": [
{
"sourceId": "1",
"volumeUnit": "GiB",
"rxTotalGiB": 0.013450461439788342,
"txTotalGiB": 0.0018185554072260857,
"currentState": "unknown"
},
{
"sourceId": "2",
"volumeUnit": "GiB",
"rxTotalGiB": 0.002372242510318756,
"txTotalGiB": 0.002620793879032135,
"currentState": "unknown"
}
],
"newRouterOSCommands": 0,
"passwordChanges": 0,
"messages": 0
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,46 @@
{
"date": "2026-10-13",
"block": "12.5.186",
"runtime": {
"backend": "ux-identity186",
"frontend": "ux-warning183"
},
"apis": [
{
"path": "/api/traffic/servers",
"status": 200
},
{
"path": "/api/traffic/users",
"status": 200
},
{
"path": "/api/traffic/bound-interfaces",
"status": 200
}
],
"cases": [
{
"width": 1440,
"trafficServers200": true,
"attemptProvenanceVisible": true,
"actualLiveSample": true,
"backendReceiptLabel": true,
"pageErrors": 0,
"noOverflow": true
},
{
"width": 320,
"trafficServers200": true,
"attemptProvenanceVisible": true,
"actualLiveSample": true,
"backendReceiptLabel": true,
"pageErrors": 0,
"noOverflow": true
}
],
"bounds": [
"Read-only smoke; error/stale/legacy branches proven by owned SQL and UI fixtures",
"No manual production scheduler/config/password/message writes"
]
}
@@ -0,0 +1,37 @@
{
"date": "2026-10-13",
"block": "12.5.186",
"version": "1.0.0-test.identity186",
"readOnlyDatabase": true,
"cases": [
{
"sourceId": 1,
"target": "194.226.121.150",
"identityRead": true,
"interfaceRead": true,
"interfaceCount": 2,
"countersValid": true,
"nativeBooleanFlagsValidated": true,
"peerSliceValidated": true,
"peerCount": 0,
"nativeCounterIdsValidated": true
},
{
"sourceId": 2,
"target": "104.165.244.7",
"identityRead": true,
"interfaceRead": true,
"interfaceCount": 2,
"countersValid": true,
"nativeBooleanFlagsValidated": true,
"peerSliceValidated": true,
"peerCount": 0,
"nativeCounterIdsValidated": true
}
],
"dbWrites": 0,
"routerConfigWrites": 0,
"messages": 0,
"migrationApplied": true,
"passed": true
}
@@ -0,0 +1,22 @@
{
"date": "2026-10-13",
"block": "12.5.186",
"method": "Read-only actual API after automatic polls; no manual collector invocation",
"cases": [
{
"sourceId": "1",
"state": "current",
"rxKnown": true,
"txKnown": true,
"measurementIntervalMs": 30000
},
{
"sourceId": "2",
"state": "current",
"rxKnown": true,
"txKnown": true,
"measurementIntervalMs": 30000
}
],
"passed": true
}
@@ -0,0 +1,25 @@
{
"date": "2026-10-13",
"block": "12.5.186",
"secretEnvCopied": false,
"rollbackTags": {
"MMAPP_IMAGE_TAG": "ux-warning183",
"BACKEND_IMAGE_TAG": "ux-gap185"
},
"services": {
"backend": {
"image": "mmapp-test/backend:ux-identity186",
"imageId": "sha256:0856c19bdcba4f8514b582f610073fc24249fbafee4972b2ea0f29f6b00d3fd5",
"state": "running",
"health": "healthy",
"matchedVerifiedImage": true
},
"frontend": {
"image": "mmapp-test/frontend:ux-warning183",
"imageId": "sha256:4cf0549a212bfdc75c0107f3725686a9a9746a46ed6493ac73f608a0a335a586",
"state": "running",
"health": null,
"matchedVerifiedImage": true
}
}
}
@@ -0,0 +1,10 @@
{
"date": "2026-10-13",
"block": "12.5.186",
"matched": {
"backend": 458,
"frontend": 524
},
"different": [],
"missing": []
}
@@ -0,0 +1,31 @@
{
"date": "2026-10-13",
"block": "12.5.186",
"passed": true,
"profiles": [
{
"date": "2026-10-13",
"block": "12.5.186",
"database": "mm_accept_166_1791828561251",
"scope": "ephemeral role and precreated owned database; no copied production credentials",
"tests": [
{
"command": "npm --prefix backend run test:traffic-rate",
"passed": true,
"durationMs": 37613,
"ownedTrafficSqlCases": 9,
"ownedHistorySqlCases": 14,
"ownedLiveSqlCases": 10,
"ownedVolumeSqlCases": 10,
"ownedStatusSqlCases": 19,
"postgresUnavailableSkip": false
}
],
"scopedRoleVerified": true,
"passed": true,
"databaseRemoved": true,
"roleRemoved": true,
"testContainerRemoved": true
}
]
}