diff options
author | Alex Chan <alex@alexwlchan.net> | 2017-06-05 12:26:09 +0100 |
---|---|---|
committer | Alex Chan <alex@alexwlchan.net> | 2017-06-05 12:26:09 +0100 |
commit | 0c43030e210de912f66dcd148de4be0a42bf3dbe (patch) | |
tree | bae6f165f6527fbf67e764965670da02c1f1e537 | |
parent | 8e0edf4185cd5d9e7d91a1cb4f674c3aaffbadb2 (diff) | |
download | urllib3-0c43030e210de912f66dcd148de4be0a42bf3dbe.tar.gz |
Rewrite test_filepost.py to be pytest-style
-rw-r--r-- | test/test_filepost.py | 90 |
1 files changed, 41 insertions, 49 deletions
diff --git a/test/test_filepost.py b/test/test_filepost.py index f744a96e..ddf12093 100644 --- a/test/test_filepost.py +++ b/test/test_filepost.py @@ -1,4 +1,4 @@ -import unittest +import pytest from urllib3.filepost import encode_multipart_formdata, iter_fields from urllib3.fields import RequestField @@ -8,60 +8,55 @@ from urllib3.packages.six import b, u BOUNDARY = '!! test boundary !!' -class TestIterfields(unittest.TestCase): +class TestIterfields(object): def test_dict(self): for fieldname, value in iter_fields(dict(a='b')): - self.assertEqual((fieldname, value), ('a', 'b')) + assert (fieldname, value) == ('a', 'b') - self.assertEqual( - list(sorted(iter_fields(dict(a='b', c='d')))), + assert ( + list(sorted(iter_fields(dict(a='b', c='d')))) == [('a', 'b'), ('c', 'd')]) def test_tuple_list(self): for fieldname, value in iter_fields([('a', 'b')]): - self.assertEqual((fieldname, value), ('a', 'b')) + assert (fieldname, value) == ('a', 'b') - self.assertEqual( - list(iter_fields([('a', 'b'), ('c', 'd')])), + assert ( + list(iter_fields([('a', 'b'), ('c', 'd')])) == [('a', 'b'), ('c', 'd')]) -class TestMultipartEncoding(unittest.TestCase): +class TestMultipartEncoding(object): - def test_input_datastructures(self): - fieldsets = [ - dict(k='v', k2='v2'), - [('k', 'v'), ('k2', 'v2')], - ] + @pytest.mark.parametrize('fields', [ + dict(k='v', k2='v2'), + [('k', 'v'), ('k2', 'v2')], + ]) + def test_input_datastructures(self, fields): + encoded, _ = encode_multipart_formdata(fields, boundary=BOUNDARY) + assert encoded.count(b(BOUNDARY)) == 3 - for fields in fieldsets: - encoded, _ = encode_multipart_formdata(fields, boundary=BOUNDARY) - self.assertEqual(encoded.count(b(BOUNDARY)), 3) - - def test_field_encoding(self): - fieldsets = [ - [('k', 'v'), ('k2', 'v2')], - [('k', b'v'), (u('k2'), b'v2')], - [('k', b'v'), (u('k2'), 'v2')], - ] - - for fields in fieldsets: - encoded, content_type = encode_multipart_formdata(fields, boundary=BOUNDARY) - expected = (b'--' + b(BOUNDARY) + b'\r\n' - b'Content-Disposition: form-data; name="k"\r\n' - b'\r\n' - b'v\r\n' - b'--' + b(BOUNDARY) + b'\r\n' - b'Content-Disposition: form-data; name="k2"\r\n' - b'\r\n' - b'v2\r\n' - b'--' + b(BOUNDARY) + b'--\r\n') + @pytest.mark.parametrize('fields', [ + [('k', 'v'), ('k2', 'v2')], + [('k', b'v'), (u('k2'), b'v2')], + [('k', b'v'), (u('k2'), 'v2')], + ]) + def test_field_encoding(self, fields): + encoded, content_type = encode_multipart_formdata(fields, boundary=BOUNDARY) + expected = (b'--' + b(BOUNDARY) + b'\r\n' + b'Content-Disposition: form-data; name="k"\r\n' + b'\r\n' + b'v\r\n' + b'--' + b(BOUNDARY) + b'\r\n' + b'Content-Disposition: form-data; name="k2"\r\n' + b'\r\n' + b'v2\r\n' + b'--' + b(BOUNDARY) + b'--\r\n') - self.assertEqual(encoded, expected, fields) + assert encoded == expected - self.assertEqual(content_type, - 'multipart/form-data; boundary=' + str(BOUNDARY)) + assert content_type == 'multipart/form-data; boundary=' + str(BOUNDARY) def test_filename(self): fields = [('k', ('somename', b'v'))] @@ -74,10 +69,9 @@ class TestMultipartEncoding(unittest.TestCase): b'v\r\n' b'--' + b(BOUNDARY) + b'--\r\n') - self.assertEqual(encoded, expected) + assert encoded == expected - self.assertEqual(content_type, - 'multipart/form-data; boundary=' + str(BOUNDARY)) + assert content_type == 'multipart/form-data; boundary=' + str(BOUNDARY) def test_textplain(self): fields = [('k', ('somefile.txt', b'v'))] @@ -90,10 +84,9 @@ class TestMultipartEncoding(unittest.TestCase): b'v\r\n' b'--' + b(BOUNDARY) + b'--\r\n') - self.assertEqual(encoded, expected) + assert encoded == expected - self.assertEqual(content_type, - 'multipart/form-data; boundary=' + str(BOUNDARY)) + assert content_type == 'multipart/form-data; boundary=' + str(BOUNDARY) def test_explicit(self): fields = [('k', ('somefile.txt', b'v', 'image/jpeg'))] @@ -106,10 +99,9 @@ class TestMultipartEncoding(unittest.TestCase): b'v\r\n' b'--' + b(BOUNDARY) + b'--\r\n') - self.assertEqual(encoded, expected) + assert encoded == expected - self.assertEqual(content_type, - 'multipart/form-data; boundary=' + str(BOUNDARY)) + assert content_type == 'multipart/form-data; boundary=' + str(BOUNDARY) def test_request_fields(self): fields = [RequestField('k', b'v', @@ -123,4 +115,4 @@ class TestMultipartEncoding(unittest.TestCase): b'v\r\n' b'--' + b(BOUNDARY) + b'--\r\n') - self.assertEqual(encoded, expected) + assert encoded == expected |