summaryrefslogtreecommitdiff
path: root/test.py
diff options
context:
space:
mode:
authorPaul <paultax@gmail.com>2012-07-26 23:00:18 +0800
committerPaul <paultax@gmail.com>2012-07-26 23:00:18 +0800
commit5aef5663c075b56cd25dd781a457f2d7e365df01 (patch)
tree8dee18ed9fc9ed34ba54f243f2a6becc0e7a3836 /test.py
parentf33f8b8084e9cebed95bdaf08ed42a35220a08a0 (diff)
downloadpython-requests-aws-5aef5663c075b56cd25dd781a457f2d7e365df01.tar.gz
Fixed issue #3
Added tests Refactored get_canonical_string so it can be tested
Diffstat (limited to 'test.py')
-rw-r--r--test.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/test.py b/test.py
new file mode 100644
index 0000000..86a84f7
--- /dev/null
+++ b/test.py
@@ -0,0 +1,46 @@
+import unittest
+import os
+import requests
+from awsauth import S3Auth
+
+
+TEST_BUCKET = 'testpolpol'
+ACCESS_KEY = 'ACCESSKEYXXXXXXXXXXXX'
+SECRET_KEY = 'AWSSECRETKEYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
+if 'AWS_ACCESS_KEY' in os.environ:
+ ACCESS_KEY = os.environ['AWS_ACCESS_KEY']
+if 'AWS_SECRET_KEY' in os.environ:
+ SECRET_KEY = os.environ['AWS_SECRET_KEY']
+
+class TestAWS(unittest.TestCase):
+ def setUp(self):
+ self.auth=S3Auth(ACCESS_KEY, SECRET_KEY)
+
+ def test_put_get_delete(self):
+ testdata = 'Sam is sweet'
+ r = requests.put('http://'+ TEST_BUCKET + '.s3.amazonaws.com/myfile.txt', data=testdata, auth=self.auth)
+ self.assertEqual(r.status_code, 200)
+ # Downloading a file
+ r = requests.get('http://'+ TEST_BUCKET + '.s3.amazonaws.com/myfile.txt', auth=self.auth)
+ self.assertEqual(r.status_code, 200)
+ self.assertEqual(r.content, 'Sam is sweet')
+ # Removing a file
+ r = requests.delete('http://'+ TEST_BUCKET + '.s3.amazonaws.com/myfile.txt', auth=self.auth)
+ self.assertEqual(r.status_code, 204)
+
+ def test_put_get_delete_filnamehasplus(self):
+ testdata = 'Sam is sweet'
+ filename = 'my+file.txt'
+ url = 'http://'+ TEST_BUCKET + '.s3.amazonaws.com/%s'%(filename)
+ r = requests.put(url, data=testdata, auth=self.auth)
+ self.assertEqual(r.status_code, 200)
+ # Downloading a file
+ r = requests.get(url, auth=self.auth)
+ self.assertEqual(r.status_code, 200)
+ self.assertEqual(r.content, testdata)
+ # Removing a file
+ r = requests.delete(url, auth=self.auth)
+ self.assertEqual(r.status_code, 204)
+
+if __name__ == '__main__':
+ unittest.main()