summaryrefslogtreecommitdiff
path: root/tests/unit/test_utils.py
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-07-18 03:22:41 +0000
committerGerrit Code Review <review@openstack.org>2014-07-18 03:22:41 +0000
commit4cc2201e21a68c61adc3ce572b979553b786fc0f (patch)
tree02eb9c8fd0c7987e6375a8fc72575be830bf6c67 /tests/unit/test_utils.py
parentd5a45fcd2d92c1328d35c54e09712c1152f1af19 (diff)
parentdef0e0a6435deee5c55b7859e1b132590ea0860c (diff)
downloadpython-swiftclient-4cc2201e21a68c61adc3ce572b979553b786fc0f.tar.gz
Merge "Adding Swift Temporary URL support"
Diffstat (limited to 'tests/unit/test_utils.py')
-rw-r--r--tests/unit/test_utils.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/unit/test_utils.py b/tests/unit/test_utils.py
index d9d74c5..f072aed 100644
--- a/tests/unit/test_utils.py
+++ b/tests/unit/test_utils.py
@@ -15,6 +15,7 @@
import testtools
+import mock
import six
import tempfile
@@ -122,6 +123,44 @@ class TestPrtBytes(testtools.TestCase):
self.assertEqual('1024Y', u.prt_bytes(bytes_, True).lstrip())
+class TestTempURL(testtools.TestCase):
+
+ def setUp(self):
+ super(TestTempURL, self).setUp()
+ self.url = '/v1/AUTH_account/c/o'
+ self.seconds = 3600
+ self.key = 'correcthorsebatterystaple'
+ self.method = 'GET'
+
+ @mock.patch('hmac.HMAC.hexdigest')
+ @mock.patch('time.time')
+ def test_generate_temp_url(self, time_mock, hmac_mock):
+ time_mock.return_value = 1400000000
+ hmac_mock.return_value = 'temp_url_signature'
+ expected_url = (
+ '/v1/AUTH_account/c/o?'
+ 'temp_url_sig=temp_url_signature&'
+ 'temp_url_expires=1400003600')
+ url = u.generate_temp_url(self.url, self.seconds, self.key,
+ self.method)
+ self.assertEqual(url, expected_url)
+
+ def test_generate_temp_url_bad_seconds(self):
+ self.assertRaises(TypeError,
+ u.generate_temp_url,
+ self.url,
+ 'not_an_int',
+ self.key,
+ self.method)
+
+ self.assertRaises(ValueError,
+ u.generate_temp_url,
+ self.url,
+ -1,
+ self.key,
+ self.method)
+
+
class TestLengthWrapper(testtools.TestCase):
def test_stringio(self):