From 8f949e3f2e35be4b4448766429d2942c16ee80df Mon Sep 17 00:00:00 2001 From: TommyLike Date: Thu, 9 Mar 2017 18:57:01 +0800 Subject: [PATCH] [Optimise] Refactor ExtraSpecsOpsTestCase with ddt. Simplify ExtraSpecsOpsTestCase. Change-Id: I94b498023fe9c732ab1ab01abfdaf986882da94e --- .../tests/unit/scheduler/test_host_filters.py | 281 ++++++------------ 1 file changed, 83 insertions(+), 198 deletions(-) diff --git a/cinder/tests/unit/scheduler/test_host_filters.py b/cinder/tests/unit/scheduler/test_host_filters.py index 45ef503d783..25954fea495 100644 --- a/cinder/tests/unit/scheduler/test_host_filters.py +++ b/cinder/tests/unit/scheduler/test_host_filters.py @@ -1089,232 +1089,117 @@ class TestBogusFilter(object): pass +@ddt.ddt class ExtraSpecsOpsTestCase(test.TestCase): def _do_extra_specs_ops_test(self, value, req, matches): assertion = self.assertTrue if matches else self.assertFalse assertion(extra_specs_ops.match(value, req)) - def test_extra_specs_matches_simple(self): - self._do_extra_specs_ops_test( - value='1', - req='1', - matches=True) - - def test_extra_specs_fails_simple(self): - self._do_extra_specs_ops_test( - value='', - req='1', - matches=False) - - def test_extra_specs_fails_simple2(self): - self._do_extra_specs_ops_test( - value='3', - req='1', - matches=False) - - def test_extra_specs_fails_simple3(self): - self._do_extra_specs_ops_test( - value='222', - req='2', - matches=False) - def test_extra_specs_fails_with_bogus_ops(self): self._do_extra_specs_ops_test( value='4', req='> 2', matches=False) - def test_extra_specs_matches_with_op_eq(self): + @ddt.data({'value': '1', 'req': '1', 'matches': True}, + {'value': '', 'req': '1', 'matches': False}, + {'value': '3', 'req': '1', 'matches': False}, + {'value': '222', 'req': '2', 'matches': False}) + @ddt.unpack + def test_extra_specs_matches_simple(self, value, req, matches): self._do_extra_specs_ops_test( - value='123', - req='= 123', - matches=True) + value=value, + req=req, + matches=matches) - def test_extra_specs_matches_with_op_eq2(self): + @ddt.data({'value': '123', 'req': '= 123', 'matches': True}, + {'value': '124', 'req': '= 123', 'matches': True}, + {'value': '34', 'req': '= 234', 'matches': False}, + {'value': '34', 'req': '=', 'matches': False}) + @ddt.unpack + def test_extra_specs_matches_with_op_eq(self, value, req, matches): self._do_extra_specs_ops_test( - value='124', - req='= 123', - matches=True) + value=value, + req=req, + matches=matches) - def test_extra_specs_fails_with_op_eq(self): + @ddt.data({'value': '2', 'req': '<= 10', 'matches': True}, + {'value': '3', 'req': '<= 2', 'matches': False}, + {'value': '3', 'req': '>= 1', 'matches': True}, + {'value': '2', 'req': '>= 3', 'matches': False}) + @ddt.unpack + def test_extra_specs_matches_with_op_not_eq(self, value, req, matches): self._do_extra_specs_ops_test( - value='34', - req='= 234', - matches=False) + value=value, + req=req, + matches=matches) - def test_extra_specs_fails_with_op_eq3(self): + @ddt.data({'value': '123', 'req': 's== 123', 'matches': True}, + {'value': '1234', 'req': 's== 123', 'matches': False}, + {'value': '1234', 'req': 's!= 123', 'matches': True}, + {'value': '123', 'req': 's!= 123', 'matches': False}) + @ddt.unpack + def test_extra_specs_matches_with_op_seq(self, value, req, matches): self._do_extra_specs_ops_test( - value='34', - req='=', - matches=False) + value=value, + req=req, + matches=matches) - def test_extra_specs_matches_with_op_seq(self): + @ddt.data({'value': '1000', 'req': 's>= 234', 'matches': False}, + {'value': '1234', 'req': 's<= 1000', 'matches': False}, + {'value': '2', 'req': 's< 12', 'matches': False}, + {'value': '12', 'req': 's> 2', 'matches': False}) + @ddt.unpack + def test_extra_specs_fails_with_op_not_seq(self, value, req, matches): self._do_extra_specs_ops_test( - value='123', - req='s== 123', - matches=True) + value=value, + req=req, + matches=matches) - def test_extra_specs_fails_with_op_seq(self): + @ddt.data({'value': '12311321', 'req': ' 11', 'matches': True}, + {'value': '12311321', 'req': ' 12311321', 'matches': True}, + {'value': '12311321', 'req': + ' 12311321 ', 'matches': True}, + {'value': '12310321', 'req': ' 11', 'matches': False}, + {'value': '12310321', 'req': ' 11 ', 'matches': False}) + @ddt.unpack + def test_extra_specs_matches_with_op_in(self, value, req, matches): self._do_extra_specs_ops_test( - value='1234', - req='s== 123', - matches=False) + value=value, + req=req, + matches=matches) - def test_extra_specs_matches_with_op_sneq(self): + @ddt.data({'value': True, 'req': ' True', 'matches': True}, + {'value': False, 'req': ' False', 'matches': True}, + {'value': False, 'req': ' Nonsense', 'matches': True}, + {'value': True, 'req': ' False', 'matches': False}, + {'value': False, 'req': ' True', 'matches': False}) + @ddt.unpack + def test_extra_specs_matches_with_op_is(self, value, req, matches): self._do_extra_specs_ops_test( - value='1234', - req='s!= 123', - matches=True) + value=value, + req=req, + matches=matches) - def test_extra_specs_fails_with_op_sneq(self): + @ddt.data({'value': '12', 'req': ' 11 12', 'matches': True}, + {'value': '12', 'req': ' 11 12 ', 'matches': True}, + {'value': '13', 'req': ' 11 12', 'matches': False}, + {'value': '13', 'req': ' 11 12 ', 'matches': False}) + @ddt.unpack + def test_extra_specs_matches_with_op_or(self, value, req, matches): self._do_extra_specs_ops_test( - value='123', - req='s!= 123', - matches=False) + value=value, + req=req, + matches=matches) - def test_extra_specs_fails_with_op_sge(self): + @ddt.data({'value': None, 'req': None, 'matches': True}, + {'value': 'foo', 'req': None, 'matches': False}) + @ddt.unpack + def test_extra_specs_matches_none_req(self, value, req, matches): self._do_extra_specs_ops_test( - value='1000', - req='s>= 234', - matches=False) - - def test_extra_specs_fails_with_op_sle(self): - self._do_extra_specs_ops_test( - value='1234', - req='s<= 1000', - matches=False) - - def test_extra_specs_fails_with_op_sl(self): - self._do_extra_specs_ops_test( - value='2', - req='s< 12', - matches=False) - - def test_extra_specs_fails_with_op_sg(self): - self._do_extra_specs_ops_test( - value='12', - req='s> 2', - matches=False) - - def test_extra_specs_matches_with_op_in(self): - self._do_extra_specs_ops_test( - value='12311321', - req=' 11', - matches=True) - - def test_extra_specs_matches_with_op_in2(self): - self._do_extra_specs_ops_test( - value='12311321', - req=' 12311321', - matches=True) - - def test_extra_specs_matches_with_op_in3(self): - self._do_extra_specs_ops_test( - value='12311321', - req=' 12311321 ', - matches=True) - - def test_extra_specs_fails_with_op_in(self): - self._do_extra_specs_ops_test( - value='12310321', - req=' 11', - matches=False) - - def test_extra_specs_fails_with_op_in2(self): - self._do_extra_specs_ops_test( - value='12310321', - req=' 11 ', - matches=False) - - def test_extra_specs_matches_with_op_is(self): - self._do_extra_specs_ops_test( - value=True, - req=' True', - matches=True) - - def test_extra_specs_matches_with_op_is2(self): - self._do_extra_specs_ops_test( - value=False, - req=' False', - matches=True) - - def test_extra_specs_matches_with_op_is3(self): - self._do_extra_specs_ops_test( - value=False, - req=' Nonsense', - matches=True) - - def test_extra_specs_fails_with_op_is(self): - self._do_extra_specs_ops_test( - value=True, - req=' False', - matches=False) - - def test_extra_specs_fails_with_op_is2(self): - self._do_extra_specs_ops_test( - value=False, - req=' True', - matches=False) - - def test_extra_specs_matches_with_op_or(self): - self._do_extra_specs_ops_test( - value='12', - req=' 11 12', - matches=True) - - def test_extra_specs_matches_with_op_or2(self): - self._do_extra_specs_ops_test( - value='12', - req=' 11 12 ', - matches=True) - - def test_extra_specs_fails_with_op_or(self): - self._do_extra_specs_ops_test( - value='13', - req=' 11 12', - matches=False) - - def test_extra_specs_fails_with_op_or2(self): - self._do_extra_specs_ops_test( - value='13', - req=' 11 12 ', - matches=False) - - def test_extra_specs_matches_with_op_le(self): - self._do_extra_specs_ops_test( - value='2', - req='<= 10', - matches=True) - - def test_extra_specs_fails_with_op_le(self): - self._do_extra_specs_ops_test( - value='3', - req='<= 2', - matches=False) - - def test_extra_specs_matches_with_op_ge(self): - self._do_extra_specs_ops_test( - value='3', - req='>= 1', - matches=True) - - def test_extra_specs_fails_with_op_ge(self): - self._do_extra_specs_ops_test( - value='2', - req='>= 3', - matches=False) - - def test_extra_specs_fails_none_req(self): - self._do_extra_specs_ops_test( - value='foo', - req=None, - matches=False) - - def test_extra_specs_matches_none_req(self): - self._do_extra_specs_ops_test( - value=None, - req=None, - matches=True) + value=value, + req=req, + matches=matches) @ddt.ddt