# pylint: disable=C0103,C0111 import mock import unittest import tests.mocks as mocks from bumblebee.input import LEFT_MOUSE from bumblebee.modules.memory import Module class VirtualMemory(object): def __init__(self, percent): self.percent = percent class TestMemoryModule(unittest.TestCase): def setUp(self): mocks.setup_test(self, Module) self._psutil = mock.patch("bumblebee.modules.memory.psutil") self.psutil = self._psutil.start() def tearDown(self): self._psutil.stop() mocks.teardown_test(self) def test_leftclick(self): mocks.mouseEvent(stdin=self.stdin, button=LEFT_MOUSE, inp=self.input, module=self.module) self.popen.assert_call("gnome-system-monitor") def test_warning(self): self.config.set("memory.critical", "80") self.config.set("memory.warning", "70") self.psutil.virtual_memory.return_value = VirtualMemory(75) self.module.update_all() self.assertTrue("warning" in self.module.state(self.anyWidget)) def test_critical(self): self.config.set("memory.critical", "80") self.config.set("memory.warning", "70") self.psutil.virtual_memory.return_value = VirtualMemory(81) self.module.update_all() self.assertTrue("critical" in self.module.state(self.anyWidget)) def test_format(self): self.config.set("memory.format", "memory used: {used}") rv = VirtualMemory(50) rv.total = 1000 rv.available = 500 self.psutil.virtual_memory.return_value = rv self.module.update_all() self.assertEquals("memory used: 500.00B", self.module.memory_usage(self.anyWidget)) def test_usage(self): rv = VirtualMemory(50) rv.total = 1000 rv.available = 500 self.psutil.virtual_memory.return_value = rv self.module.update_all() self.assertEquals("500.00B/1000.00B (50.00%)", self.module.memory_usage(self.anyWidget)) self.assertEquals(None, self.module.state(self.anyWidget)) # vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4