From 2b33bc289f78adde0df16589122d8cdc8eb09567 Mon Sep 17 00:00:00 2001 From: Ian Cordasco Date: Tue, 31 Jul 2012 21:50:44 -0400 Subject: [PATCH] Tests written for _encode_files new capability. Work on issue #179 --- tests/test_requests.py | 43 ++++++++++++++++++++++++++++++++++++++----- 1 file changed, 38 insertions(+), 5 deletions(-) diff --git a/tests/test_requests.py b/tests/test_requests.py index 60a8407..11d58e7 100755 --- a/tests/test_requests.py +++ b/tests/test_requests.py @@ -309,11 +309,13 @@ class RequestsTestSuite(TestSetup, TestBaseMixin, unittest.TestCase): with open(__file__) as f: post2 = post(url, files={'some': f}) + post3 = post(url, files=[('some', f)]) self.assertEqual(post2.status_code, 200) - - post3 = post(url, data='[{"some": "json"}]') self.assertEqual(post3.status_code, 200) + post4 = post(url, data='[{"some": "json"}]') + self.assertEqual(post4.status_code, 200) + def test_POSTBIN_GET_POST_FILES_WITH_PARAMS(self): for service in SERVICES: @@ -323,8 +325,13 @@ class RequestsTestSuite(TestSetup, TestBaseMixin, unittest.TestCase): post1 = post(url, files={'some': f}, data={'some': 'data'}) + post2 = post(url, data={'some': 'data'}, files=[('some', f)]) + post3 = post(url, data=[('some', 'data')], + files=[('some', f)]) self.assertEqual(post1.status_code, 200) + self.assertEqual(post2.status_code, 200) + self.assertEqual(post3.status_code, 200) def test_POSTBIN_GET_POST_FILES_WITH_HEADERS(self): @@ -349,10 +356,12 @@ class RequestsTestSuite(TestSetup, TestBaseMixin, unittest.TestCase): post1 = post(url, files={'fname.txt': 'fdata'}) self.assertEqual(post1.status_code, 200) - post2 = post(url, files={'fname.txt': 'fdata', 'fname2.txt':'more fdata'}) + post2 = post(url, files={'fname.txt': 'fdata', + 'fname2.txt': 'more fdata'}) self.assertEqual(post2.status_code, 200) - post3 = post(url, files={'fname.txt': 'fdata', 'fname2.txt':open(__file__,'rb')}) + post3 = post(url, files={'fname.txt': 'fdata', + 'fname2.txt': open(__file__, 'rb')}) self.assertEqual(post3.status_code, 200) post4 = post(url, files={'fname.txt': 'fdata'}) @@ -374,9 +383,29 @@ class RequestsTestSuite(TestSetup, TestBaseMixin, unittest.TestCase): post7 = post(url, files={'fname.txt': 'fdata to verify'}) rbody = json.loads(post7.text) self.assertTrue(rbody.get('files', None)) - self.assertTrue(rbody['files'].get('fname.txt'), None) + self.assertTrue(rbody['files'].get('fname.txt', None)) self.assertEqual(rbody['files']['fname.txt'], 'fdata to verify') + post8 = post(url, files=[('fname.txt', 'fdata')]) + self.assertEqual(post8.status_code, 200) + resp_body = post8.json + self.assertTrue(resp_body.get('files', None)) + self.assertTrue(resp_body['files'].get('fname.txt', None)) + self.assertEqual(resp_body['files']['fname.txt'], 'fdata') + + post9 = post(url, files=[('fname.txt', fdata)]) + self.assertEqual(post9.status_code, 200) + + post10 = post(url, files=[('file', + ('file.txt', 'more file data'))]) + self.assertEqual(post10.status_code, 200) + + post11 = post(url, files=[('fname.txt', 'fdata'), + ('fname2.txt', 'more fdata')]) + post12 = post(url, files=[('fname.txt', 'fdata'), + ('fname2.txt', open(__file__, 'rb'))]) + self.assertEqual(post11.status_code, 200) + self.assertEqual(post12.status_code, 200) def test_nonzero_evaluation(self): @@ -972,6 +1001,10 @@ class RequestsTestSuite(TestSetup, TestBaseMixin, unittest.TestCase): t = json.loads(r.text) self.assertEqual(t.get('form'), {'field': 'a, b'}) self.assertEqual(t.get('files'), files) + r = post(httpbin('post'), data=data, files=files.items()) + t = r.json + self.assertEqual(t.get('form'), {'field': 'a, b'}) + self.assertEqual(t.get('files'), files) if __name__ == '__main__': unittest.main() -- 2.7.4