This repository was archived by the owner on Jun 12, 2024. It is now read-only.
Repository navigation
Expand file tree
/
Copy pathtest_users.py
More file actions
108 lines (87 loc) · 4.45 KB
/
Copy pathtest_users.py
File metadata and controls
108 lines (87 loc) · 4.45 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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#!/usr/bin/env python
import os
import sys
# For coverage.
if __package__ is None:
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/..")
from unittest import main, TestCase
import requests
import requests_mock
from iris_sdk.client import Client
from iris_sdk.models.account import Account
from iris_sdk.models.users import Users
XML_RESPONSE_USERS_LIST = (
b"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>"
b"<UsersResponse><Users><User><Username>byo_dev</Username>"
b"<FirstName>test</FirstName><LastName>test</LastName>"
b"<EmailAddress>jsommerset@bandwidth.com</EmailAddress>"
b"<TelephoneNumber>5413637598</TelephoneNumber><Roles><Role>"
b"<RoleName>ROLE_USER</RoleName><Permissions><Permission>"
b"<PermissionName>UPDATE</PermissionName></Permission><Permission>"
b"<PermissionName>VIEW</PermissionName></Permission></Permissions>"
b"</Role><Role><RoleName>ROLE_BDR</RoleName><Permissions><Permission>"
b"<PermissionName>UPDATE</PermissionName></Permission><Permission>"
b"<PermissionName>VIEW</PermissionName></Permission></Permissions>"
b"</Role><Role><RoleName>ROLE_API_HISTORY</RoleName><Permissions>"
b"<Permission><PermissionName>UPDATE</PermissionName></Permission>"
b"<Permission><PermissionName>VIEW</PermissionName></Permission>"
b"</Permissions></Role><Role><RoleName>ROLE_API_SITE</RoleName>"
b"<Permissions><Permission><PermissionName>UPDATE</PermissionName>"
b"</Permission><Permission><PermissionName>VIEW</PermissionName>"
b"</Permission></Permissions></Role>"
b"<Role><RoleName>ROLE_API_SEARCH</RoleName><Permissions>"
b"<Permission><PermissionName>VIEW</PermissionName></Permission>"
b"</Permissions></Role><Role><RoleName>ROLE_API_ORDERING</RoleName>"
b"<Permissions><Permission><PermissionName>UPDATE</PermissionName>"
b"</Permission><Permission><PermissionName>VIEW</PermissionName>"
b"</Permission></Permissions></Role><Role>"
b"<RoleName>ROLE_API_PROFILE</RoleName><Permissions><Permission>"
b"<PermissionName>UPDATE</PermissionName></Permission><Permission>"
b"<PermissionName>VIEW</PermissionName></Permission></Permissions>"
b"</Role><Role><RoleName>ROLE_API_LNP</RoleName><Permissions>"
b"<Permission><PermissionName>UPDATE</PermissionName></Permission>"
b"<Permission><PermissionName>VIEW</PermissionName></Permission>"
b"</Permissions></Role><Role><RoleName>ROLE_API_ACCOUNT</RoleName>"
b"<Permissions><Permission><PermissionName>VIEW</PermissionName>"
b"</Permission></Permissions></Role>"
b"<Role><RoleName>ROLE_API_DLDA</RoleName><Permissions><Permission>"
b"<PermissionName>UPDATE</PermissionName></Permission><Permission>"
b"<PermissionName>VIEW</PermissionName></Permission></Permissions>"
b"</Role><Role><RoleName>ROLE_API_CNAMLIDB</RoleName><Permissions>"
b"<Permission><PermissionName>UPDATE</PermissionName></Permission>"
b"<Permission><PermissionName>VIEW</PermissionName></Permission>"
b"</Permissions></Role></Roles></User></Users></UsersResponse>"
)
class ClassUsersTest(TestCase):
"""Test the Users directory"""
@classmethod
def setUpClass(cls):
cls._client = Client("http://foo", "bar", "bar", "qux")
cls._account = Account(client=cls._client)
@classmethod
def tearDownClass(cls):
del cls._account
del cls._client
def test_change_pass(self):
with requests_mock.Mocker() as m:
users = Users(client=self._client)
url = self._client.config.url + users.password.get_xpath()
m.put(url)
users.password.change("foobar")
def test_users_list(self):
with requests_mock.Mocker() as m:
url = self._client.config.url + self._account.users.get_xpath()
m.get(url, content=XML_RESPONSE_USERS_LIST)
user = self._account.users.list().items[0]
self.assertEqual(user.username, "byo_dev")
self.assertEqual(user.first_name, "test")
self.assertEqual(user.last_name, "test")
self.assertEqual(user.email_address, "jsommerset@bandwidth.com")
self.assertEqual(user.telephone_number, "5413637598")
self.assertEqual(user.roles.role.items[0].role_name, "ROLE_USER")
self.assertEqual(
user.roles.role.items[0].permissions.\
permission.items[0].permission_name,
"UPDATE")
if __name__ == "__main__":
main()