From: Vicente Cheng Date: Fri, 20 Mar 2015 02:14:41 +0000 (+0800) Subject: Add new unit tests for get_mon_initial_members(). X-Git-Tag: v1.5.23~7^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F271%2Fhead;p=ceph-deploy.git 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 --- 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):