import mox from tests.unit import StacktachBaseTestCase, utils from verifier import NotFound, AmbiguousResults, FieldMismatch from verifier import NullFieldException, WrongTypeException class VerificationExceptionTestCase(StacktachBaseTestCase): def setUp(self): self.mox = mox.Mox() def tearDown(self): self.mox.UnsetStubs() def test_not_found_exception(self): exception = NotFound('object_type', 'search_params') self.assertEqual(exception.reason, "Couldn't find object_type using search_params") def test_ambiguous_results_exception(self): exception = AmbiguousResults('object_type', 'search_params') self.assertEqual( exception.reason, "Ambiguous results for object_type using search_params") def test_field_mismatch_exception(self): utils.mock_datetime_utcnow(self.mox, '2014-01-02 03:04:05') exception = FieldMismatch( 'field_name', {'name': 'entity1', 'value': 'expected'}, {'name': 'entity2', 'value': 'actual'}, 'uuid') self.assertEqual( exception.reason, "Failed at 2014-01-02 03:04:05 UTC for uuid: Data mismatch for " "'field_name' - 'entity1' contains 'expected' but 'entity2' " "contains 'actual'") def test_null_field_exception(self): utils.mock_datetime_utcnow(self.mox, '2014-01-02 03:04:05') exception = NullFieldException('field_name', 'exist_id', 'uuid') self.assertEqual(exception.field_name, 'field_name') self.assertEqual( exception.reason, "Failed at 2014-01-02 03:04:05 UTC for uuid: field_name field was " "null for exist id exist_id") def test_wrong_type_exception(self): utils.mock_datetime_utcnow(self.mox, '2014-01-02 03:04:05') exception = WrongTypeException( 'field_name', 'value', 'exist_id', 'uuid') self.assertEqual(exception.field_name, 'field_name') self.assertEqual(exception.value, 'value') self.assertEqual(exception.exist_id, 'exist_id') self.assertEqual(exception.uuid, 'uuid') self.assertEqual( exception.reason, "Failed at 2014-01-02 03:04:05 UTC for uuid: {field_name: value} " "was of incorrect type for exist id exist_id")