fix: distinguish TLS faults and require active dispatcher retry
This commit is contained in:
@@ -80,6 +80,9 @@ class SafetyTest(unittest.TestCase):
|
||||
self.assertEqual(status, 'saas_pending')
|
||||
self.assertEqual(self.m.dependency_state({'success': True, 'phase': 'complete'}), 'verified')
|
||||
self.assertEqual(self.m.dependency_state({'success': False, 'phase': 'mq_connect'}), 'mq_failed')
|
||||
for kind in ('tls_failed', 'transport_failed', ''):
|
||||
self.assertEqual(self.m.dependency_state({'success': False, 'phase': 'sip', 'http_status': 0, 'transport_failure': kind}), 'dependency_failed')
|
||||
self.assertEqual(self.m.dependency_state({'success': False, 'phase': 'sip', 'http_status': 0, 'transport_failure': 'unavailable'}), 'saas_pending')
|
||||
|
||||
def test_role_rendering_overrides_old_mock_business_source(self):
|
||||
source = {'dispatcher_id': 'new-owner', 'saas_url': 'https://real.example.invalid', 'secret': 'new-secret', 'mq_url': 'amqp://synthetic:placeholder@mq.example.invalid/test'}
|
||||
@@ -121,6 +124,12 @@ class SafetyTest(unittest.TestCase):
|
||||
self.assertTrue(any('go-sip-nonprod-siponly-test.service' in a and 'stop' in a for a in calls))
|
||||
self.assertFalse(any('go-sip-asterisk.service' in a for a in calls))
|
||||
|
||||
def test_dispatcher_failed_is_never_accepted_as_waiting(self):
|
||||
for state, substate in (('failed', 'failed'), ('activating', 'start'), ('inactive', 'dead')):
|
||||
self.assertFalse(self.m.dispatcher_acceptable({'UnitFileState': 'enabled', 'ActiveState': state, 'SubState': substate}, 'saas_topology_pending'))
|
||||
self.assertTrue(self.m.dispatcher_acceptable({'UnitFileState': 'enabled', 'ActiveState': 'activating', 'SubState': 'auto-restart'}, 'saas_topology_pending'))
|
||||
self.assertFalse(self.m.dispatcher_acceptable({'UnitFileState': 'enabled', 'ActiveState': 'activating', 'SubState': 'auto-restart'}, None))
|
||||
|
||||
def test_normal_deployment_never_selects_reset(self):
|
||||
self.assertFalse(self.m.reset_requested({}))
|
||||
self.assertFalse(self.m.reset_requested({'reset_state': False}))
|
||||
|
||||
Reference in New Issue
Block a user