github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/acceptancetests/jujupy/tests/test_exception.py (about) 1 from tests import ( 2 TestCase 3 ) 4 5 from jujupy.exceptions import ( 6 AppError, 7 MachineError, 8 ProvisioningError, 9 StuckAllocatingError, 10 StatusError, 11 UnitError, 12 ) 13 14 15 class TestStatusErrorTree(TestCase): 16 """TestCase for StatusError and the tree of exceptions it roots.""" 17 18 def test_priority(self): 19 pos = len(StatusError.ordering) - 1 20 self.assertEqual(pos, StatusError.priority()) 21 22 def test_priority_mass(self): 23 for index, error_type in enumerate(StatusError.ordering): 24 self.assertEqual(index, error_type.priority()) 25 26 def test_priority_children_first(self): 27 for index, error_type in enumerate(StatusError.ordering, 1): 28 for second_error in StatusError.ordering[index:]: 29 self.assertFalse(issubclass(second_error, error_type)) 30 31 def test_priority_pairs(self): 32 self.assertLess(MachineError.priority(), UnitError.priority()) 33 self.assertLess(UnitError.priority(), AppError.priority()) 34 self.assertLess(StuckAllocatingError.priority(), 35 MachineError.priority()) 36 self.assertLess(ProvisioningError.priority(), 37 StuckAllocatingError.priority())