[hopem,r=]
Fixes is_db_ready() logic Closes-Bug: 1417108
This commit is contained in:
parent
0818e2e471
commit
172c11f7fd
@ -1408,9 +1408,8 @@ def is_db_ready(use_current_context=False, db_rel=None):
|
|||||||
if allowed_units and local_unit() in allowed_units.split():
|
if allowed_units and local_unit() in allowed_units.split():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
# If relation has units
|
rel_has_units = True
|
||||||
return False
|
|
||||||
|
|
||||||
# If neither relation has units then we are probably in sqllite mode return
|
# If neither relation has units then we are probably in sqlite mode so
|
||||||
# True.
|
# return True.
|
||||||
return not rel_has_units
|
return not rel_has_units
|
||||||
|
@ -352,20 +352,28 @@ class TestKeystoneUtils(CharmTestCase):
|
|||||||
self.assertEqual(utils.get_admin_passwd(), 'supersecretgen')
|
self.assertEqual(utils.get_admin_passwd(), 'supersecretgen')
|
||||||
|
|
||||||
def test_is_db_ready(self):
|
def test_is_db_ready(self):
|
||||||
|
allowed_units = None
|
||||||
|
|
||||||
|
def fake_rel_get(attribute=None, *args, **kwargs):
|
||||||
|
if attribute == 'allowed_units':
|
||||||
|
return allowed_units
|
||||||
|
|
||||||
|
self.relation_get.side_effect = fake_rel_get
|
||||||
|
|
||||||
self.relation_id.return_value = 'shared-db:0'
|
self.relation_id.return_value = 'shared-db:0'
|
||||||
self.relation_ids.return_value = [self.relation_id.return_value]
|
self.relation_ids.return_value = ['shared-db:0']
|
||||||
self.local_unit.return_value = 'unit/0'
|
self.local_unit.return_value = 'unit/0'
|
||||||
self.relation_get.return_value = 'unit/0'
|
allowed_units = 'unit/0'
|
||||||
self.assertTrue(utils.is_db_ready(use_current_context=True))
|
self.assertTrue(utils.is_db_ready(use_current_context=True))
|
||||||
|
|
||||||
self.relation_ids.return_value = ['acme:0']
|
self.relation_ids.return_value = ['acme:0']
|
||||||
self.assertRaises(utils.is_db_ready, use_current_context=True)
|
self.assertRaises(utils.is_db_ready, use_current_context=True)
|
||||||
|
|
||||||
self.related_units.return_value = ['unit/0']
|
self.related_units.return_value = ['unit/0']
|
||||||
self.relation_ids.return_value = [self.relation_id.return_value]
|
self.relation_ids.return_value = ['shared-db:0', 'shared-db:1']
|
||||||
self.assertTrue(utils.is_db_ready())
|
self.assertTrue(utils.is_db_ready())
|
||||||
|
|
||||||
self.relation_get.return_value = 'unit/1'
|
allowed_units = 'unit/1'
|
||||||
self.assertFalse(utils.is_db_ready())
|
self.assertFalse(utils.is_db_ready())
|
||||||
|
|
||||||
self.related_units.return_value = []
|
self.related_units.return_value = []
|
||||||
|
Loading…
Reference in New Issue
Block a user