-
Notifications
You must be signed in to change notification settings - Fork 114
Expand file tree
/
Copy pathtest_api_users.py
More file actions
75 lines (63 loc) · 2.18 KB
/
test_api_users.py
File metadata and controls
75 lines (63 loc) · 2.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#
# Copyright Red Hat, Inc. 2012
#
# This work is licensed under the GNU GPLv2 or later.
# See the COPYING file in the top-level directory.
#
"""
Test miscellaneous API bits
"""
import pytest
import bugzilla
import tests
import tests.mockbackend
def test_api_users():
# Basic API testing of the users APIs
user_ret = {'users': [
{'can_login': True,
'email': '[email protected]',
'id': 1010101,
'name': '[email protected]',
'real_name': 'Mr. Example Man'},
{'can_login': False,
'email': '[email protected]',
'id': 2222333,
'name': 'example name',
'real_name': 'Example real name',
'saved_reports': [],
'saved_searches': [],
'groups': [
{"id": 1, "name": "testgroup", "description": "somedesc"}
]},
]}
# getusers and User testing
fakebz = tests.mockbackend.make_bz(
user_get_args="data/mockargs/test_api_users_get1.txt",
user_get_return=user_ret,
user_update_args="data/mockargs/test_api_users_update1.txt",
user_update_return={})
userobj = fakebz.getuser("[email protected]")
# Some userobj testing
userobj.refresh()
assert userobj.userid == 2222333
assert userobj.email == "[email protected]"
assert userobj.name == "example name"
assert userobj.can_login is False
userobj.updateperms("rem", ["fedora_contrib"])
# Catch a validation error
with pytest.raises(bugzilla.BugzillaError):
userobj.updateperms("badaction", ["newgroup"])
# createuser tests
fakebz = tests.mockbackend.make_bz(
user_get_args="data/mockargs/test_api_users_get2.txt",
user_get_return=user_ret,
user_create_args="data/mockargs/test_api_users_create.txt",
user_create_return={})
userobj = fakebz.createuser("[email protected]", "fooname", "foopass")
assert userobj.email == "[email protected]"
# searchuser tests
fakebz = tests.mockbackend.make_bz(
user_get_args="data/mockargs/test_api_users_get3.txt",
user_get_return=user_ret)
userlist = fakebz.searchusers("[email protected]")
assert len(userlist) == 2