chore(tests): проверить доставку Telegram и сохранить границы повтора
This commit is contained in:
1 parent
608f743003
commit
f8d2b21cf6
11 files changed
+356
-12
No files matched your search
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"date": "2026-10-13",
|
||||
"block": "12.5.197",
|
||||
"database": "mm_accept_166_1791881369983",
|
||||
"scope": "Production compiled outbox, owned PostgreSQL, actual Portal JWT and real Telegram provider",
|
||||
"cases": [
|
||||
{
|
||||
"name": "dedupe and independent senders",
|
||||
"senders": 2,
|
||||
"queuedRows": 1,
|
||||
"providerSends": 1,
|
||||
"sentHistoryRows": 1
|
||||
},
|
||||
{
|
||||
"name": "controlled lost receipt",
|
||||
"providerAccepted": true,
|
||||
"status": "unknown",
|
||||
"automaticResend": false,
|
||||
"physicalDisconnect": false
|
||||
},
|
||||
{
|
||||
"name": "explicit retry with real Portal JWT",
|
||||
"reader": 403,
|
||||
"missingAck": 400,
|
||||
"admin": 200,
|
||||
"staleVersion": 409,
|
||||
"resolutionVersion": 1,
|
||||
"intentionalDuplicate": true,
|
||||
"sentHistoryRows": 2
|
||||
}
|
||||
],
|
||||
"providerSendCalls": 3,
|
||||
"providerAcceptanceIds": [
|
||||
100,
|
||||
1,
|
||||
2
|
||||
],
|
||||
"ownPortalUsersRemoved": true,
|
||||
"passed": true,
|
||||
"retryDiagnostic": {
|
||||
"outcome": {
|
||||
"sent": 1,
|
||||
"failed": 0,
|
||||
"held": 0,
|
||||
"errors": []
|
||||
},
|
||||
"rows": [
|
||||
{
|
||||
"status": "sent",
|
||||
"retry_count": 0,
|
||||
"resolution_version": 1,
|
||||
"next_attempt_at": "2026-10-13T08:49:39.235Z",
|
||||
"last_error": null
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"date": "2026-10-13",
|
||||
"block": "12.5.197",
|
||||
"database": "mm_accept_166_1791880757291",
|
||||
"scope": "Production compiled outbox, owned PostgreSQL, actual Portal JWT and real Telegram provider",
|
||||
"cases": [
|
||||
{
|
||||
"name": "dedupe and independent senders",
|
||||
"senders": 2,
|
||||
"queuedRows": 1,
|
||||
"providerSends": 1,
|
||||
"sentHistoryRows": 1
|
||||
},
|
||||
{
|
||||
"name": "controlled lost receipt",
|
||||
"providerAccepted": true,
|
||||
"status": "unknown",
|
||||
"automaticResend": false,
|
||||
"physicalDisconnect": false
|
||||
}
|
||||
],
|
||||
"providerSendCalls": 2,
|
||||
"providerAcceptanceIds": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"ownPortalUsersRemoved": true,
|
||||
"passed": false,
|
||||
"errorName": "AssertionError"
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"date": "2026-10-13",
|
||||
"block": "12.5.197",
|
||||
"database": "mm_accept_166_1791881442739",
|
||||
"resumeOnly": true,
|
||||
"scope": "Production compiled outbox, owned PostgreSQL, actual Portal JWT and real Telegram provider",
|
||||
"cases": [
|
||||
{
|
||||
"name": "resume fixture",
|
||||
"status": "unknown",
|
||||
"providerSend": false,
|
||||
"priorLiveEvidence": "telegram197-partial.json"
|
||||
},
|
||||
{
|
||||
"name": "explicit retry with real Portal JWT",
|
||||
"reader": 403,
|
||||
"missingAck": 400,
|
||||
"admin": 200,
|
||||
"staleVersion": 409,
|
||||
"resolutionVersion": 1,
|
||||
"intentionalDuplicate": true,
|
||||
"sentHistoryRows": 1
|
||||
}
|
||||
],
|
||||
"providerSendCalls": 1,
|
||||
"providerAcceptanceIds": [
|
||||
5
|
||||
],
|
||||
"ownPortalUsersRemoved": true,
|
||||
"passed": true,
|
||||
"retryDiagnostic": {
|
||||
"outcome": {
|
||||
"sent": 1,
|
||||
"failed": 0,
|
||||
"held": 0,
|
||||
"errors": []
|
||||
},
|
||||
"rows": [
|
||||
{
|
||||
"status": "sent",
|
||||
"retry_count": 0,
|
||||
"resolution_version": 1,
|
||||
"next_attempt_at": "2026-10-13T08:50:49.443Z",
|
||||
"last_error": null
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"date": "2026-10-13",
|
||||
"block": "12.5.197",
|
||||
"humanReceipt": {
|
||||
"confirmed": true,
|
||||
"message1": 1,
|
||||
"message2": 2
|
||||
},
|
||||
"providerAcceptedMessages": 3,
|
||||
"livePartialCases": [
|
||||
"dedupe",
|
||||
"two independent sender processes",
|
||||
"controlled receipt suppression after real provider acceptance",
|
||||
"unknown not automatically resent"
|
||||
],
|
||||
"liveResumeCases": [
|
||||
"reader 403",
|
||||
"missing duplicate ack 400",
|
||||
"admin CAS 200",
|
||||
"stale version 409",
|
||||
"provider accepted explicit resend",
|
||||
"sent state and history committed"
|
||||
],
|
||||
"dryProvider": {
|
||||
"fullScenarioPassed": true,
|
||||
"realOwnedPostgreSQL": true,
|
||||
"realPortalJWT": true,
|
||||
"telegramNetwork": false
|
||||
},
|
||||
"cleanup": {
|
||||
"threeOwnedDatabasesAndRolesRemoved": true,
|
||||
"ownPortalUsersRemoved": true,
|
||||
"temporaryBotPrivateFileRemoved": true
|
||||
},
|
||||
"limitations": [
|
||||
"First complete live run failed asserting immediate resend sent=1; outcome was not captured. Cause remains unresolved.",
|
||||
"Successful live retry used a new owned unknown-row fixture; it was not continuation of the same database transaction chain.",
|
||||
"Lost receipt was injected after provider acceptance, not a physical WAN disconnect.",
|
||||
"No single uninterrupted full live pass claimed."
|
||||
],
|
||||
"runtimeChanged": false
|
||||
}
|
||||
Reference in new issue
Block a user