File: test_api_users.py

package info (click to toggle)
python-bugzilla 3.3.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,116 kB
  • sloc: python: 6,160; makefile: 7
file content (75 lines) | stat: -rw-r--r-- 2,230 bytes parent folder | download | duplicates (3)
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