File: test_exception.py

package info (click to toggle)
python-overpy 0.7-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 556 kB
  • sloc: python: 2,235; xml: 1,055; makefile: 150
file content (64 lines) | stat: -rw-r--r-- 2,199 bytes parent folder | download | duplicates (2)
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import overpy


class TestExceptions:
    def test_element_data_wrong_type(self):
        e = overpy.exception.ElementDataWrongType("from1")
        assert e.type_expected == "from1"
        assert e.type_provided is None
        assert isinstance(str(e), str)

        e = overpy.exception.ElementDataWrongType("from2", "to2")
        assert e.type_expected == "from2"
        assert e.type_provided == "to2"
        assert isinstance(str(e), str)

    def test_overpass_bad_request(self):
        e = overpy.exception.OverpassBadRequest("query")
        assert e.query == "query"
        assert isinstance(e.msgs, list)
        assert len(e.msgs) == 0
        assert str(e) == ""

        e = overpy.exception.OverpassBadRequest("test\nquery\n123", ["abc", 1])
        assert e.query == "test\nquery\n123"
        assert isinstance(e.msgs, list)
        assert len(e.msgs) == 2
        assert str(e) == "abc\n1"

    def test_overpass_unknown_content_type(self):
        e = overpy.exception.OverpassUnknownContentType(None)
        assert e.content_type is None
        assert str(e).startswith("No content")

        e = overpy.exception.OverpassUnknownContentType("content")
        assert e.content_type == "content"
        assert str(e).startswith("Unknown content")
        assert str(e).endswith("content")

    def test_overpass_unknown_http_status_code(self):
        e = overpy.exception.OverpassUnknownHTTPStatusCode(123)
        assert e.code == 123
        assert str(e).endswith("123")

    def test_overpass_error(self):
        exceptions = [
            overpy.exception.OverpassError,
            overpy.exception.OverpassRuntimeError,
            overpy.exception.OverpassRuntimeRemark,
            overpy.exception.OverpassUnknownError
        ]
        for cls in exceptions:
            e = cls(msg="Test message")
            assert e.msg == "Test message"
            assert str(e) == "Test message"

        for cls in exceptions:
            e = cls()
            assert e.msg is None
            assert str(e) == "No error message provided"

        for cls in exceptions:
            e = cls(msg=123)
            assert e.msg == 123
            assert str(e) == "123"