summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Burke <tim.burke@gmail.com>2019-09-23 16:21:36 -0700
committerTim Burke <tim@swiftstack.com>2019-09-25 02:47:39 +0000
commit50255de0e3def868e958bfdf4aea9f4cc606e744 (patch)
tree35af3f1792d07412437e0d2a313f1971d6470924
parent6271d88f9ed5e98f989a6739a75b268537fe0521 (diff)
downloadswift-50255de0e3def868e958bfdf4aea9f4cc606e744.tar.gz
func tests: Add more UTF8 tests for versioning
Change-Id: I7ac111bd8b57bd21c37f4c567a20e2c12957b2ff
-rw-r--r--test/functional/test_versioned_writes.py25
1 files changed, 23 insertions, 2 deletions
diff --git a/test/functional/test_versioned_writes.py b/test/functional/test_versioned_writes.py
index 19cca516d..d103a8ca4 100644
--- a/test/functional/test_versioned_writes.py
+++ b/test/functional/test_versioned_writes.py
@@ -915,10 +915,11 @@ class TestObjectVersioningHistoryMode(TestObjectVersioning):
expected = [b'old content', b'112233', b'new content', b'']
+ name_len = len(obj_name if six.PY2 else obj_name.encode('utf8'))
bodies = [
self.env.versions_container.file(f).read()
for f in self.env.versions_container.files(parms={
- 'prefix': '%03x%s/' % (len(obj_name), obj_name)})]
+ 'prefix': '%03x%s/' % (name_len, obj_name)})]
self.assertEqual(expected, bodies)
def test_versioning_check_acl(self):
@@ -962,6 +963,11 @@ class TestObjectVersioningHistoryMode(TestObjectVersioning):
self.assertEqual(4, self.env.versions_container.info()['object_count'])
+class TestObjectVersioningHistoryModeUTF8(
+ Base2, TestObjectVersioningHistoryMode):
+ pass
+
+
class TestSloWithVersioning(unittest2.TestCase):
def setUp(self):
@@ -1026,10 +1032,16 @@ class TestSloWithVersioning(unittest2.TestCase):
self.fail("GET with multipart-manifest=get got invalid json")
self.assertEqual(1, len(manifest))
- key_map = {'etag': 'hash', 'size_bytes': 'bytes', 'path': 'name'}
+ key_map = {'etag': 'hash', 'size_bytes': 'bytes'}
for k_client, k_slo in key_map.items():
self.assertEqual(self.seg_info[seg_name][k_client],
manifest[0][k_slo])
+ if six.PY2:
+ self.assertEqual(self.seg_info[seg_name]['path'].decode('utf8'),
+ manifest[0]['name'])
+ else:
+ self.assertEqual(self.seg_info[seg_name]['path'],
+ manifest[0]['name'])
def _assert_is_object(self, file_item, seg_data):
file_contents = file_item.read()
@@ -1110,6 +1122,10 @@ class TestSloWithVersioning(unittest2.TestCase):
self.assertEqual(primary_file_size, org_size)
+class TestSloWithVersioningUTF8(Base2, TestSloWithVersioning):
+ pass
+
+
class TestObjectVersioningChangingMode(Base):
env = TestObjectVersioningHistoryModeEnv
@@ -1192,3 +1208,8 @@ class TestObjectVersioningChangingMode(Base):
# and there's only one version1 is left in versions_container
self.assertEqual(1, versions_container.info()['object_count'])
+
+
+class TestObjectVersioningChangingModeUTF8(
+ Base2, TestObjectVersioningChangingMode):
+ pass