From 025e4ba7f6e53dbaefc35dd6bbdc089ebb057216 Mon Sep 17 00:00:00 2001 From: Vicente Cheng Date: Fri, 20 Mar 2015 10:14:41 +0800 Subject: [PATCH] Add new unit tests for get_mon_initial_members(). Add the unit tests for new abstracted function. Detail as below: 1. Test Mon value is None and error_on_empty is True. 2. Test Mon value is None and error_on_empty is False. 3. Test Mon value is single item. 4. Test Mon value is multiple item. If you have any questions, feel free to let me know. Thanks! Signed-off-by: Vicente Cheng --- ceph_deploy/tests/test_mon.py | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/ceph_deploy/tests/test_mon.py b/ceph_deploy/tests/test_mon.py index 32592e7..11560fe 100644 --- a/ceph_deploy/tests/test_mon.py +++ b/ceph_deploy/tests/test_mon.py @@ -1,6 +1,7 @@ -from ceph_deploy import mon +from ceph_deploy import exc, mon from ceph_deploy.conf.ceph import CephConf from mock import Mock +import pytest def make_fake_conf(): @@ -20,6 +21,33 @@ def make_fake_conn(receive_returns=None): return conn +class TestGetMonInitialMembers(object): + + def test_assert_if_mon_none_and_empty_True(self): + cfg = make_fake_conf() + with pytest.raises(exc.NeedHostError): + mon.get_mon_initial_members(Mock(), True, cfg) + + def test_return_if_mon_none_and_empty_false(self): + cfg = make_fake_conf() + mon_initial_members = mon.get_mon_initial_members(Mock(), False, cfg) + assert mon_initial_members is None + + def test_single_item_if_mon_not_none(self): + cfg = make_fake_conf() + cfg.add_section('global') + cfg.set('global', 'mon initial members', 'AAAA') + mon_initial_members = mon.get_mon_initial_members(Mock(), False, cfg) + assert set(mon_initial_members) == set(['AAAA']) + + def test_multiple_item_if_mon_not_none(self): + cfg = make_fake_conf() + cfg.add_section('global') + cfg.set('global', 'mon initial members', 'AAAA, BBBB') + mon_initial_members = mon.get_mon_initial_members(Mock(), False, cfg) + assert set(mon_initial_members) == set(['AAAA', 'BBBB']) + + class TestCatchCommonErrors(object): def setup(self): -- 2.47.3