You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
167 lines
6.2 KiB
167 lines
6.2 KiB
#!/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()
|
|
|