167 lines
6.2 KiB
Python
Executable file
167 lines
6.2 KiB
Python
Executable file
#!/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()
|