Код бумаги в запросе НРД — код НРД из DEPO по ISIN (у акций ≠ ISIN: SBER/03), иначе M2M43
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
//go:build live
|
||||
|
||||
package lkgateway
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"os"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
// Проверка боевой блокировки и снятия в МНП: «Вывод ЦБ (M2M)» 1 шт. → снятие. BLK_GO=1
|
||||
func TestQuikBlockUnblockLive(t *testing.T) {
|
||||
if os.Getenv("BLK_GO") != "1" {
|
||||
t.Skip()
|
||||
}
|
||||
rc, err := NewRuntimeConfig("/var/lib/bj/.bj/setup.json")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
globalRC = rc
|
||||
ctx := context.Background()
|
||||
s := rc.Snapshot().Quik
|
||||
s.Emulate, s.WritesEnabled = false, true // только для этой проверки
|
||||
if no := os.Getenv("BLK_DENY"); no != "" { // только снять поручение №BLK_DENY
|
||||
var n float64
|
||||
fmt.Sscan(no, &n)
|
||||
aid2, err := quikExecDeny(ctx, s, n, "Проверка bj: снятие тестовой блокировки")
|
||||
fmt.Println("снятие ActionID:", aid2, err)
|
||||
if err == nil {
|
||||
r2 := quikWaitAction(ctx, s, aid2, 90*time.Second)
|
||||
fmt.Printf("снятие: статус %d — %s\n", r2.QueryStatus, r2.ReplyText)
|
||||
}
|
||||
return
|
||||
}
|
||||
aid, err := quikExecNewInstr(ctx, s, true, "BJ-BLK-TEST", "BR859", "RU0009029540", 1, "7702015515", true, "bj: проверка блокировки/снятия")
|
||||
fmt.Println("регистрация ActionID:", aid, err)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
r := quikWaitAction(ctx, s, aid, 90*time.Second)
|
||||
fmt.Printf("блокировка: статус %d, поручение %s — %s\n", r.QueryStatus, r.InstrNo, r.ReplyText)
|
||||
if r.QueryStatus != 2 || r.InstrNo == "" || r.InstrNo == "0" || os.Getenv("BLK_KEEP") == "1" {
|
||||
return
|
||||
}
|
||||
var no float64
|
||||
fmt.Sscan(r.InstrNo, &no)
|
||||
aid2, err := quikExecDeny(ctx, s, no, "Проверка bj: снятие тестовой блокировки")
|
||||
fmt.Println("снятие ActionID:", aid2, err)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
r2 := quikWaitAction(ctx, s, aid2, 90*time.Second)
|
||||
fmt.Printf("снятие: статус %d — %s\n", r2.QueryStatus, r2.ReplyText)
|
||||
}
|
||||
Reference in New Issue
Block a user