Merge "[Optimise] Refactor ExtraSpecsOpsTestCase with ddt."

This commit is contained in:
Jenkins 2017-03-14 14:19:57 +00:00 committed by Gerrit Code Review
commit a9bb08653a

View File

@ -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': '<in> 11', 'matches': True},
{'value': '12311321', 'req': '<in> 12311321', 'matches': True},
{'value': '12311321', 'req':
'<in> 12311321 <in>', 'matches': True},
{'value': '12310321', 'req': '<in> 11', 'matches': False},
{'value': '12310321', 'req': '<in> 11 <in>', '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': '<is> True', 'matches': True},
{'value': False, 'req': '<is> False', 'matches': True},
{'value': False, 'req': '<is> Nonsense', 'matches': True},
{'value': True, 'req': '<is> False', 'matches': False},
{'value': False, 'req': '<is> 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': '<or> 11 <or> 12', 'matches': True},
{'value': '12', 'req': '<or> 11 <or> 12 <or>', 'matches': True},
{'value': '13', 'req': '<or> 11 <or> 12', 'matches': False},
{'value': '13', 'req': '<or> 11 <or> 12 <or>', '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='<in> 11',
matches=True)
def test_extra_specs_matches_with_op_in2(self):
self._do_extra_specs_ops_test(
value='12311321',
req='<in> 12311321',
matches=True)
def test_extra_specs_matches_with_op_in3(self):
self._do_extra_specs_ops_test(
value='12311321',
req='<in> 12311321 <in>',
matches=True)
def test_extra_specs_fails_with_op_in(self):
self._do_extra_specs_ops_test(
value='12310321',
req='<in> 11',
matches=False)
def test_extra_specs_fails_with_op_in2(self):
self._do_extra_specs_ops_test(
value='12310321',
req='<in> 11 <in>',
matches=False)
def test_extra_specs_matches_with_op_is(self):
self._do_extra_specs_ops_test(
value=True,
req='<is> True',
matches=True)
def test_extra_specs_matches_with_op_is2(self):
self._do_extra_specs_ops_test(
value=False,
req='<is> False',
matches=True)
def test_extra_specs_matches_with_op_is3(self):
self._do_extra_specs_ops_test(
value=False,
req='<is> Nonsense',
matches=True)
def test_extra_specs_fails_with_op_is(self):
self._do_extra_specs_ops_test(
value=True,
req='<is> False',
matches=False)
def test_extra_specs_fails_with_op_is2(self):
self._do_extra_specs_ops_test(
value=False,
req='<is> True',
matches=False)
def test_extra_specs_matches_with_op_or(self):
self._do_extra_specs_ops_test(
value='12',
req='<or> 11 <or> 12',
matches=True)
def test_extra_specs_matches_with_op_or2(self):
self._do_extra_specs_ops_test(
value='12',
req='<or> 11 <or> 12 <or>',
matches=True)
def test_extra_specs_fails_with_op_or(self):
self._do_extra_specs_ops_test(
value='13',
req='<or> 11 <or> 12',
matches=False)
def test_extra_specs_fails_with_op_or2(self):
self._do_extra_specs_ops_test(
value='13',
req='<or> 11 <or> 12 <or>',
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