|
| 1 | +from xml.etree.ElementTree import Element |
| 2 | + |
1 | 3 | import pytest
|
2 | 4 |
|
3 | 5 | from openapi_core.deserializing.exceptions import DeserializeError
|
@@ -46,23 +48,48 @@ def test_no_deserializer(self, deserializer_factory):
|
46 | 48 |
|
47 | 49 | assert result == value
|
48 | 50 |
|
49 |
| - def test_json_empty(self, deserializer_factory): |
50 |
| - mimetype = "application/json" |
| 51 | + @pytest.mark.parametrize("mimetype", [ |
| 52 | + "application/json", "application/vnd.api+json", |
| 53 | + ]) |
| 54 | + def test_json_empty(self, deserializer_factory, mimetype): |
51 | 55 | deserializer = deserializer_factory(mimetype)
|
52 | 56 | value = ""
|
53 | 57 |
|
54 | 58 | with pytest.raises(DeserializeError):
|
55 | 59 | deserializer.deserialize(value)
|
56 | 60 |
|
57 |
| - def test_json_empty_object(self, deserializer_factory): |
58 |
| - mimetype = "application/json" |
| 61 | + @pytest.mark.parametrize("mimetype", [ |
| 62 | + "application/json", "application/vnd.api+json", |
| 63 | + ]) |
| 64 | + def test_json_empty_object(self, deserializer_factory, mimetype): |
59 | 65 | deserializer = deserializer_factory(mimetype)
|
60 | 66 | value = "{}"
|
61 | 67 |
|
62 | 68 | result = deserializer.deserialize(value)
|
63 | 69 |
|
64 | 70 | assert result == {}
|
65 | 71 |
|
| 72 | + @pytest.mark.parametrize("mimetype", [ |
| 73 | + "application/xml", "application/xhtml+xml", |
| 74 | + ]) |
| 75 | + def test_xml_empty(self, deserializer_factory, mimetype): |
| 76 | + deserializer = deserializer_factory(mimetype) |
| 77 | + value = "" |
| 78 | + |
| 79 | + with pytest.raises(DeserializeError): |
| 80 | + deserializer.deserialize(value) |
| 81 | + |
| 82 | + @pytest.mark.parametrize("mimetype", [ |
| 83 | + "application/xml", "application/xhtml+xml", |
| 84 | + ]) |
| 85 | + def test_xml_valid(self, deserializer_factory, mimetype): |
| 86 | + deserializer = deserializer_factory(mimetype) |
| 87 | + value = "<obj>text</obj>" |
| 88 | + |
| 89 | + result = deserializer.deserialize(value) |
| 90 | + |
| 91 | + assert type(result) is Element |
| 92 | + |
66 | 93 | def test_urlencoded_form_empty(self, deserializer_factory):
|
67 | 94 | mimetype = "application/x-www-form-urlencoded"
|
68 | 95 | deserializer = deserializer_factory(mimetype)
|
|
0 commit comments