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