You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
More often than not we would like to do go client.Put(...)
in our code.
But this creates issues with testing such code. Namely there is a problem with syncing on the logging code so that test can reliably check of a certain message has been Put.
I've introduced this PR to enable the general possibility of such a test. But test code that tests for the fact that 2 messages have been pushed now looks like this:
timeout := make(chan bool, 1)
go func() {
time.Sleep(1 * time.Second)
timeout <- true
}()
select {
case <-gTritonLogger.Channel:
go func() {
time.Sleep(1 * time.Second)
timeout <- true
}()
select {
case <-gTritonLogger.Channel:
case <-timeout:
assert.Fail(t,"GetQuotes has not been logged to tritonD")
}
case <-timeout:
assert.Fail(t,"Place Quote has not been logged to tritonD")
}
tData := gTritonLogger.StreamData
assert.Equal(t, 2, len(tData))
singlPQLogEntry, ok := tData[GetQuotesSinglePlaceEventName]
assert.True(t, ok)
assert.EqualValues(t, pq.QuoteUUID, singlPQLogEntry[0]["request_uuid"])
getQuotesLogEntry, ok := tData[GetQuotesEventName]
assert.True(t, ok)
assert.EqualValues(t, pq.RequestUUID, getQuotesLogEntry[0]["request_uuid"])
Something need to be done about MockClient so it is easier to test async usages of TritonD Client.
The text was updated successfully, but these errors were encountered:
More often than not we would like to do
go client.Put(...)
in our code.
But this creates issues with testing such code. Namely there is a problem with syncing on the logging code so that test can reliably check of a certain message has been Put.
I've introduced this PR to enable the general possibility of such a test. But test code that tests for the fact that 2 messages have been pushed now looks like this:
Something need to be done about MockClient so it is easier to test async usages of TritonD Client.
The text was updated successfully, but these errors were encountered: