package hotline
import (
- "bytes"
"encoding/hex"
"github.com/stretchr/testify/assert"
- "go.uber.org/zap"
- "go.uber.org/zap/zapcore"
+ "log/slog"
"os"
"testing"
)
-func NewTestLogger() *zap.SugaredLogger {
- encoderCfg := zap.NewProductionEncoderConfig()
- encoderCfg.TimeKey = "timestamp"
- encoderCfg.EncodeTime = zapcore.ISO8601TimeEncoder
-
- core := zapcore.NewCore(
- zapcore.NewConsoleEncoder(encoderCfg),
- zapcore.Lock(os.Stdout),
- zap.DebugLevel,
- )
-
- cores := []zapcore.Core{core}
- l := zap.New(zapcore.NewTee(cores...))
- defer func() { _ = l.Sync() }()
- return l.Sugar()
+func NewTestLogger() *slog.Logger {
+ return slog.New(slog.NewTextHandler(os.Stdout, nil))
}
// assertTransferBytesEqual takes a string with a hexdump in the same format that `hexdump -C` produces and compares with
return assert.Equal(t, wantHexDump, hex.Dump(clean))
}
-// tranAssertEqual compares equality of transactions slices after stripping out the random ID
+// tranAssertEqual compares equality of transactions slices after stripping out the random transaction ID
func tranAssertEqual(t *testing.T, tran1, tran2 []Transaction) bool {
var newT1 []Transaction
var newT2 []Transaction
trans.ID = []byte{0, 0, 0, 0}
var fs []Field
for _, field := range trans.Fields {
- if bytes.Equal(field.ID, []byte{0x00, 0x6b}) {
+ if field.ID == [2]byte{0x00, 0x6b} { // FieldRefNum
+ continue
+ }
+ if field.ID == [2]byte{0x00, 0x72} { // FieldChatID
continue
}
fs = append(fs, field)
trans.ID = []byte{0, 0, 0, 0}
var fs []Field
for _, field := range trans.Fields {
- if bytes.Equal(field.ID, []byte{0x00, 0x6b}) {
+ if field.ID == [2]byte{0x00, 0x6b} { // FieldRefNum
+ continue
+ }
+ if field.ID == [2]byte{0x00, 0x72} { // FieldChatID
continue
}
fs = append(fs, field)