|
|
|
@ -77,22 +77,18 @@ testBrokerServerSubmitOrder = testCase "Broker Server submits order" $ withConte |
|
|
|
uid <- toText <$> UV4.nextRandom |
|
|
|
uid <- toText <$> UV4.nextRandom |
|
|
|
(mockBroker, broState) <- mkMockBroker ["demo"] |
|
|
|
(mockBroker, broState) <- mkMockBroker ["demo"] |
|
|
|
let ep = "inproc://brokerserver" `T.append` uid |
|
|
|
let ep = "inproc://brokerserver" `T.append` uid |
|
|
|
let order = Order { |
|
|
|
let order = mkOrder { |
|
|
|
orderId = 0, |
|
|
|
|
|
|
|
orderAccountId = "demo", |
|
|
|
orderAccountId = "demo", |
|
|
|
orderSecurity = "FOO", |
|
|
|
orderSecurity = "FOO", |
|
|
|
orderPrice = Market, |
|
|
|
orderPrice = Market, |
|
|
|
orderQuantity = 10, |
|
|
|
orderQuantity = 10, |
|
|
|
orderExecutedQuantity = 0, |
|
|
|
orderOperation = Buy |
|
|
|
orderOperation = Buy, |
|
|
|
|
|
|
|
orderState = Unsubmitted, |
|
|
|
|
|
|
|
orderSignalId = SignalId "" "" "" |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
bracket (startBrokerServer [mockBroker] ctx ep) stopBrokerServer (\broS -> |
|
|
|
bracket (startBrokerServer [mockBroker] ctx ep) stopBrokerServer (\broS -> |
|
|
|
withSocket ctx Req (\sock -> do |
|
|
|
withSocket ctx Req (\sock -> do |
|
|
|
connect sock (T.unpack ep) |
|
|
|
connect sock (T.unpack ep) |
|
|
|
send sock [] (BL.toStrict . encode $ RequestSubmitOrder 1 order) |
|
|
|
send sock [] (BL.toStrict . encode $ RequestSubmitOrder 1 order) |
|
|
|
threadDelay 100000 |
|
|
|
threadDelay 10000 |
|
|
|
s <- readIORef broState |
|
|
|
s <- readIORef broState |
|
|
|
(length . orders) s @?= 1 |
|
|
|
(length . orders) s @?= 1 |
|
|
|
))) |
|
|
|
))) |
|
|
|
|