summaryrefslogtreecommitdiff
path: root/tests/unit/test_swiftclient.py
diff options
context:
space:
mode:
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 = {}