# pylint: disable=C0103,C0111 import mock import unittest from bumblebee.modules.http_status import Module from bumblebee.config import Config class TestHttpStatusModule(unittest.TestCase): def test_status_success(self): config = Config() config.set("http_status.target", "http://example.org") self.module = Module(engine=mock.Mock(), config={"config":config}) self.assertTrue(not "warning" in self.module.state(self.module.widgets()[0])) self.assertTrue(not "critical" in self.module.state(self.module.widgets()[0])) self.assertEqual(self.module.getStatus(), "200") self.assertEqual(self.module.getOutput(), "200") def test_status_error(self): config = Config() config.set("http_status.expect", "not a 200") config.set("http_status.target", "http://example.org") self.module = Module(engine=mock.Mock(), config={"config":config}) self.assertTrue(not "warning" in self.module.state(self.module.widgets()[0])) self.assertTrue("critical" in self.module.state(self.module.widgets()[0])) self.assertEqual(self.module.getStatus(), "200") self.assertEqual(self.module.getOutput(), "200 != not a 200") def test_label(self): config = Config() config.set("http_status.label", "example") config.set("http_status.target", "http://example.org") self.module = Module(engine=mock.Mock(), config={"config":config}) self.assertEqual(self.module.getOutput(), "example: 200") def test_unknow(self): config = Config() config.set("http_status.target", "invalid target") self.module = Module(engine=mock.Mock(), config={"config":config}) self.assertTrue("warning" in self.module.state(self.module.widgets()[0])) self.assertEqual(self.module.getStatus(), "UNK") self.assertEqual(self.module.getOutput(), "UNK != 200") # vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4