1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
import unittest
from websockets.sync.utils import *
from ..utils import MS
class DeadlineTests(unittest.TestCase):
def test_timeout_pending(self):
"""timeout returns remaining time if deadline is in the future."""
deadline = Deadline(MS)
timeout = deadline.timeout()
self.assertGreater(timeout, 0)
self.assertLess(timeout, MS)
def test_timeout_elapsed_exception(self):
"""timeout raises TimeoutError if deadline is in the past."""
deadline = Deadline(-MS)
with self.assertRaises(TimeoutError):
deadline.timeout()
def test_timeout_elapsed_no_exception(self):
"""timeout doesn't raise TimeoutError when raise_if_elapsed is disabled."""
deadline = Deadline(-MS)
timeout = deadline.timeout(raise_if_elapsed=False)
self.assertGreater(timeout, -2 * MS)
self.assertLess(timeout, -MS)
def test_no_timeout(self):
"""timeout returns None when no deadline is set."""
deadline = Deadline(None)
timeout = deadline.timeout()
self.assertIsNone(timeout, None)
|