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")
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")
class TestModule(unittest.TestCase): def setUp(self): self.widget = MockWidget("foo") self.config = Config() self.moduleWithoutWidgets = Module(engine=None, widgets=None) self.moduleWithOneWidget = Module(engine=None, widgets=self.widget) self.moduleWithMultipleWidgets = Module( engine=None, widgets=[self.widget, self.widget, self.widget]) self.anyConfigName = "cfg" self.anotherConfigName = "cfg2" self.anyModule = Module(engine=None, widgets=self.widget, config={ "name": self.anyConfigName, "config": self.config }) self.anotherModule = Module(engine=None, widgets=self.widget, config={ "name": self.anotherConfigName, "config": self.config }) self.anyKey = "some-parameter" self.anyValue = "value" self.anotherValue = "another-value" self.emptyKey = "i-do-not-exist" self.config.set("{}.{}".format(self.anyConfigName, self.anyKey), self.anyValue) self.config.set("{}.{}".format(self.anotherConfigName, self.anyKey), self.anotherValue) def test_empty_widgets(self): self.assertEquals(self.moduleWithoutWidgets.widgets(), []) def test_single_widget(self): self.assertEquals(self.moduleWithOneWidget.widgets(), [self.widget]) def test_multiple_widgets(self): for widget in self.moduleWithMultipleWidgets.widgets(): self.assertEquals(widget, self.widget) def test_parameters(self): self.assertEquals(self.anyModule.parameter(self.anyKey), self.anyValue) self.assertEquals(self.anotherModule.parameter(self.anyKey), self.anotherValue) def test_default_parameters(self): self.assertEquals(self.anyModule.parameter(self.emptyKey), None) self.assertEquals( self.anyModule.parameter(self.emptyKey, self.anyValue), self.anyValue)
class TestModule(unittest.TestCase): def setUp(self): self.widget = MockWidget("foo") self.config = Config() self.moduleWithoutWidgets = Module(engine=None, widgets=None) self.moduleWithOneWidget = Module(engine=None, widgets=self.widget) self.moduleWithMultipleWidgets = Module(engine=None, widgets=[self.widget, self.widget, self.widget] ) self.anyConfigName = "cfg" self.anotherConfigName = "cfg2" self.anyModule = Module(engine=None, widgets=self.widget, config={ "name": self.anyConfigName, "config": self.config }) self.anotherModule = Module(engine=None, widgets=self.widget, config={ "name": self.anotherConfigName, "config": self.config }) self.anyKey = "some-parameter" self.anyValue = "value" self.anotherValue = "another-value" self.emptyKey = "i-do-not-exist" self.config.set("{}.{}".format(self.anyConfigName, self.anyKey), self.anyValue) self.config.set("{}.{}".format(self.anotherConfigName, self.anyKey), self.anotherValue) def test_empty_widgets(self): self.assertEquals(self.moduleWithoutWidgets.widgets(), []) def test_single_widget(self): self.assertEquals(self.moduleWithOneWidget.widgets(), [self.widget]) def test_multiple_widgets(self): for widget in self.moduleWithMultipleWidgets.widgets(): self.assertEquals(widget, self.widget) def test_parameters(self): self.assertEquals(self.anyModule.parameter(self.anyKey), self.anyValue) self.assertEquals(self.anotherModule.parameter(self.anyKey), self.anotherValue) def test_default_parameters(self): self.assertEquals(self.anyModule.parameter(self.emptyKey), None) self.assertEquals(self.anyModule.parameter(self.emptyKey, self.anyValue), self.anyValue)
class TestBatteryModule(unittest.TestCase): def setUp(self): self._stdout = mock.patch("sys.stdout", new_callable=StringIO) self._exists = mock.patch("bumblebee.modules.battery.os.path.exists") self._open = mock.patch("bumblebee.modules.battery.open", create=True) self.stdout = self._stdout.start() self.exists = self._exists.start() self.open = self._open.start() self.file = mock.Mock() self.file.__enter__ = lambda x: self.file self.file.__exit__ = lambda x, a, b, c: "" self.file.read.return_value = "120" self.open.return_value = self.file self.exists.return_value = True self.engine = mock.Mock() self.config = Config() self.config.set("battery.showremaining", "false") self.module = Module(engine=self.engine, config={"config":self.config}) self.config.set("battery.critical", "20") self.config.set("battery.warning", "25") self.criticalValue = "19" self.warningValue = "21" self.normalValue = "26" self.chargedValue = "96" self.module.widgets()[0] def tearDown(self): self._stdout.stop() self._exists.stop() self._open.stop() def test_format(self): for widget in self.module.widgets(): self.assertEquals(len(widget.full_text()), len("100%")) def test_critical(self): self.file.read.return_value = self.criticalValue self.module.update_all() self.assertTrue("critical" in self.module.state(self.module.widgets()[0])) def test_warning(self): self.file.read.return_value = self.warningValue self.module.update_all() self.assertTrue("warning" in self.module.state(self.module.widgets()[0])) def test_normal(self): self.file.read.return_value = self.normalValue self.module.update_all() self.assertTrue(not "warning" in self.module.state(self.module.widgets()[0])) self.assertTrue(not "critical" in self.module.state(self.module.widgets()[0])) def test_overload(self): self.file.read.return_value = "120" self.module.update_all() 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.assertEquals(self.module.capacity(self.module.widgets()[0]), "100%") def test_ac(self): self.exists.return_value = False self.file.read.return_value = "120" self.module.update_all() self.assertEquals(self.module.capacity(self.module.widgets()[0]), "ac") self.assertTrue("AC" in self.module.state(self.module.widgets()[0])) def test_error(self): self.file.read.side_effect = IOError("failed to read") self.module.update_all() self.assertEquals(self.module.capacity(self.module.widgets()[0]), "n/a") self.assertTrue("critical" in self.module.state(self.module.widgets()[0])) self.assertTrue("unknown" in self.module.state(self.module.widgets()[0])) def test_charging(self): self.file.read.return_value = self.chargedValue self.module.update_all() self.assertTrue("charged" in self.module.state(self.module.widgets()[0])) self.file.read.return_value = self.normalValue self.module.update_all() self.assertTrue("charging" in self.module.state(self.module.widgets()[0])) def test_discharging(self): for limit in [ 10, 25, 50, 80, 100 ]: value = limit - 1 self.file.read.return_value = str(value) self.module.update_all() self.file.read.return_value = "Discharging" self.assertTrue("discharging-{}".format(limit) in self.module.state(self.module.widgets()[0]))
class TestModule(unittest.TestCase): def setUp(self): self.widgetName = "foo" self.widget = MockWidget(self.widgetName) self.config = Config() self.anyWidgetName = "random-widget-name" self.noSuchModule = "this-module-does-not-exist" self.moduleWithoutWidgets = Module(engine=None, widgets=None) self.moduleWithOneWidget = Module(engine=None, widgets=self.widget, config={"config": self.config}) self.moduleWithMultipleWidgets = Module( engine=None, widgets=[self.widget, self.widget, self.widget]) self.anyConfigName = "cfg" self.anotherConfigName = "cfg2" self.anyModule = Module(engine=None, widgets=self.widget, config={ "name": self.anyConfigName, "config": self.config }) self.anotherModule = Module(engine=None, widgets=self.widget, config={ "name": self.anotherConfigName, "config": self.config }) self.anyKey = "some-parameter" self.anyValue = "value" self.anotherValue = "another-value" self.emptyKey = "i-do-not-exist" self.config.set("{}.{}".format(self.anyConfigName, self.anyKey), self.anyValue) self.config.set("{}.{}".format(self.anotherConfigName, self.anyKey), self.anotherValue) def test_empty_widgets(self): self.assertEquals(self.moduleWithoutWidgets.widgets(), []) def test_single_widget(self): self.assertEquals(self.moduleWithOneWidget.widgets(), [self.widget]) def test_multiple_widgets(self): for widget in self.moduleWithMultipleWidgets.widgets(): self.assertEquals(widget, self.widget) def test_retrieve_widget_by_name(self): widget = MockWidget(self.anyWidgetName) widget.name = self.anyWidgetName module = Module(engine=None, widgets=[self.widget, widget, self.widget]) retrievedWidget = module.widget(self.anyWidgetName) self.assertEquals(retrievedWidget, widget) def test_retrieve_widget_by_id(self): widget = MockWidget(self.anyWidgetName) widget.id = self.anyWidgetName module = Module(engine=None, widgets=[self.widget, widget, self.widget]) retrievedWidget = module.widget_by_id(self.anyWidgetName) self.assertEquals(retrievedWidget, widget) def test_retrieve_missing_widget(self): module = self.moduleWithMultipleWidgets widget = module.widget(self.noSuchModule) self.assertEquals(widget, None) widget = module.widget_by_id(self.noSuchModule) self.assertEquals(widget, None) def test_threshold(self): module = self.moduleWithOneWidget module.name = self.widgetName self.config.set("{}.critical".format(self.widgetName), 10.0) self.config.set("{}.warning".format(self.widgetName), 8.0) self.assertEquals("critical", module.threshold_state(10.1, 0, 0)) self.assertEquals("warning", module.threshold_state(10.0, 0, 0)) self.assertEquals(None, module.threshold_state(8.0, 0, 0)) self.assertEquals(None, module.threshold_state(7.9, 0, 0)) def test_parameters(self): self.assertEquals(self.anyModule.parameter(self.anyKey), self.anyValue) self.assertEquals(self.anotherModule.parameter(self.anyKey), self.anotherValue) def test_default_parameters(self): self.assertEquals(self.anyModule.parameter(self.emptyKey), None) self.assertEquals( self.anyModule.parameter(self.emptyKey, self.anyValue), self.anyValue)
class TestModule(unittest.TestCase): def setUp(self): self.widgetName = "foo" self.widget = MockWidget(self.widgetName) self.config = Config() self.anyWidgetName = "random-widget-name" self.noSuchModule = "this-module-does-not-exist" self.moduleWithoutWidgets = Module(engine=None, widgets=None) self.moduleWithOneWidget = Module(engine=None, widgets=self.widget, config={"config": self.config}) self.moduleWithMultipleWidgets = Module(engine=None, widgets=[self.widget, self.widget, self.widget] ) self.anyConfigName = "cfg" self.anotherConfigName = "cfg2" self.anyModule = Module(engine=None, widgets=self.widget, config={ "name": self.anyConfigName, "config": self.config }) self.anotherModule = Module(engine=None, widgets=self.widget, config={ "name": self.anotherConfigName, "config": self.config }) self.anyKey = "some-parameter" self.anyValue = "value" self.anotherValue = "another-value" self.emptyKey = "i-do-not-exist" self.config.set("{}.{}".format(self.anyConfigName, self.anyKey), self.anyValue) self.config.set("{}.{}".format(self.anotherConfigName, self.anyKey), self.anotherValue) def test_empty_widgets(self): self.assertEquals(self.moduleWithoutWidgets.widgets(), []) def test_single_widget(self): self.assertEquals(self.moduleWithOneWidget.widgets(), [self.widget]) def test_multiple_widgets(self): for widget in self.moduleWithMultipleWidgets.widgets(): self.assertEquals(widget, self.widget) def test_retrieve_widget_by_name(self): widget = MockWidget(self.anyWidgetName) widget.name = self.anyWidgetName module = Module(engine=None, widgets=[self.widget, widget, self.widget]) retrievedWidget = module.widget(self.anyWidgetName) self.assertEquals(retrievedWidget, widget) def test_retrieve_widget_by_id(self): widget = MockWidget(self.anyWidgetName) widget.id = self.anyWidgetName module = Module(engine=None, widgets=[self.widget, widget, self.widget]) retrievedWidget = module.widget_by_id(self.anyWidgetName) self.assertEquals(retrievedWidget, widget) def test_retrieve_missing_widget(self): module = self.moduleWithMultipleWidgets widget = module.widget(self.noSuchModule) self.assertEquals(widget, None) widget = module.widget_by_id(self.noSuchModule) self.assertEquals(widget, None) def test_threshold(self): module = self.moduleWithOneWidget module.name = self.widgetName self.config.set("{}.critical".format(self.widgetName), 10.0) self.config.set("{}.warning".format(self.widgetName), 8.0) self.assertEquals("critical", module.threshold_state(10.1, 0, 0)) self.assertEquals("warning", module.threshold_state(10.0, 0, 0)) self.assertEquals(None, module.threshold_state(8.0, 0, 0)) self.assertEquals(None, module.threshold_state(7.9, 0, 0)) def test_parameters(self): self.assertEquals(self.anyModule.parameter(self.anyKey), self.anyValue) self.assertEquals(self.anotherModule.parameter(self.anyKey), self.anotherValue) def test_default_parameters(self): self.assertEquals(self.anyModule.parameter(self.emptyKey), None) self.assertEquals(self.anyModule.parameter(self.emptyKey, self.anyValue), self.anyValue)