blob: 14367a9d94d6dcfc9b8b61409c9b7baf783cbbdc [file] [log] [blame]
#!/usr/bin/python
# pylint: disable=missing-docstring
import unittest
import common
from autotest_lib.client.common_lib import global_config
from autotest_lib.client.common_lib.test_utils import mock
from autotest_lib.server import utils
from autotest_lib.server.hosts import base_classes
class test_host_class(unittest.TestCase):
def setUp(self):
self.god = mock.mock_god()
# stub out get_server_dir, global_config.get_config_value
self.god.stub_with(utils, "get_server_dir",
lambda: "/unittest/server")
self.god.stub_function(global_config.global_config,
"get_config_value")
def tearDown(self):
self.god.unstub_all()
def test_init(self):
self.god.stub_function(utils, "get_server_dir")
host = base_classes.Host.__new__(base_classes.Host)
# set up the recording
utils.get_server_dir.expect_call().and_return("/unittest/server")
# run the actual test
host.__init__()
self.god.check_playback()
def test_install(self):
host = base_classes.Host()
# create a dummy installable class
class installable(object):
def install(self, host):
pass
installableObj = self.god.create_mock_class(installable,
"installableObj")
installableObj.install.expect_call(host)
# run the actual test
host.install(installableObj)
self.god.check_playback()
def test_get_wait_up_empty(self):
global_config.global_config.get_config_value.expect_call(
"HOSTS", "wait_up_processes", default="").and_return("")
host = base_classes.Host()
self.assertEquals(host.get_wait_up_processes(), set())
self.god.check_playback()
def test_get_wait_up_ignores_whitespace(self):
global_config.global_config.get_config_value.expect_call(
"HOSTS", "wait_up_processes", default="").and_return(" ")
host = base_classes.Host()
self.assertEquals(host.get_wait_up_processes(), set())
self.god.check_playback()
def test_get_wait_up_single_process(self):
global_config.global_config.get_config_value.expect_call(
"HOSTS", "wait_up_processes", default="").and_return("proc1")
host = base_classes.Host()
self.assertEquals(host.get_wait_up_processes(),
set(["proc1"]))
self.god.check_playback()
def test_get_wait_up_multiple_process(self):
global_config.global_config.get_config_value.expect_call(
"HOSTS", "wait_up_processes", default="").and_return(
"proc1,proc2,proc3")
host = base_classes.Host()
self.assertEquals(host.get_wait_up_processes(),
set(["proc1", "proc2", "proc3"]))
self.god.check_playback()
def test_get_wait_up_drops_duplicates(self):
global_config.global_config.get_config_value.expect_call(
"HOSTS", "wait_up_processes", default="").and_return(
"proc1,proc2,proc1")
host = base_classes.Host()
self.assertEquals(host.get_wait_up_processes(),
set(["proc1", "proc2"]))
self.god.check_playback()
if __name__ == "__main__":
unittest.main()