From bcb88108868a40cc700f590ec470c0a9f4ca9b21 Mon Sep 17 00:00:00 2001 From: Clay Gerrard Date: Tue, 12 Dec 2023 13:14:40 -0600 Subject: [PATCH] tests: consolidate Namespace/ShardRange _check_name The Namespace class grew account/container properties to make them easier to use in the proxy and subjected to similar consistency requirements as the ShardRange's properties in the related change. There are no new assertions added in this change, it merely consolidates the py2/py3 validating helper which was duplicated between the Namespace and ShardRange TestCases. Related-Change-Id: Iebb09d6eff2165c25f80abca360210242cf3e6b7 Change-Id: Ide7f1dd3d9c664fb57c47dcd50edb44ae90ff5f9 --- test/unit/common/test_utils.py | 44 ++++++++++++++-------------------- 1 file changed, 18 insertions(+), 26 deletions(-) diff --git a/test/unit/common/test_utils.py b/test/unit/common/test_utils.py index 219ca6c69b..2d1c7c0b49 100644 --- a/test/unit/common/test_utils.py +++ b/test/unit/common/test_utils.py @@ -7428,7 +7428,23 @@ class TestShardName(unittest.TestCase): utils.ShardName.create('a', 'root', None, '1235678', 'bad') -class TestNamespace(unittest.TestCase): +class BaseNamespaceShardRange(object): + + def _check_name_account_container(self, nsr, exp_name): + # check that the name, account, container properties are consistent + exp_account, exp_container = exp_name.split('/') + if six.PY2: + self.assertEqual(exp_name.encode('utf8'), nsr.name) + self.assertEqual(exp_account.encode('utf8'), nsr.account) + self.assertEqual(exp_container.encode('utf8'), nsr.container) + else: + self.assertEqual(exp_name, nsr.name) + self.assertEqual(exp_account, nsr.account) + self.assertEqual(exp_container, nsr.container) + + +class TestNamespace(unittest.TestCase, BaseNamespaceShardRange): + def test_lower_setter(self): ns = utils.Namespace('a/c', 'b', '') # sanity checks @@ -7560,18 +7576,6 @@ class TestNamespace(unittest.TestCase): self.assertEqual(exp_upper, ns.upper_str) self.assertEqual(exp_upper + '\x00', ns.end_marker) - def _check_name_account_container(self, ns, exp_name): - # check that the name, account, container properties are consistent - exp_account, exp_container = exp_name.split('/') - if six.PY2: - self.assertEqual(exp_name.encode('utf8'), ns.name) - self.assertEqual(exp_account.encode('utf8'), ns.account) - self.assertEqual(exp_container.encode('utf8'), ns.container) - else: - self.assertEqual(exp_name, ns.name) - self.assertEqual(exp_account, ns.account) - self.assertEqual(exp_container, ns.container) - def test_name(self): # constructor path = 'a/c' @@ -7942,7 +7946,7 @@ class TestNamespaceBoundList(unittest.TestCase): self.assertEqual(namespace_list.bounds, self.lowerbounds) -class TestShardRange(unittest.TestCase): +class TestShardRange(unittest.TestCase, BaseNamespaceShardRange): def setUp(self): self.ts_iter = make_timestamp_iter() @@ -8181,18 +8185,6 @@ class TestShardRange(unittest.TestCase): self._check_to_from_dict('l', 'u') self._check_to_from_dict('', '') - def _check_name_account_container(self, sr, exp_name): - # check that the name, account, container properties are consistent - exp_account, exp_container = exp_name.split('/') - if six.PY2: - self.assertEqual(exp_name.encode('utf8'), sr.name) - self.assertEqual(exp_account.encode('utf8'), sr.account) - self.assertEqual(exp_container.encode('utf8'), sr.container) - else: - self.assertEqual(exp_name, sr.name) - self.assertEqual(exp_account, sr.account) - self.assertEqual(exp_container, sr.container) - def test_name(self): # constructor path = 'a/c'