6844: Clean up websocket tests, fix possible deadlock, reduce unnecessary sleep().
authorTom Clegg <tom@curoverse.com>
Fri, 7 Aug 2015 17:55:33 +0000 (13:55 -0400)
committerTom Clegg <tom@curoverse.com>
Fri, 7 Aug 2015 17:55:33 +0000 (13:55 -0400)
commit970907f28866a09a9fe95da48dffa6cd34ab4dca
tree95756b1c28f60d3dbe508cdd674a6e47db031684
parent9209660a3bd951c3945bce0da2fa9195cb002e44
6844: Clean up websocket tests, fix possible deadlock, reduce unnecessary sleep().

* Use onevent=q.put_nowait, so "too many events" raises Queue.Full
  instead of blocking the websocket thread.

* Simplify test strategy: get the events we expect (waiting <5s for
  each), then make sure no more events arrive for >2s.

* Delete "no logs arrive from 1 day in the future" test:
  indistinguishable from "no logs arrive from 1 hour in the future".

* Delete "use today's date, with no time, as a threshold" test:
  indistinguishable from "can fetch logs 1 hour in the past"

* De-duplicate strftime(), datetime arithmetic, and "how to ask for
  logs starting at time X" logic.

* Express timestamp thresholds in ISO8601. Existing tests continue to
  use localtime. Two new tests use UTC.
sdk/python/tests/test_websockets.py