| #!/usr/bin/python2 | 
 | # | 
 | # 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() |