def test_ensure_ssl_cert_master_ssl_not_leader(self, mock_peer_units): self.relation_ids.return_value = ['cluster:0'] self.local_unit.return_value = 'unit/0' mock_peer_units.return_value = ['unit/1'] self.is_ssl_cert_master.return_value = False self.is_elected_leader.return_value = False self.assertFalse(utils.ensure_ssl_cert_master()) self.assertFalse(self.relation_set.called)
def test_ensure_ssl_cert_master_ssl_no_peers(self, mock_peer_units): def mock_rel_get(unit=None, **kwargs): return None self.relation_get.side_effect = mock_rel_get self.relation_ids.return_value = ['cluster:0'] self.local_unit.return_value = 'unit/0' self.related_units.return_value = [] mock_peer_units.return_value = [] # This should get ignored since we are overriding self.is_ssl_cert_master.return_value = False self.is_elected_leader.return_value = False self.assertTrue(utils.ensure_ssl_cert_master()) settings = {'ssl-cert-master': 'unit/0'} self.relation_set.assert_called_with(relation_id='cluster:0', relation_settings=settings)
def test_ensure_ssl_cert_master_is_leader_no_new_peer( self, mock_peer_units): def mock_rel_get(unit=None, **kwargs): if unit == 'unit/0': return 'unit/0' return 'unit/0' self.relation_get.side_effect = mock_rel_get self.relation_ids.return_value = ['cluster:0'] self.local_unit.return_value = 'unit/0' mock_peer_units.return_value = ['unit/1'] self.related_units.return_value = ['unit/1'] self.is_ssl_cert_master.return_value = False self.is_elected_leader.return_value = True self.assertFalse(utils.ensure_ssl_cert_master()) self.assertFalse(self.relation_set.called)
def test_ensure_ssl_cert_master_is_leader_no_new_peer(self, mock_peer_units): def mock_rel_get(unit=None, **kwargs): if unit == 'unit/0': return 'unit/0' return 'unit/0' self.relation_get.side_effect = mock_rel_get self.relation_ids.return_value = ['cluster:0'] self.local_unit.return_value = 'unit/0' mock_peer_units.return_value = ['unit/1'] self.related_units.return_value = ['unit/1'] self.is_ssl_cert_master.return_value = False self.is_elected_leader.return_value = True self.assertFalse(utils.ensure_ssl_cert_master()) self.assertFalse(self.relation_set.called)
def test_ensure_ssl_cert_master_is_leader_new_peer(self, mock_is_ssl_enabled, mock_peer_units): def mock_rel_get(unit=None, **kwargs): if unit == 'unit/0': return 'unit/0' return 'unknown' self.relation_get.side_effect = mock_rel_get mock_is_ssl_enabled.return_value = True self.relation_ids.return_value = ['cluster:0'] self.local_unit.return_value = 'unit/0' mock_peer_units.return_value = ['unit/1'] self.related_units.return_value = ['unit/1'] self.is_ssl_cert_master.return_value = False self.is_elected_leader.return_value = True self.assertFalse(utils.ensure_ssl_cert_master()) settings = {'ssl-cert-master': 'unit/0'} self.relation_set.assert_called_with(relation_id='cluster:0', relation_settings=settings)
def test_ensure_ssl_cert_master_is_leader_bad_votes(self, mock_peer_units): counter = {0: 0} def mock_rel_get(unit=None, **kwargs): """Returns a mix of votes.""" if unit == 'unit/0': return 'unit/0' ret = 'unit/%d' % (counter[0]) counter[0] += 1 return ret self.relation_get.side_effect = mock_rel_get self.relation_ids.return_value = ['cluster:0'] self.local_unit.return_value = 'unit/0' mock_peer_units.return_value = ['unit/1'] self.related_units.return_value = ['unit/1'] self.is_ssl_cert_master.return_value = False self.is_elected_leader.return_value = True self.assertFalse(utils.ensure_ssl_cert_master()) self.assertFalse(self.relation_set.called)
def test_ensure_ssl_cert_master_no_ssl(self, mock_is_ssl_enabled, mock_peer_units): mock_is_ssl_enabled.return_value = False self.assertFalse(utils.ensure_ssl_cert_master()) self.assertFalse(self.relation_set.called)