[hopem,r=]

Fixes is_db_ready() logic

Closes-Bug: 1417108
This commit is contained in:
Edward Hope-Morley 2015-02-02 13:49:05 +00:00
parent 0818e2e471
commit 172c11f7fd
2 changed files with 15 additions and 8 deletions

View File

@ -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():
return True
# If relation has units
return False
rel_has_units = True
# If neither relation has units then we are probably in sqllite mode return
# True.
# If neither relation has units then we are probably in sqlite mode so
# return True.
return not rel_has_units

View File

@ -352,20 +352,28 @@ class TestKeystoneUtils(CharmTestCase):
self.assertEqual(utils.get_admin_passwd(), 'supersecretgen')
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_ids.return_value = [self.relation_id.return_value]
self.relation_ids.return_value = ['shared-db: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.relation_ids.return_value = ['acme:0']
self.assertRaises(utils.is_db_ready, use_current_context=True)
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.relation_get.return_value = 'unit/1'
allowed_units = 'unit/1'
self.assertFalse(utils.is_db_ready())
self.related_units.return_value = []