From: Alfredo Deza Date: Tue, 24 Sep 2013 16:21:12 +0000 (-0400) Subject: some tests for the new mon_errors check X-Git-Tag: v1.2.7~10^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9ed03785de65138ef38417bbdbc7d7b51dd10573;p=ceph-deploy.git some tests for the new mon_errors check Signed-off-by: Alfredo Deza --- diff --git a/ceph_deploy/tests/test_mon.py b/ceph_deploy/tests/test_mon.py new file mode 100644 index 0000000..dde74ba --- /dev/null +++ b/ceph_deploy/tests/test_mon.py @@ -0,0 +1,46 @@ +from ceph_deploy import mon +from mock import Mock + + +# NOTE: If at some point we re-use this helper, move it out +# and make it even more generic + +def make_fake_conn(receive_returns=None): + receive_returns = receive_returns or (['{}'], '', 0) + conn = Mock() + conn.return_value = conn + conn.execute = conn + conn.receive = Mock(return_value=receive_returns) + conn.result = Mock(return_value=conn) + return conn + + +class TestCatchCommonErrors(object): + + def setup(self): + self.logger = Mock() + + def assert_logger_message(self, logger, msg): + calls = logger.call_args_list + for log_call in calls: + if msg in log_call[0][0]: + return True + raise AssertionError('"%s" was not found in any of %s' % (msg, calls)) + + def test_warn_if_no_intial_members(self): + fake_conn = make_fake_conn() + mon.catch_mon_errors(fake_conn, self.logger, 'host', {}) + expected_msg = 'is not defined in `mon initial members`' + self.assert_logger_message(self.logger.warning, expected_msg) + + def test_warn_if_not_mon_in_monmap(self): + fake_conn = make_fake_conn() + mon.catch_mon_errors(fake_conn, self.logger, 'host', {}) + expected_msg = 'does not exist in monmap' + self.assert_logger_message(self.logger.warning, expected_msg) + + def test_warn_if_not_public_addr_and_not_public_netw(self): + fake_conn = make_fake_conn() + mon.catch_mon_errors(fake_conn, self.logger, 'host', {'global': ''}) + expected_msg = 'neither `public_addr` nor `public_network`' + self.assert_logger_message(self.logger.warning, expected_msg)