summaryrefslogtreecommitdiff
diff options
authorFelipe Reyes <felipe.reyes@canonical.com>2018-05-17 22:32:11 +0000
committerFelipe Reyes <felipe.reyes@canonical.com>2018-05-17 22:32:11 +0000
commitfdb156493422b210781526a82aa7c2e4a7f9c225 (patch)
tree5c6b912e51afbdd7f3b8863b8be8b539f76bbff8
parente9358130e9d4060774c7d266a195a388aee92bb0 (diff)
Fix unit tests failures
-rw-r--r--unit_tests/test_hooks.py25
1 files changed, 16 insertions, 9 deletions
diff --git a/unit_tests/test_hooks.py b/unit_tests/test_hooks.py
index 603b149..7cc7f41 100644
--- a/unit_tests/test_hooks.py
+++ b/unit_tests/test_hooks.py
@@ -36,19 +36,22 @@ class MongoHooksTest(CharmTestCase):
self.config.side_effect = self.test_config.get
self.relation_get.side_effect = self.test_relation.get
+ @patch.object(hooks, 'get_replicaset_status')
@patch.object(hooks, 'restart_mongod')
@patch.object(hooks, 'enable_replset')
# Note: patching the os.environ dictionary in-line here so there's no
# additional parameter sent into the function
@patch.dict('os.environ', JUJU_UNIT_NAME='fake-unit/0')
def test_replica_set_relation_joined(self, mock_enable_replset,
- mock_restart):
+ mock_restart,
+ mock_get_replset_status):
self.unit_get.return_value = 'private.address'
self.test_config.set('port', '1234')
self.test_config.set('replicaset', 'fake-replicaset')
self.relation_id.return_value = 'fake-relation-id'
mock_enable_replset.return_value = False
+ mock_get_replset_status.return_value = 'PRIMARY'
hooks.replica_set_relation_joined()
@@ -276,17 +279,22 @@ class MongoHooksTest(CharmTestCase):
mock_subprocess.assert_called_once_with(expected_cmd, shell=True)
self.assertFalse(rv)
+ @patch.object(hooks, 'run_admin_command')
+ @patch.object(hooks, 'is_leader')
+ @patch.object(hooks, 'get_replicaset_status')
@patch.object(hooks, 'am_i_primary')
@patch.object(hooks, 'init_replset')
@patch.object(hooks, 'relation_get')
@patch.object(hooks, 'peer_units')
- @patch.object(hooks, 'oldest_peer')
@patch.object(hooks, 'join_replset')
@patch.object(hooks, 'unit_get')
def test_replica_set_relation_changed(self, mock_unit_get,
- mock_join_replset, mock_oldest_peer,
- mock_peer_units, mock_relation_get,
- mock_init_replset, mock_is_primary):
+ mock_join_replset, mock_peer_units,
+ mock_relation_get, mock_init_replset,
+ mock_is_primary,
+ mock_get_replset_status,
+ mock_is_leader,
+ mock_run_admin_cmd):
# set the unit_get('private-address')
mock_unit_get.return_value = 'juju-local-unit-0.local'
mock_relation_get.return_value = None
@@ -298,6 +306,9 @@ class MongoHooksTest(CharmTestCase):
# Test remote hostname is valid, but master is somehow not defined
mock_join_replset.reset_mock()
mock_relation_get.return_value = 'juju-local-unit-0'
+ mock_is_leader.return_value = False
+ mock_run_admin_cmd.return_value = {'myState': hooks.MONGO_PRIMARY}
+ mock_get_replset_status.return_value = 'PRIMARY'
hooks.replica_set_relation_changed()
@@ -306,9 +317,7 @@ class MongoHooksTest(CharmTestCase):
# Test when not oldest peer, don't init replica set
mock_join_replset.reset_mock()
mock_init_replset.reset_mock()
- mock_oldest_peer.reset_mock()
mock_peer_units.return_value = ['mongodb/1', 'mongodb/2']
- mock_oldest_peer.return_value = False
hooks.replica_set_relation_changed()
@@ -317,8 +326,6 @@ class MongoHooksTest(CharmTestCase):
# Test when its also the PRIMARY
mock_relation_get.reset_mock()
mock_relation_get.side_effect = ['juju-remote-unit-0', '12345']
- mock_oldest_peer.reset_mock()
- mock_oldest_peer.return_value = False
mock_is_primary.reset_mock()
mock_is_primary.return_value = True
mock_join_replset.reset_mock()