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': 'example1@example.com',
'id': 1010101,
'name': 'example1@example.com',
'real_name': 'Mr. Example Man'},
{'can_login': False,
'email': 'example2@example.com',
'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("example2@example.com")
# Some userobj testing
userobj.refresh()
assert userobj.userid == 2222333
assert userobj.email == "example2@example.com"
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("example1@example.com", "fooname", "foopass")
assert userobj.email == "example1@example.com"
# 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("example1@example.com")
assert len(userlist) == 2
|