summaryrefslogtreecommitdiff
path: root/tests/unit/test_swiftclient.py
diff options
context:
space:
mode:
authorDaniel Wakefield <daniel.wakefield@hp.com>2014-11-06 14:10:13 +0000
committerDaniel Wakefield <daniel.wakefield@hp.com>2014-11-13 11:25:45 +0000
commit0f2b0dc300be50c69bb0227ec736a535710ead01 (patch)
treee722bb0704e2f9cc1e958d8e5cd383ed60d7c6a9 /tests/unit/test_swiftclient.py
parent202bbab2d06b9ef751fba306effd09f3bae8f383 (diff)
downloadpython-swiftclient-0f2b0dc300be50c69bb0227ec736a535710ead01.tar.gz
Add unit tests for _encode_meta_headers
Also move it to a module level function. Change-Id: I2da64876815619a6db7ff208061df2191767806c
Diffstat (limited to 'tests/unit/test_swiftclient.py')
-rw-r--r--tests/unit/test_swiftclient.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/unit/test_swiftclient.py b/tests/unit/test_swiftclient.py
index e366f7d..796f93c 100644
--- a/tests/unit/test_swiftclient.py
+++ b/tests/unit/test_swiftclient.py
@@ -34,6 +34,7 @@ from .utils import MockHttpTest, fake_get_auth_keystone
from swiftclient import client as c
import swiftclient.utils
+import swiftclient
class TestClientException(testtools.TestCase):
@@ -160,6 +161,25 @@ class TestHttpHelpers(MockHttpTest):
url = 'ftp://www.test.com'
self.assertRaises(c.ClientException, c.http_connection, url)
+ def test_encode_meta_headers(self):
+ headers = {'abc': '123',
+ u'x-container-meta-\u0394': '123',
+ u'x-account-meta-\u0394': '123',
+ u'x-object-meta-\u0394': '123'}
+
+ encoded_str_type = type(''.encode())
+ r = swiftclient.encode_meta_headers(headers)
+
+ self.assertEqual(len(headers), len(r))
+ # ensure non meta headers are not encoded
+ self.assertTrue('abc' in r)
+ self.assertTrue(isinstance(r['abc'], encoded_str_type))
+ del r['abc']
+
+ for k, v in r.items():
+ self.assertTrue(isinstance(k, encoded_str_type))
+ self.assertTrue(isinstance(v, encoded_str_type))
+
def test_set_user_agent_default(self):
_junk, conn = c.http_connection('http://www.example.com')
req_headers = {}