def test_state_go(self, jver, pyjuju_status): jver.side_effect = [JujuVersion(1, 11, 0, False)] mstatus = JujuStatus('juju') mstatus.add('test-charm') pyjuju_status.return_value = yaml.safe_load(str(mstatus)) output = {'test-charm': {'0': 'started'}} self.assertEqual(output, waiter.state(juju_env='test'))
def test_state_subordinate_removal(self, jver, ms): jver.side_effect = [JujuVersion(1, 17, 0, False)] mstatus = JujuStatus('juju') mstatus.add('test-sub') mstatus.add('test-srv') mstatus.status['services']['test-sub'].pop('units', None) mstatus.status['services']['test-sub']['subordinate-to'] = 'test-srv' ms.return_value = yaml.safe_load(str(mstatus)) output = {'test-srv': {'0': 'started'}} self.assertEqual(output, waiter.state(juju_env='test'))
def test_state_specific_units(self, jver, pyjuju_status): jver.side_effect = [JujuVersion(0, 7, 0, False)] mstatus = JujuStatus('juju') mstatus.add('test-charm') mstatus.add('test-charm', state='pending') mstatus.add('test-charm') mstatus.add('test-charm-b') mstatus.add('test-charm-b') pyjuju_status.return_value = yaml.safe_load(str(mstatus)) output = {'test-charm': {'1': 'pending'}, 'test-charm-b': {'0': 'started', '1': 'started'}} self.assertEqual(output, waiter.state('test-charm/1', 'test-charm-b', juju_env='test'))
def test_status_error(self, jver, pyjuju_status): jver.side_effect = [JujuVersion(0, 7, 0, False)] pyjuju_status.side_effect = Exception self.assertEqual({}, waiter.state(juju_env='test'))