Merge "Drop redundant assertion method overrides"

This commit is contained in:
Zuul
2026-02-05 10:16:49 +00:00
committed by Gerrit Code Review
12 changed files with 28 additions and 99 deletions

View File

@@ -24,19 +24,6 @@ from testtools import matchers
from taskflow import exceptions
from taskflow.tests import fixtures as taskflow_fixtures
from taskflow.tests import utils
from taskflow.utils import misc
class GreaterThanEqual:
"""Matches if the item is geq than the matchers reference object."""
def __init__(self, source):
self.source = source
def match(self, other):
if other >= self.source:
return None
return matchers.Mismatch(f"{other} was not >= {self.source}")
class FailureRegexpMatcher:
@@ -60,32 +47,6 @@ class FailureRegexpMatcher:
(failure, self.exc_class))
class ItemsEqual:
"""Matches the items in two sequences.
This matcher will validate that the provided sequence has the same elements
as a reference sequence, regardless of the order.
"""
def __init__(self, seq):
self._seq = seq
self._list = list(seq)
def match(self, other):
other_list = list(other)
extra = misc.sequence_minus(other_list, self._list)
missing = misc.sequence_minus(self._list, other_list)
if extra or missing:
msg = ("Sequences %s and %s do not have same items."
% (self._seq, other))
if missing:
msg += " Extra items in first sequence: %s." % missing
if extra:
msg += " Extra items in second sequence: %s." % extra
return matchers.Mismatch(msg)
return None
class TestCase(base.BaseTestCase):
"""Test case base class for all taskflow unit tests."""
@@ -97,22 +58,6 @@ class TestCase(base.BaseTestCase):
t_dir = self.useFixture(fixtures.TempDir())
return t_dir.path
def assertDictEqual(self, expected, check):
self.assertIsInstance(expected, dict,
'First argument is not a dictionary')
self.assertIsInstance(check, dict,
'Second argument is not a dictionary')
# Testtools seems to want equals objects instead of just keys?
compare_dict = {}
for k in list(expected.keys()):
if not isinstance(expected[k], matchers.Equals):
compare_dict[k] = matchers.Equals(expected[k])
else:
compare_dict[k] = expected[k]
self.assertThat(matchee=check,
matcher=matchers.MatchesDict(compare_dict))
def assertRaisesAttrAccess(self, exc_class, obj, attr_name):
def access_func():
@@ -120,18 +65,6 @@ class TestCase(base.BaseTestCase):
self.assertRaises(exc_class, access_func)
def assertGreater(self, first, second):
matcher = matchers.GreaterThan(first)
self.assertThat(second, matcher)
def assertGreaterEqual(self, first, second):
matcher = GreaterThanEqual(first)
self.assertThat(second, matcher)
def assertRegexpMatches(self, text, pattern):
matcher = matchers.MatchesRegex(pattern)
self.assertThat(text, matcher)
def assertIsSuperAndSubsequence(self, super_seq, sub_seq, msg=None):
super_seq = list(super_seq)
sub_seq = list(sub_seq)
@@ -158,10 +91,6 @@ class TestCase(base.BaseTestCase):
except exceptions.WrappedFailure as e:
self.assertThat(e, FailureRegexpMatcher(exc_class, pattern))
def assertCountEqual(self, seq1, seq2, msg=None):
matcher = ItemsEqual(seq1)
self.assertThat(seq2, matcher)
class MockTestCase(TestCase):

View File

@@ -242,7 +242,7 @@ class MixedPatternScopingTest(test.TestCase):
if n.startswith('subroot.'):
first_subroot = i
break
self.assertGreater(first_subroot, first_root)
self.assertGreater(first_root, first_subroot)
self.assertEqual(['root.2', 'root.1'], scope[0][-2:])
def test_shadow_graph(self):

View File

@@ -250,7 +250,7 @@ class ZakeJobboardTest(test.TestCase, ZookeeperBoardTestMixin):
self.assertEqual(1, len(paths))
path_key = list(paths.keys())[0]
self.assertTrue(len(paths[path_key]['data']) > 0)
self.assertDictEqual({
self.assertEqual({
'uuid': posted_job.uuid,
'name': posted_job.name,
'book': {
@@ -278,7 +278,7 @@ class ZakeJobboardTest(test.TestCase, ZookeeperBoardTestMixin):
conductor_data = (
self.client.storage.paths[conductor_entity_path]['data'])
self.assertTrue(len(conductor_data) > 0)
self.assertDictEqual({
self.assertEqual({
'name': conductor_name,
'kind': 'conductor',
'metadata': {},

View File

@@ -238,7 +238,7 @@ class GraphFlowTest(test.TestCase):
f = gf.Flow('test').add(task1, task2, f1)
for (n, data) in f.iter_nodes():
self.assertIn(n, tasks)
self.assertDictEqual({}, data)
self.assertEqual({}, data)
def test_iter_links(self):
task1 = _task('task1')
@@ -251,7 +251,7 @@ class GraphFlowTest(test.TestCase):
for (u, v, data) in f.iter_links():
self.assertIn(u, tasks)
self.assertIn(v, tasks)
self.assertDictEqual({}, data)
self.assertEqual({}, data)
class TargetedGraphFlowTest(test.TestCase):

View File

@@ -129,7 +129,7 @@ class LinearFlowTest(test.TestCase):
tasks = {task1, task2, task3}
for (node, data) in f.iter_nodes():
self.assertIn(node, tasks)
self.assertDictEqual({}, data)
self.assertEqual({}, data)
def test_iter_links(self):
task1 = _task(name='task1')
@@ -140,4 +140,4 @@ class LinearFlowTest(test.TestCase):
for (u, v, data) in f.iter_links():
self.assertIn(u, tasks)
self.assertIn(v, tasks)
self.assertDictEqual({'invariant': True}, data)
self.assertEqual({'invariant': True}, data)

View File

@@ -125,7 +125,7 @@ class UnorderedFlowTest(test.TestCase):
f.add(task2, task1)
for (node, data) in f.iter_nodes():
self.assertIn(node, tasks)
self.assertDictEqual({}, data)
self.assertEqual({}, data)
def test_iter_links(self):
task1 = _task(name='task1', provides=['a', 'b'])

View File

@@ -37,7 +37,7 @@ class TestExceptions(test.TestCase):
except Exception as e:
capture = e
self.assertIsNotNone(capture)
self.assertGreater(0, len(capture.pformat()))
self.assertGreater(len(capture.pformat()), 0)
def test_raise_with(self):
capture = None

View File

@@ -89,4 +89,4 @@ class FunctorTaskTest(test.TestCase):
'product': 6
})
self.assertDictEqual(expected, result)
self.assertEqual(expected, result)

View File

@@ -177,7 +177,7 @@ class TestClaimListener(test.TestCase, EngineMakerMixin):
self.assertNotEqual(-1, destroyed_at)
after_states = ran_states[destroyed_at:]
self.assertGreater(0, len(after_states))
self.assertGreater(len(after_states), 0)
def test_claim_lost_new_owner(self):
job = self._post_claim_job('test')
@@ -224,7 +224,7 @@ class TestDurationListener(test.TestCase, EngineMakerMixin):
self.assertIsNotNone(td)
self.assertIsNotNone(td.meta)
self.assertIn('duration', td.meta)
self.assertGreaterEqual(0.1, td.meta['duration'])
self.assertGreaterEqual(td.meta['duration'], 0.1)
def test_flow_duration(self):
with contextlib.closing(impl_memory.MemoryBackend()) as be:
@@ -237,7 +237,7 @@ class TestDurationListener(test.TestCase, EngineMakerMixin):
self.assertIsNotNone(fd)
self.assertIsNotNone(fd.meta)
self.assertIn('duration', fd.meta)
self.assertGreaterEqual(0.1, fd.meta['duration'])
self.assertGreaterEqual(fd.meta['duration'], 0.1)
@mock.patch.object(timing.LOG, 'warning')
def test_record_ending_exception(self, mocked_warning):
@@ -271,12 +271,12 @@ class TestEventTimeListener(test.TestCase, EngineMakerMixin):
self.assertIn(running_field, td.meta)
self.assertIn(success_field, td.meta)
td_duration = td.meta[success_field] - td.meta[running_field]
self.assertGreaterEqual(0.1, td_duration)
self.assertGreaterEqual(td_duration, 0.1)
fd_meta = engine.storage._flowdetail.meta
self.assertIn(running_field, fd_meta)
self.assertIn(success_field, fd_meta)
fd_duration = fd_meta[success_field] - fd_meta[running_field]
self.assertGreaterEqual(0.1, fd_duration)
self.assertGreaterEqual(fd_duration, 0.1)
class TestCapturingListeners(test.TestCase, EngineMakerMixin):
@@ -312,7 +312,7 @@ class TestLoggingListeners(test.TestCase, EngineMakerMixin):
log, handler = self._make_logger()
with logging_listeners.LoggingListener(e, log=log):
e.run()
self.assertGreater(0, handler.counts[logging.DEBUG])
self.assertGreater(handler.counts[logging.DEBUG], 0)
for levelno in _LOG_LEVELS - {logging.DEBUG}:
self.assertEqual(0, handler.counts[levelno])
self.assertEqual([], handler.exc_infos)
@@ -326,7 +326,7 @@ class TestLoggingListeners(test.TestCase, EngineMakerMixin):
e, log=log, level=logging.INFO)
with listener:
e.run()
self.assertGreater(0, handler.counts[logging.INFO])
self.assertGreater(handler.counts[logging.INFO], 0)
for levelno in _LOG_LEVELS - {logging.INFO}:
self.assertEqual(0, handler.counts[levelno])
self.assertEqual([], handler.exc_infos)
@@ -338,7 +338,7 @@ class TestLoggingListeners(test.TestCase, EngineMakerMixin):
log, handler = self._make_logger()
with logging_listeners.LoggingListener(e, log=log):
self.assertRaises(RuntimeError, e.run)
self.assertGreater(0, handler.counts[logging.DEBUG])
self.assertGreater(handler.counts[logging.DEBUG], 0)
for levelno in _LOG_LEVELS - {logging.DEBUG}:
self.assertEqual(0, handler.counts[levelno])
self.assertEqual(1, len(handler.exc_infos))
@@ -350,7 +350,7 @@ class TestLoggingListeners(test.TestCase, EngineMakerMixin):
log, handler = self._make_logger()
with logging_listeners.DynamicLoggingListener(e, log=log):
e.run()
self.assertGreater(0, handler.counts[logging.DEBUG])
self.assertGreater(handler.counts[logging.DEBUG], 0)
for levelno in _LOG_LEVELS - {logging.DEBUG}:
self.assertEqual(0, handler.counts[levelno])
self.assertEqual([], handler.exc_infos)
@@ -362,8 +362,8 @@ class TestLoggingListeners(test.TestCase, EngineMakerMixin):
log, handler = self._make_logger()
with logging_listeners.DynamicLoggingListener(e, log=log):
self.assertRaises(RuntimeError, e.run)
self.assertGreater(0, handler.counts[logging.WARNING])
self.assertGreater(0, handler.counts[logging.DEBUG])
self.assertGreater(handler.counts[logging.WARNING], 0)
self.assertGreater(handler.counts[logging.DEBUG], 0)
self.assertEqual(1, len(handler.exc_infos))
for levelno in _LOG_LEVELS - {logging.DEBUG, logging.WARNING}:
self.assertEqual(0, handler.counts[levelno])
@@ -377,8 +377,8 @@ class TestLoggingListeners(test.TestCase, EngineMakerMixin):
e, log=log, failure_level=logging.ERROR)
with listener:
self.assertRaises(RuntimeError, e.run)
self.assertGreater(0, handler.counts[logging.ERROR])
self.assertGreater(0, handler.counts[logging.DEBUG])
self.assertGreater(handler.counts[logging.ERROR], 0)
self.assertGreater(handler.counts[logging.DEBUG], 0)
self.assertEqual(1, len(handler.exc_infos))
for levelno in _LOG_LEVELS - {logging.DEBUG, logging.ERROR}:
self.assertEqual(0, handler.counts[levelno])

View File

@@ -55,7 +55,7 @@ class MapFunctorTaskTest(test.TestCase):
provides=provides))
result = engines.run(flow, store=self.flow_store)
self.assertDictEqual(expected, result)
self.assertEqual(expected, result)
def test_square_array(self):
expected = self.flow_store.copy()
@@ -75,4 +75,4 @@ class MapFunctorTaskTest(test.TestCase):
provides=provides))
result = engines.run(flow, store=self.flow_store)
self.assertDictEqual(expected, result)
self.assertEqual(expected, result)

View File

@@ -51,7 +51,7 @@ class ReduceFunctorTaskTest(test.TestCase):
provides=provides))
result = engines.run(flow, store=self.flow_store)
self.assertDictEqual(expected, result)
self.assertEqual(expected, result)
def test_multiply_array(self):
expected = self.flow_store.copy()
@@ -67,4 +67,4 @@ class ReduceFunctorTaskTest(test.TestCase):
provides=provides))
result = engines.run(flow, store=self.flow_store)
self.assertDictEqual(expected, result)
self.assertEqual(expected, result)

View File

@@ -69,7 +69,7 @@ class TestWorker(test.MockTestCase):
w.run(banner_writer=buf.write)
w.wait()
w.stop()
self.assertGreater(0, len(buf.getvalue()))
self.assertGreater(len(buf.getvalue()), 0)
def test_creation_with_custom_threads_count(self):
self.worker(threads_count=10)