def test_save_retry_results(self): s = self._get_storage() s.ensure_atom(test_utils.NoopRetry('my retry')) s.save('my retry', 'a') s.save('my retry', 'b') history = s.get_retry_history('my retry') self.assertEqual(history, [('a', {}), ('b', {})])
def test_save_retry_results(self): s = self._get_storage() s.ensure_atom(test_utils.NoopRetry('my retry')) s.save('my retry', 'a') s.save('my retry', 'b') history = s.get_retry_history('my retry') self.assertEqual([('a', {}), ('b', {})], list(history)) self.assertEqual(['a', 'b'], list(history.provided_iter()))
def test_cleanup_retry_history(self): s = self._get_storage() s.ensure_atom(test_utils.NoopRetry('my retry', provides=['x'])) s.save('my retry', 'a') s.save('my retry', 'b') s.cleanup_retry_history('my retry', states.REVERTED) history = s.get_retry_history('my retry') self.assertEqual(history, []) self.assertEqual(s.fetch_all(), {})
def test_save_retry_results_with_mapping(self): s = self._get_storage() s.ensure_atom(test_utils.NoopRetry('my retry', provides=['x'])) s.save('my retry', 'a') s.save('my retry', 'b') history = s.get_retry_history('my retry') self.assertEqual(history, [('a', {}), ('b', {})]) self.assertEqual(s.fetch_all(), {'x': 'b'}) self.assertEqual(s.fetch('x'), 'b')
def test_save_retry_results_with_mapping(self): s = self._get_storage() s.ensure_atom(test_utils.NoopRetry('my retry', provides=['x'])) s.save('my retry', 'a') s.save('my retry', 'b') history = s.get_retry_history('my retry') self.assertEqual([('a', {}), ('b', {})], list(history)) self.assertEqual(['a', 'b'], list(history.provided_iter())) self.assertEqual({'x': 'b'}, s.fetch_all()) self.assertEqual('b', s.fetch('x'))
def test_cached_retry_failure(self): failure = misc.Failure.from_exception(RuntimeError('Woot!')) s = self._get_storage() s.ensure_atom(test_utils.NoopRetry('my retry', provides=['x'])) s.save('my retry', 'a') s.save('my retry', failure, states.FAILURE) history = s.get_retry_history('my retry') self.assertEqual(history, [('a', {}), (failure, {})]) self.assertIs(s.has_failures(), True) self.assertEqual(s.get_failures(), {'my retry': failure})
def test_cached_retry_failure(self): a_failure = failure.Failure.from_exception(RuntimeError('Woot!')) s = self._get_storage() s.ensure_atom(test_utils.NoopRetry('my retry', provides=['x'])) s.save('my retry', 'a') s.save('my retry', a_failure, states.FAILURE) history = s.get_retry_history('my retry') self.assertEqual([('a', {})], list(history)) self.assertTrue(history.caused_by(RuntimeError, include_retry=True)) self.assertIsNotNone(history.failure) self.assertEqual(1, len(history)) self.assertTrue(s.has_failures()) self.assertEqual({'my retry': a_failure}, s.get_failures())
def test_ensure_retry_and_task_with_same_name(self): s = self._get_storage() s.ensure_atom(test_utils.NoopTask('my retry')) self.assertRaisesRegexp(exceptions.Duplicate, '^Atom detail', s.ensure_atom, test_utils.NoopRetry('my retry'))
def test_ensure_retry(self): s = self._get_storage() s.ensure_atom(test_utils.NoopRetry('my retry')) history = s.get_retry_history('my retry') self.assertEqual([], list(history))