| #!/usr/bin/python |
| # |
| # Copyright 2008 Google Inc. All Rights Reserved. |
| |
| """Test for user.""" |
| |
| import unittest, os, sys |
| |
| import common |
| from autotest_lib.cli import cli_mock, user |
| |
| |
| class user_list_unittest(cli_mock.cli_unittest): |
| def test_parse_user_not_required(self): |
| ul = user.user_list() |
| sys.argv = ['atest'] |
| (options, leftover) = ul.parse() |
| self.assertEqual([], ul.users) |
| self.assertEqual([], leftover) |
| |
| |
| def test_parse_with_users(self): |
| ul = user.user_list() |
| ufile = cli_mock.create_file('user0\nuser3\nuser4\n') |
| sys.argv = ['atest', 'user1', '--ulist', ufile.name, 'user3'] |
| (options, leftover) = ul.parse() |
| self.assertEqualNoOrder(['user0', 'user1','user3', 'user4'], |
| ul.users) |
| self.assertEqual(leftover, []) |
| ufile.clean() |
| |
| |
| def test_parse_with_acl(self): |
| ul = user.user_list() |
| sys.argv = ['atest', '--acl', 'acl0'] |
| (options, leftover) = ul.parse() |
| self.assertEqual('acl0', ul.acl) |
| self.assertEqual(leftover, []) |
| |
| |
| def test_parse_with_access_level(self): |
| ul = user.user_list() |
| sys.argv = ['atest', '--access_level', '3'] |
| (options, leftover) = ul.parse() |
| self.assertEqual('3', ul.access_level) |
| self.assertEqual(leftover, []) |
| |
| |
| def test_parse_with_all(self): |
| ul = user.user_list() |
| ufile = cli_mock.create_file('user0\nuser3\nuser4\n') |
| sys.argv = ['atest', 'user1', '--ulist', ufile.name, 'user3', |
| '-l', '4', '-a', 'acl0'] |
| (options, leftover) = ul.parse() |
| self.assertEqualNoOrder(['user0', 'user1','user3', 'user4'], |
| ul.users) |
| self.assertEqual('acl0', ul.acl) |
| self.assertEqual('4', ul.access_level) |
| self.assertEqual(leftover, []) |
| ufile.clean() |
| |
| |
| def test_execute_list_all(self): |
| self.run_cmd(argv=['atest', 'user', 'list'], |
| rpcs=[('get_users', {}, |
| True, |
| [{u'access_level': 0, |
| u'login': u'user0', |
| u'id': 41}, |
| {u'access_level': 0, |
| u'login': u'user5', |
| u'id': 42}, |
| {u'access_level': 2, |
| u'login': u'user0', |
| u'id': 3}])], |
| out_words_ok=['user0', 'user5'], |
| out_words_no=['1', '3', '41', '42']) |
| |
| |
| def test_execute_list_all_with_user(self): |
| self.run_cmd(argv=['atest', 'user', 'list', 'user0'], |
| rpcs=[('get_users', {'login__in': ['user0']}, |
| True, |
| [{u'access_level': 2, |
| u'login': u'user0', |
| u'id': 3}])], |
| out_words_ok=['user0'], |
| out_words_no=['2', '3']) |
| |
| |
| def test_execute_list_all_with_acl(self): |
| self.run_cmd(argv=['atest', 'user', 'list', '--acl', 'acl0'], |
| rpcs=[('get_users', {'aclgroup__name__in': ['acl0']}, |
| True, |
| [{u'access_level': 2, |
| u'login': u'user0', |
| u'id': 3}])], |
| out_words_ok=['user0'], |
| out_words_no=['2', '3']) |
| |
| |
| def test_execute_list_all_with_access_level(self): |
| self.run_cmd(argv=['atest', 'user', 'list', '--access_level', '2'], |
| rpcs=[('get_users', {'access_level__in': ['2']}, |
| True, |
| [{u'access_level': 2, |
| u'login': u'user0', |
| u'id': 3}])], |
| out_words_ok=['user0'], |
| out_words_no=['2', '3']) |
| |
| |
| def test_execute_list_all_verbose(self): |
| self.run_cmd(argv=['atest', 'user', 'list', '--verbose'], |
| rpcs=[('get_users', {}, |
| True, |
| [{u'access_level': 0, |
| u'login': u'user0', |
| u'id': 41}, |
| {u'access_level': 0, |
| u'login': u'user5', |
| u'id': 42}, |
| {u'access_level': 5, |
| u'login': u'user0', |
| u'id': 3}])], |
| out_words_ok=['user0', 'user5', '41', '42', '0', '5']) |
| |
| |
| def test_execute_list_all_with_user_verbose(self): |
| ufile = cli_mock.create_file('user0 user1\n') |
| self.run_cmd(argv=['atest', 'user', 'list', '--ulist', ufile.name, |
| '-v'], |
| rpcs=[('get_users', {'login__in': ['user0', 'user1']}, |
| True, |
| [{u'access_level': 2, |
| u'login': u'user0', |
| u'id': 3}, |
| {u'access_level': 5, |
| u'login': u'user1', |
| u'id': 4}])], |
| out_words_ok=['user0', 'user1', '3', '4', '5']) |
| ufile.clean() |
| |
| |
| def test_execute_list_all_with_acl_verbose(self): |
| self.run_cmd(argv=['atest', 'user', 'list', '--acl', 'acl0', '-v'], |
| rpcs=[('get_users', {'aclgroup__name__in': ['acl0']}, |
| True, |
| [{u'access_level': 2, |
| u'login': u'user0', |
| u'id': 3}])], |
| out_words_ok=['user0', '3', '2']) |
| |
| |
| def test_execute_list_all_with_access_level_verbose(self): |
| self.run_cmd(argv=['atest', 'user', 'list', |
| '--access_level', '2', '-v'], |
| rpcs=[('get_users', {'access_level__in': ['2']}, |
| True, |
| [{u'access_level': 2, |
| u'login': u'user0', |
| u'id': 3}])], |
| out_words_ok=['user0', '2', '3']) |
| |
| |
| if __name__ == '__main__': |
| unittest.main() |