|
1 | 1 | import pytest
|
2 | 2 |
|
| 3 | +from six import b, u |
| 4 | + |
3 | 5 | from openapi_core.deserializing.exceptions import DeserializeError
|
4 | 6 | from openapi_core.deserializing.media_types.factories import (
|
5 | 7 | MediaTypeDeserializersFactory,
|
@@ -31,22 +33,46 @@ def test_json_empty_object(self, deserializer_factory):
|
31 | 33 |
|
32 | 34 | assert result == {}
|
33 | 35 |
|
34 |
| - def test_form_urlencoded_empty(self, deserializer_factory): |
| 36 | + def test_urlencoded_form_empty(self, deserializer_factory): |
35 | 37 | media_type = MediaType('application/x-www-form-urlencoded')
|
36 | 38 | value = ''
|
37 | 39 |
|
38 | 40 | result = deserializer_factory(media_type)(value)
|
39 | 41 |
|
40 | 42 | assert result == {}
|
41 | 43 |
|
42 |
| - def test_form_urlencoded_simple(self, deserializer_factory): |
| 44 | + def test_urlencoded_form_simple(self, deserializer_factory): |
43 | 45 | media_type = MediaType('application/x-www-form-urlencoded')
|
44 | 46 | value = 'param1=test'
|
45 | 47 |
|
46 | 48 | result = deserializer_factory(media_type)(value)
|
47 | 49 |
|
48 | 50 | assert result == {'param1': 'test'}
|
49 | 51 |
|
| 52 | + @pytest.mark.parametrize('value', [b(''), u('')]) |
| 53 | + def test_data_form_empty(self, deserializer_factory, value): |
| 54 | + media_type = MediaType('multipart/form-data') |
| 55 | + |
| 56 | + result = deserializer_factory(media_type)(value) |
| 57 | + |
| 58 | + assert result == {} |
| 59 | + |
| 60 | + def test_data_form_simple(self, deserializer_factory): |
| 61 | + media_type = MediaType('multipart/form-data') |
| 62 | + value = b( |
| 63 | + 'Content-Type: multipart/form-data; boundary="' |
| 64 | + '===============2872712225071193122=="\n' |
| 65 | + 'MIME-Version: 1.0\n\n' |
| 66 | + '--===============2872712225071193122==\n' |
| 67 | + 'Content-Type: text/plain\nMIME-Version: 1.0\n' |
| 68 | + 'Content-Disposition: form-data; name="param1"\n\ntest\n' |
| 69 | + '--===============2872712225071193122==--\n' |
| 70 | + ) |
| 71 | + |
| 72 | + result = deserializer_factory(media_type)(value) |
| 73 | + |
| 74 | + assert result == {'param1': b('test')} |
| 75 | + |
50 | 76 | def test_custom_simple(self, deserializer_factory):
|
51 | 77 | custom_mimetype = 'application/custom'
|
52 | 78 | media_type = MediaType(custom_mimetype)
|
|
0 commit comments