KVM test: Add helpers to control the TAP/bridge
[autotest-zwu.git] / cli / user_unittest.py
bloba871b2651ef763854e5700ee60ad838f4e2817b8
1 #!/usr/bin/python
3 # Copyright 2008 Google Inc. All Rights Reserved.
5 """Test for user."""
7 import unittest, os, sys
9 import common
10 from autotest_lib.cli import cli_mock, user
13 class user_list_unittest(cli_mock.cli_unittest):
14 def test_parse_user_not_required(self):
15 ul = user.user_list()
16 sys.argv = ['atest']
17 (options, leftover) = ul.parse()
18 self.assertEqual([], ul.users)
19 self.assertEqual([], leftover)
22 def test_parse_with_users(self):
23 ul = user.user_list()
24 ufile = cli_mock.create_file('user0\nuser3\nuser4\n')
25 sys.argv = ['atest', 'user1', '--ulist', ufile.name, 'user3']
26 (options, leftover) = ul.parse()
27 self.assertEqualNoOrder(['user0', 'user1','user3', 'user4'],
28 ul.users)
29 self.assertEqual(leftover, [])
30 ufile.clean()
33 def test_parse_with_acl(self):
34 ul = user.user_list()
35 sys.argv = ['atest', '--acl', 'acl0']
36 (options, leftover) = ul.parse()
37 self.assertEqual('acl0', ul.acl)
38 self.assertEqual(leftover, [])
41 def test_parse_with_access_level(self):
42 ul = user.user_list()
43 sys.argv = ['atest', '--access_level', '3']
44 (options, leftover) = ul.parse()
45 self.assertEqual('3', ul.access_level)
46 self.assertEqual(leftover, [])
49 def test_parse_with_all(self):
50 ul = user.user_list()
51 ufile = cli_mock.create_file('user0\nuser3\nuser4\n')
52 sys.argv = ['atest', 'user1', '--ulist', ufile.name, 'user3',
53 '-l', '4', '-a', 'acl0']
54 (options, leftover) = ul.parse()
55 self.assertEqualNoOrder(['user0', 'user1','user3', 'user4'],
56 ul.users)
57 self.assertEqual('acl0', ul.acl)
58 self.assertEqual('4', ul.access_level)
59 self.assertEqual(leftover, [])
60 ufile.clean()
63 def test_execute_list_all(self):
64 self.run_cmd(argv=['atest', 'user', 'list'],
65 rpcs=[('get_users', {},
66 True,
67 [{u'access_level': 0,
68 u'login': u'user0',
69 u'id': 41},
70 {u'access_level': 0,
71 u'login': u'user5',
72 u'id': 42},
73 {u'access_level': 2,
74 u'login': u'user0',
75 u'id': 3}])],
76 out_words_ok=['user0', 'user5'],
77 out_words_no=['1', '3', '41', '42'])
80 def test_execute_list_all_with_user(self):
81 self.run_cmd(argv=['atest', 'user', 'list', 'user0'],
82 rpcs=[('get_users', {'login__in': ['user0']},
83 True,
84 [{u'access_level': 2,
85 u'login': u'user0',
86 u'id': 3}])],
87 out_words_ok=['user0'],
88 out_words_no=['2', '3'])
91 def test_execute_list_all_with_acl(self):
92 self.run_cmd(argv=['atest', 'user', 'list', '--acl', 'acl0'],
93 rpcs=[('get_users', {'aclgroup__name__in': ['acl0']},
94 True,
95 [{u'access_level': 2,
96 u'login': u'user0',
97 u'id': 3}])],
98 out_words_ok=['user0'],
99 out_words_no=['2', '3'])
102 def test_execute_list_all_with_access_level(self):
103 self.run_cmd(argv=['atest', 'user', 'list', '--access_level', '2'],
104 rpcs=[('get_users', {'access_level__in': ['2']},
105 True,
106 [{u'access_level': 2,
107 u'login': u'user0',
108 u'id': 3}])],
109 out_words_ok=['user0'],
110 out_words_no=['2', '3'])
113 def test_execute_list_all_verbose(self):
114 self.run_cmd(argv=['atest', 'user', 'list', '--verbose'],
115 rpcs=[('get_users', {},
116 True,
117 [{u'access_level': 0,
118 u'login': u'user0',
119 u'id': 41},
120 {u'access_level': 0,
121 u'login': u'user5',
122 u'id': 42},
123 {u'access_level': 5,
124 u'login': u'user0',
125 u'id': 3}])],
126 out_words_ok=['user0', 'user5', '41', '42', '0', '5'])
129 def test_execute_list_all_with_user_verbose(self):
130 ufile = cli_mock.create_file('user0 user1\n')
131 self.run_cmd(argv=['atest', 'user', 'list', '--ulist', ufile.name,
132 '-v'],
133 rpcs=[('get_users', {'login__in': ['user0', 'user1']},
134 True,
135 [{u'access_level': 2,
136 u'login': u'user0',
137 u'id': 3},
138 {u'access_level': 5,
139 u'login': u'user1',
140 u'id': 4}])],
141 out_words_ok=['user0', 'user1', '3', '4', '5'])
142 ufile.clean()
145 def test_execute_list_all_with_acl_verbose(self):
146 self.run_cmd(argv=['atest', 'user', 'list', '--acl', 'acl0', '-v'],
147 rpcs=[('get_users', {'aclgroup__name__in': ['acl0']},
148 True,
149 [{u'access_level': 2,
150 u'login': u'user0',
151 u'id': 3}])],
152 out_words_ok=['user0', '3', '2'])
155 def test_execute_list_all_with_access_level_verbose(self):
156 self.run_cmd(argv=['atest', 'user', 'list',
157 '--access_level', '2', '-v'],
158 rpcs=[('get_users', {'access_level__in': ['2']},
159 True,
160 [{u'access_level': 2,
161 u'login': u'user0',
162 u'id': 3}])],
163 out_words_ok=['user0', '2', '3'])
166 if __name__ == '__main__':
167 unittest.main()