This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
package tinvest
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
pb "github.com/russianinvestments/invest-api-go-sdk/proto"
|
||||
"github.com/shopspring/decimal"
|
||||
|
||||
"overnight-trading-bot/internal/domain"
|
||||
)
|
||||
|
||||
func TestOrderFromPostResponseZeroFillHasZeroAvgPrice(t *testing.T) {
|
||||
order := orderFromPostResponse(&pb.PostOrderResponse{
|
||||
OrderId: "broker",
|
||||
ExecutionReportStatus: pb.OrderExecutionReportStatus_EXECUTION_REPORT_STATUS_NEW,
|
||||
LotsRequested: 1,
|
||||
LotsExecuted: 0,
|
||||
ExecutedOrderPrice: &pb.MoneyValue{Currency: "rub", Units: 100},
|
||||
InstrumentUid: "uid",
|
||||
}, "account", "client", domain.SideBuy, decimal.NewFromInt(100))
|
||||
if !order.AvgFillPrice.IsZero() {
|
||||
t.Fatalf("avg fill price=%s, want zero for unfilled order", order.AvgFillPrice)
|
||||
}
|
||||
}
|
||||
|
||||
func TestMarshalProtoRedactsAccountID(t *testing.T) {
|
||||
raw := marshalProto(&pb.OrderTrades{
|
||||
OrderId: "order",
|
||||
AccountId: "plain-account-id",
|
||||
InstrumentUid: "uid",
|
||||
})
|
||||
if strings.Contains(raw, "plain-account-id") || strings.Contains(raw, "accountId") || strings.Contains(raw, "account_id") {
|
||||
t.Fatalf("raw proto leaked account id: %s", raw)
|
||||
}
|
||||
if !strings.Contains(raw, "order") {
|
||||
t.Fatalf("sanitizer removed non-sensitive data: %s", raw)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user