| #!/usr/bin/python |
| # |
| # Copyright Gregory P. Smith, Google Inc 2008 |
| # Released under the GPL v2 |
| |
| """Tests for server.frontend.""" |
| |
| #pylint: disable=missing-docstring |
| |
| import os, unittest |
| import common |
| from autotest_lib.client.common_lib import global_config |
| from autotest_lib.client.common_lib import utils |
| from autotest_lib.client.common_lib.test_utils import mock |
| from autotest_lib.frontend.afe import rpc_client_lib |
| from autotest_lib.server import frontend |
| |
| GLOBAL_CONFIG = global_config.global_config |
| |
| |
| class BaseRpcClientTest(unittest.TestCase): |
| def setUp(self): |
| self.god = mock.mock_god() |
| self.god.mock_up(rpc_client_lib, 'rpc_client_lib') |
| self.god.stub_function(utils, 'send_email') |
| self._saved_environ = dict(os.environ) |
| if 'AUTOTEST_WEB' in os.environ: |
| del os.environ['AUTOTEST_WEB'] |
| |
| |
| def tearDown(self): |
| self.god.unstub_all() |
| os.environ.clear() |
| os.environ.update(self._saved_environ) |
| |
| |
| class RpcClientTest(BaseRpcClientTest): |
| def test_init(self): |
| os.environ['LOGNAME'] = 'unittest-user' |
| GLOBAL_CONFIG.override_config_value('SERVER', 'hostname', 'test-host') |
| rpc_client_lib.add_protocol.expect_call('test-host').and_return( |
| 'http://test-host') |
| rpc_client_lib.get_proxy.expect_call( |
| 'http://test-host/path', |
| headers={'AUTHORIZATION': 'unittest-user'}) |
| frontend.RpcClient('/path', None, None, None, None, None) |
| self.god.check_playback() |
| |
| |
| class CrosVersionFormatTestCase(unittest.TestCase): |
| def test_format_cros_image_name(self): |
| test_board = 'fubar-board' |
| test_version = 'R99-20000.15.0' |
| image_name = frontend.format_cros_image_name( |
| test_board, test_version) |
| self.assertIn(test_board, image_name) |
| self.assertIn(test_version, image_name) |
| |
| |
| if __name__ == '__main__': |
| unittest.main() |