File: test_utils.py

package info (click to toggle)
python-websockets 15.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,948 kB
  • sloc: python: 25,105; javascript: 350; ansic: 148; makefile: 43
file content (33 lines) | stat: -rw-r--r-- 1,115 bytes parent folder | download | duplicates (16)
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)