blob: 9f3263dbd45ffdbc8e47c55593dddd23d6e1ce11 [file] [log] [blame]
jamesren9a6f5f62010-05-05 22:55:54 +00001#!/usr/bin/python
2
3import unittest, base64
4import common
5from autotest_lib.frontend.planner import control_file
6from autotest_lib.client.common_lib.test_utils import mock
7
8
9class ControlFileUnittest(unittest.TestCase):
10 def setUp(self):
11 self.god = mock.mock_god()
12
13
14 def tearDown(self):
15 self.god.unstub_all()
16
17
18 def _test_wrap_control_file_helper(self):
19 self.verify_params = object()
20 self.control = 'control'
21 self.verify_segment = '|verify_segment|'
22 prepared_verify_args = 'prepared_verify_args'
23
24 self.god.stub_function(control_file, 'prepare_args')
25 self.god.stub_function(control_file, 'apply_string_arguments')
26 control_file.prepare_args.expect_call(
27 self.verify_params).and_return(prepared_verify_args)
28 control_file.apply_string_arguments.expect_call(
29 control_file.VERIFY_TEST_SEGMENT,
30 verify_args=prepared_verify_args).and_return(
31 self.verify_segment)
32
33
34 def test_wrap_control_file_client(self):
35 self._test_wrap_control_file_helper()
36 control_base64 = 'control_base64'
37 control_segment = '|control_segment|'
38
39 self.god.stub_function(base64, 'encodestring')
40 base64.encodestring.expect_call(self.control).and_return(control_base64)
41 control_file.apply_string_arguments.expect_call(
42 control_file.CLIENT_SEGMENT, control_base64=control_base64,
43 control_comment=mock.is_string_comparator()).and_return(
44 control_segment)
45
46 result = control_file.wrap_control_file(control_file=self.control,
47 is_server=False,
48 skip_verify=False,
49 verify_params=self.verify_params)
50
51 self.assertEqual(result, self.verify_segment + control_segment)
52 self.god.check_playback()
53
54
55 def test_wrap_control_file_server(self):
56 self._test_wrap_control_file_helper()
57 control_segment = '|control_segment|'
58
59 control_file.apply_string_arguments.expect_call(
60 control_file.SERVER_SEGMENT,
61 control_raw=self.control).and_return(control_segment)
62
63 result = control_file.wrap_control_file(control_file=self.control,
64 is_server=True,
65 skip_verify=False,
66 verify_params=self.verify_params)
67
68 self.assertEqual(result, self.verify_segment + control_segment)
69 self.god.check_playback()
70
71
72if __name__ == '__main__':
73 unittest.main()