Create uptime and public ip tests
This commit is contained in:
parent
7e7327c374
commit
710a2cef98
2 changed files with 63 additions and 5 deletions
|
@ -1,5 +1,44 @@
|
||||||
import pytest
|
import pytest
|
||||||
|
from unittest import TestCase, mock
|
||||||
|
|
||||||
def test_load_module():
|
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")
|
__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'
|
||||||
|
|
||||||
|
@mock.patch('util.location.public_ip')
|
||||||
|
def test_interval_seconds(self, public_ip_mock):
|
||||||
|
public_ip_mock.side_effect = Exception
|
||||||
|
|
||||||
|
module = build_module()
|
||||||
|
|
||||||
|
assert module.parameter('interval') == 3600
|
||||||
|
|
|
@ -1,7 +1,26 @@
|
||||||
import pytest
|
import pytest
|
||||||
|
from unittest import TestCase, mock
|
||||||
|
|
||||||
pytest.importorskip("datetime")
|
import core.config
|
||||||
|
import core.widget
|
||||||
|
import modules.contrib.uptime
|
||||||
|
|
||||||
def test_load_module():
|
|
||||||
|
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")
|
__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