diff options
Diffstat (limited to 'oslo_vmware/tests/test_exceptions.py')
-rw-r--r-- | oslo_vmware/tests/test_exceptions.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/oslo_vmware/tests/test_exceptions.py b/oslo_vmware/tests/test_exceptions.py index 2ef24a7..d70756b 100644 --- a/oslo_vmware/tests/test_exceptions.py +++ b/oslo_vmware/tests/test_exceptions.py @@ -16,6 +16,8 @@ """ Unit tests for exceptions module. """ +import mock + from oslo_vmware._i18n import _ from oslo_vmware import exceptions from oslo_vmware.tests import base @@ -119,3 +121,30 @@ class ExceptionsTest(base.TestCase): exceptions.get_fault_class("ManagedObjectNotFound")) # Test unknown fault. self.assertIsNone(exceptions.get_fault_class("NotAFile")) + + def test_translate_fault(self): + + def fake_task(fault_class_name, error_msg=None): + task_info = mock.Mock() + task_info.localizedMessage = error_msg + if fault_class_name: + error_fault = mock.Mock() + error_fault.__class__.__name__ = fault_class_name + task_info.fault = error_fault + return task_info + + error_msg = "OUCH" + task = fake_task(exceptions.FILE_LOCKED, error_msg) + actual = exceptions.translate_fault(task) + + expected = exceptions.FileLockedException(error_msg) + self.assertEqual(expected.__class__, actual.__class__) + self.assertEqual(expected.message, actual.message) + + error_msg = "Oopsie" + task = fake_task(None, error_msg) + actual = exceptions.translate_fault(task) + expected = exceptions.VimFaultException(['Mock'], message=error_msg) + self.assertEqual(expected.__class__, actual.__class__) + self.assertEqual(expected.message, actual.message) + self.assertEqual(expected.fault_list, actual.fault_list) |