Merge pull request #704 from izn/add-uptime-and-public-ip-tests
Add uptime and public ip tests
This commit is contained in:
commit
ecf1825c00
2 changed files with 60 additions and 5 deletions
|
@ -1,5 +1,41 @@
|
|||
import pytest
|
||||
from unittest import TestCase, mock
|
||||
|
||||
def test_load_module():
|
||||
__import__("modules.contrib.publicip")
|
||||
import core.config
|
||||
import core.widget
|
||||
import modules.contrib.publicip
|
||||
|
||||
|
||||
def build_module():
|
||||
config = core.config.Config([])
|
||||
return modules.contrib.publicip.Module(config=config, theme=None)
|
||||
|
||||
def widget(module):
|
||||
return module.widgets()[0]
|
||||
|
||||
class PublicIPTest(TestCase):
|
||||
def test_load_module(self):
|
||||
__import__("modules.contrib.publicip")
|
||||
|
||||
@mock.patch('util.location.public_ip')
|
||||
def test_public_ip(self, public_ip_mock):
|
||||
public_ip_mock.return_value = '5.12.220.2'
|
||||
|
||||
module = build_module()
|
||||
module.update()
|
||||
|
||||
assert widget(module).full_text() == '5.12.220.2'
|
||||
|
||||
@mock.patch('util.location.public_ip')
|
||||
def test_public_ip_with_exception(self, public_ip_mock):
|
||||
public_ip_mock.side_effect = Exception
|
||||
|
||||
module = build_module()
|
||||
module.update()
|
||||
|
||||
assert widget(module).full_text() == 'n/a'
|
||||
|
||||
def test_interval_seconds(self):
|
||||
module = build_module()
|
||||
|
||||
assert module.parameter('interval') == 3600
|
||||
|
|
|
@ -1,7 +1,26 @@
|
|||
import pytest
|
||||
from unittest import TestCase, mock
|
||||
|
||||
pytest.importorskip("datetime")
|
||||
import core.config
|
||||
import core.widget
|
||||
import modules.contrib.uptime
|
||||
|
||||
def test_load_module():
|
||||
__import__("modules.contrib.uptime")
|
||||
|
||||
def build_module():
|
||||
config = core.config.Config([])
|
||||
return modules.contrib.uptime.Module(config=config, theme=None)
|
||||
|
||||
def widget(module):
|
||||
return module.widgets()[0]
|
||||
|
||||
class UptimeTest(TestCase):
|
||||
def test_load_module(self):
|
||||
__import__("modules.contrib.uptime")
|
||||
|
||||
@mock.patch('builtins.open', new_callable=mock.mock_open, read_data='300000 10.45')
|
||||
def test_uptime(self, uptime_mock):
|
||||
module = build_module()
|
||||
module.update()
|
||||
|
||||
uptime_mock.assert_called_with('/proc/uptime', 'r')
|
||||
assert widget(module).full_text() == '3 days, 11:20:00'
|
||||
|
|
Loading…
Reference in a new issue