summaryrefslogtreecommitdiffstats
path: root/test/functionalnosetests/test_account.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/functionalnosetests/test_account.py')
-rwxr-xr-xtest/functionalnosetests/test_account.py42
1 files changed, 41 insertions, 1 deletions
diff --git a/test/functionalnosetests/test_account.py b/test/functionalnosetests/test_account.py
index 16e3dea..d28ff2f 100755
--- a/test/functionalnosetests/test_account.py
+++ b/test/functionalnosetests/test_account.py
@@ -37,7 +37,7 @@ from nose import SkipTest
from swift.common.constraints import MAX_META_COUNT, MAX_META_NAME_LENGTH, \
MAX_META_OVERALL_SIZE, MAX_META_VALUE_LENGTH
-from swift_testing import check_response, retry, skip
+from swift_testing import check_response, retry, skip, web_front_end
class TestAccount(unittest.TestCase):
@@ -78,6 +78,46 @@ class TestAccount(unittest.TestCase):
self.assert_(resp.status in (200, 204), resp.status)
self.assertEquals(resp.getheader('x-account-meta-test'), 'Value')
+ def test_unicode_metadata(self):
+ if skip:
+ raise SkipTest
+
+ def post(url, token, parsed, conn, name, value):
+ conn.request('POST', parsed.path, '',
+ {'X-Auth-Token': token, name: value})
+ return check_response(conn)
+
+ def head(url, token, parsed, conn):
+ conn.request('HEAD', parsed.path, '', {'X-Auth-Token': token})
+ return check_response(conn)
+ uni_key = u'X-Account-Meta-uni\u0E12'
+ uni_value = u'uni\u0E12'
+ if (web_front_end == 'integral'):
+ resp = retry(post, uni_key, '1')
+ resp.read()
+ self.assertTrue(resp.status in (201, 204))
+ resp = retry(head)
+ resp.read()
+ self.assert_(resp.status in (200, 204), resp.status)
+ self.assertEquals(resp.getheader(uni_key.encode('utf-8')), '1')
+ resp = retry(post, 'X-Account-Meta-uni', uni_value)
+ resp.read()
+ self.assertEquals(resp.status, 204)
+ resp = retry(head)
+ resp.read()
+ self.assert_(resp.status in (200, 204), resp.status)
+ self.assertEquals(resp.getheader('X-Account-Meta-uni'),
+ uni_value.encode('utf-8'))
+ if (web_front_end == 'integral'):
+ resp = retry(post, uni_key, uni_value)
+ resp.read()
+ self.assertEquals(resp.status, 204)
+ resp = retry(head)
+ resp.read()
+ self.assert_(resp.status in (200, 204), resp.status)
+ self.assertEquals(resp.getheader(uni_key.encode('utf-8')),
+ uni_value.encode('utf-8'))
+
def test_multi_metadata(self):
if skip:
raise SkipTest