Move interface assessement earlier in assess status

Ensure that interface state is assessed early in the assess_status
function so that missing or incomplete interfaces are detected
correctly, rather than the units just reporting a blocked status.

Change-Id: I9989c708a6385c728fa1fa9cff955efd70854774
Closes-Bug: 1811617
This commit is contained in:
James Page
2019-02-21 15:53:22 +00:00
parent 3b94731520
commit e4411326d8
2 changed files with 25 additions and 19 deletions

View File

@@ -318,19 +318,25 @@ class TestHandlers(unit_tests.test_utils.CharmTestCase):
incomplete_interfaces=mock.ANY),
])
@patch.object(handlers, '_assess_interface_groups')
@patch.object(handlers.vault, 'get_vault_health')
def test_assess_status_service_not_running(self, get_vault_health):
def test_assess_status_service_not_running(self, get_vault_health,
_assess_interface_groups):
self.is_flag_set.return_value = False
self.service_running.return_value = False
_assess_interface_groups.return_value = []
handlers._assess_status()
self.status_set.assert_called_with(
'blocked', 'Vault service not running')
@patch.object(handlers, '_assess_interface_groups')
@patch.object(handlers.vault, 'get_vault_health')
def test_assess_status_empty_health(self, get_vault_health):
def test_assess_status_empty_health(self, get_vault_health,
_assess_interface_groups):
self.is_flag_set.return_value = False
self.service_running.return_value = True
get_vault_health.return_value = {}
_assess_interface_groups.return_value = []
handlers._assess_status()
self.application_version_set.assert_called_with(
'Unknown')