Отправка в НРД с подтверждением доставки: ERROR от ИШ — заявка «Не отправлена», без BJ_SENT; «Отправить повторно» тем же GUID; сторож связи ИШ↔НРД по журналу ИШ

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
zuevav
2026-09-25 15:57:07 +03:00
parent eecb3b7923
commit c2aaa09fe3
15 changed files with 651 additions and 33 deletions
+20
View File
@@ -0,0 +1,20 @@
package lkgateway
import "testing"
func TestNsdLastPolls(t *testing.T) {
log := `PID_1 2026-09-25 12:00:01.1 T16 DEBUG [WSL] WSL TEST3 GOST: GetPackageListFull (GET) -> OK (HTTP 200)
PID_1 2026-09-25 15:00:02.1 T16 DEBUG [WSL] WSL TEST3 GOST: GetPackageListFull (GET) -> #404 (HTTP Error 404: NotFound)
PID_1 2026-09-25 15:00:02.1 T16 ERROR [GATE] WSL TEST3 GOST: Failure while fetching packages for MC0413600000
GetPackageListFull (GET): REST call resulted in error #404 "HTTP Error 404: NotFound". REST endpoint: "https://gost-t3.nsd.ru/onyx-ms"
PID_1 2026-09-25 15:40:00.1 T16 DEBUG [WSL] WSL TEST3 GOST: GetPackageListFull (GET) -> #500 (HTTP Error 500: InternalServerError)
`
last, ff := nsdLastPolls([]byte(log))
if last == nil || last.OK || last.Contour != "TEST3 GOST" || ff == nil || ff.At.Format("15:04") != "15:00" {
t.Fatalf("сбой: last=%+v first=%+v", last, ff)
}
last, ff = nsdLastPolls([]byte(log + "PID_1 2026-09-25 16:00:00.1 T16 DEBUG [WSL] WSL TEST3 GOST: GetPackageListFull (GET) -> OK (HTTP 200)\n"))
if !last.OK || ff != nil {
t.Fatalf("восстановление: %+v %+v", last, ff)
}
}