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 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
|
import pytest
import overpy
from tests import read_file
from tests.base_class import BaseTestAreas, BaseTestNodes, BaseTestRelation, BaseTestWay
class TestAreas(BaseTestAreas):
def test_area01(self):
api = overpy.Overpass()
result = api.parse_json(read_file("json/area-01.json"))
self._test_area01(result)
class TestNodes(BaseTestNodes):
def test_node01(self):
api = overpy.Overpass()
result = api.parse_json(read_file("json/node-01.json"))
self._test_node01(result)
class TestRelation(BaseTestRelation):
def test_relation01(self):
api = overpy.Overpass()
result = api.parse_json(read_file("json/relation-01.json"))
self._test_relation01(result)
def test_relation02(self):
api = overpy.Overpass()
result = api.parse_json(read_file("json/relation-02.json"))
self._test_relation02(result)
def test_relation03(self):
api = overpy.Overpass()
result = api.parse_json(read_file("json/relation-03.json"))
self._test_relation03(result)
def test_relation04(self):
api = overpy.Overpass()
result = api.parse_json(read_file("json/relation-04.json"))
self._test_relation04(result)
class TestWay(BaseTestWay):
def test_way01(self):
api = overpy.Overpass()
result = api.parse_json(read_file("json/way-01.json"))
self._test_way01(result)
def test_way02(self):
api = overpy.Overpass()
result = api.parse_json(read_file("json/way-02.json"))
self._test_way02(result)
def test_way03(self):
api = overpy.Overpass()
result = api.parse_json(read_file("json/way-03.json"))
self._test_way03(result)
def test_way04(self):
api = overpy.Overpass()
with pytest.raises(ValueError):
api.parse_json(read_file("json/way-04.json"))
class TestDataError:
def test_element_wrong_type(self):
with pytest.raises(overpy.exception.ElementDataWrongType):
overpy.Node.from_json(
{
"type": "foo"
}
)
with pytest.raises(overpy.exception.ElementDataWrongType):
overpy.Relation.from_json(
{
"type": "foo"
}
)
with pytest.raises(overpy.exception.ElementDataWrongType):
overpy.RelationNode.from_json(
{
"type": "foo"
}
)
with pytest.raises(overpy.exception.ElementDataWrongType):
overpy.RelationWay.from_json(
{
"type": "foo"
}
)
with pytest.raises(overpy.exception.ElementDataWrongType):
overpy.Way.from_json(
{
"type": "foo"
}
)
class TestRemark:
def test_remark_runtime_error(self):
api = overpy.Overpass()
with pytest.raises(overpy.exception.OverpassRuntimeError):
api.parse_json(read_file("json/remark-runtime-error-01.json"))
def test_remark_runtime_remark(self):
api = overpy.Overpass()
with pytest.raises(overpy.exception.OverpassRuntimeRemark):
api.parse_json(read_file("json/remark-runtime-remark-01.json"))
def test_remark_unknown(self):
api = overpy.Overpass()
with pytest.raises(overpy.exception.OverpassUnknownError):
api.parse_json(read_file("json/remark-unknown-01.json"))
|