Tests written for _encode_files new capability.

Work on issue #179
This commit is contained in:
Ian Cordasco
2012-07-31 21:50:44 -04:00
parent 42ddc4c9e8
commit 2b33bc289f
+38 -5
View File
@@ -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()