diff options
Diffstat (limited to 'test/functionalnosetests/test_container.py')
-rwxr-xr-x | test/functionalnosetests/test_container.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/test/functionalnosetests/test_container.py b/test/functionalnosetests/test_container.py index 75269c3..af78a7a 100755 --- a/test/functionalnosetests/test_container.py +++ b/test/functionalnosetests/test_container.py @@ -114,6 +114,48 @@ class TestContainer(unittest.TestCase): self.assertEquals(resp.getheader('x-container-meta-one'), '1') self.assertEquals(resp.getheader('x-container-meta-two'), '2') + def test_unicode_metadata(self): + if skip: + raise SkipTest + + def post(url, token, parsed, conn, name, value): + conn.request('POST', parsed.path + '/' + self.name, '', + {'X-Auth-Token': token, name: value}) + return check_response(conn) + + def head(url, token, parsed, conn): + conn.request('HEAD', parsed.path + '/' + self.name, '', + {'X-Auth-Token': token}) + return check_response(conn) + + uni_key = u'X-Container-Meta-uni\u0E12' + uni_value = u'uni\u0E12' + if (web_front_end == 'integral'): + resp = retry(post, uni_key, '1') + 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')), '1') + resp = retry(post, 'X-Container-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-Container-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_PUT_metadata(self): if skip: raise SkipTest |