65
67
self.assertEqual(role.name, req_body['role']['name'])
67
69
def test_delete(self):
68
resp = httplib2.Response({
70
resp = utils.TestResponse({
72
httplib2.Http.request(urlparse.urljoin(self.TEST_URL,
73
'v2.0/OS-KSADM/roles/1'),
75
headers=self.TEST_REQUEST_HEADERS) \
76
.AndReturn((resp, resp['body']))
75
kwargs = copy.copy(self.TEST_REQUEST_BASE)
76
kwargs['headers'] = self.TEST_REQUEST_HEADERS
77
requests.request('DELETE',
78
urlparse.urljoin(self.TEST_URL,
79
'v2.0/OS-KSADM/roles/1'),
80
**kwargs).AndReturn((resp))
77
81
self.mox.ReplayAll()
79
83
self.client.roles.delete(1)
81
85
def test_get(self):
82
resp = httplib2.Response({
86
resp = utils.TestResponse({
85
89
'role': self.TEST_ROLES['roles']['values'][0],
88
httplib2.Http.request(urlparse.urljoin(self.TEST_URL,
89
'v2.0/OS-KSADM/roles/1'),
91
headers=self.TEST_REQUEST_HEADERS) \
92
.AndReturn((resp, resp['body']))
93
kwargs = copy.copy(self.TEST_REQUEST_BASE)
94
kwargs['headers'] = self.TEST_REQUEST_HEADERS
95
requests.request('GET',
96
urlparse.urljoin(self.TEST_URL,
97
'v2.0/OS-KSADM/roles/1'),
98
**kwargs).AndReturn((resp))
93
99
self.mox.ReplayAll()
95
101
role = self.client.roles.get(1)
98
104
self.assertEqual(role.name, 'admin')
100
106
def test_list(self):
101
resp = httplib2.Response({
103
"body": json.dumps(self.TEST_ROLES),
107
resp = utils.TestResponse({
109
"text": json.dumps(self.TEST_ROLES),
106
httplib2.Http.request(urlparse.urljoin(self.TEST_URL,
107
'v2.0/OS-KSADM/roles'),
109
headers=self.TEST_REQUEST_HEADERS) \
110
.AndReturn((resp, resp['body']))
112
kwargs = copy.copy(self.TEST_REQUEST_BASE)
113
kwargs['headers'] = self.TEST_REQUEST_HEADERS
114
requests.request('GET',
115
urlparse.urljoin(self.TEST_URL,
116
'v2.0/OS-KSADM/roles'),
117
**kwargs).AndReturn((resp))
111
118
self.mox.ReplayAll()
113
120
role_list = self.client.roles.list()
114
121
[self.assertTrue(isinstance(r, roles.Role)) for r in role_list]
116
123
def test_roles_for_user(self):
117
resp = httplib2.Response({
119
"body": json.dumps(self.TEST_ROLES),
124
resp = utils.TestResponse({
126
"text": json.dumps(self.TEST_ROLES),
122
httplib2.Http.request(urlparse.urljoin(self.TEST_URL,
123
'v2.0/users/foo/roles'),
125
headers=self.TEST_REQUEST_HEADERS) \
126
.AndReturn((resp, resp['body']))
129
kwargs = copy.copy(self.TEST_REQUEST_BASE)
130
kwargs['headers'] = self.TEST_REQUEST_HEADERS
131
requests.request('GET',
132
urlparse.urljoin(self.TEST_URL,
133
'v2.0/users/foo/roles'),
134
**kwargs).AndReturn((resp))
127
135
self.mox.ReplayAll()
129
137
role_list = self.client.roles.roles_for_user('foo')
130
138
[self.assertTrue(isinstance(r, roles.Role)) for r in role_list]
132
140
def test_roles_for_user_tenant(self):
133
resp = httplib2.Response({
135
"body": json.dumps(self.TEST_ROLES),
141
resp = utils.TestResponse({
143
"text": json.dumps(self.TEST_ROLES),
138
httplib2.Http.request(urlparse.urljoin(self.TEST_URL,
139
'v2.0/tenants/barrr/users/foo/roles'),
141
headers=self.TEST_REQUEST_HEADERS) \
142
.AndReturn((resp, resp['body']))
146
kwargs = copy.copy(self.TEST_REQUEST_BASE)
147
kwargs['headers'] = self.TEST_REQUEST_HEADERS
148
requests.request('GET',
149
urlparse.urljoin(self.TEST_URL,
150
'v2.0/tenants/barrr/users/foo/roles'),
151
**kwargs).AndReturn((resp))
143
152
self.mox.ReplayAll()
145
154
role_list = self.client.roles.roles_for_user('foo', 'barrr')
146
155
[self.assertTrue(isinstance(r, roles.Role)) for r in role_list]
148
157
def test_add_user_role(self):
149
resp = httplib2.Response({
158
resp = utils.TestResponse({
154
httplib2.Http.request(urlparse.urljoin(self.TEST_URL,
155
'v2.0/users/foo/roles/OS-KSADM/barrr'),
157
headers=self.TEST_REQUEST_HEADERS) \
158
.AndReturn((resp, resp['body']))
163
kwargs = copy.copy(self.TEST_REQUEST_BASE)
164
kwargs['headers'] = self.TEST_REQUEST_HEADERS
165
requests.request('PUT',
166
urlparse.urljoin(self.TEST_URL,
167
'v2.0/users/foo/roles/OS-KSADM/barrr'),
168
**kwargs).AndReturn((resp))
159
169
self.mox.ReplayAll()
161
171
self.client.roles.add_user_role('foo', 'barrr')
163
173
def test_add_user_role_tenant(self):
164
resp = httplib2.Response({
174
resp = utils.TestResponse({
169
httplib2.Http.request(urlparse.urljoin(self.TEST_URL,
170
'v2.0/tenants/4/users/foo/roles/OS-KSADM/barrr'),
172
headers=self.TEST_REQUEST_HEADERS) \
173
.AndReturn((resp, resp['body']))
179
kwargs = copy.copy(self.TEST_REQUEST_BASE)
180
kwargs['headers'] = self.TEST_REQUEST_HEADERS
181
requests.request('PUT',
182
urlparse.urljoin(self.TEST_URL,
183
'v2.0/tenants/4/users/foo/roles/OS-KSADM/barrr'),
184
**kwargs).AndReturn((resp))
174
185
self.mox.ReplayAll()
176
187
self.client.roles.add_user_role('foo', 'barrr', '4')
178
189
def test_remove_user_role(self):
179
resp = httplib2.Response({
190
resp = utils.TestResponse({
184
httplib2.Http.request(urlparse.urljoin(self.TEST_URL,
185
'v2.0/users/foo/roles/OS-KSADM/barrr'),
187
headers=self.TEST_REQUEST_HEADERS) \
188
.AndReturn((resp, resp['body']))
195
kwargs = copy.copy(self.TEST_REQUEST_BASE)
196
kwargs['headers'] = self.TEST_REQUEST_HEADERS
197
requests.request('DELETE',
198
urlparse.urljoin(self.TEST_URL,
199
'v2.0/users/foo/roles/OS-KSADM/barrr'),
200
**kwargs).AndReturn((resp))
189
201
self.mox.ReplayAll()
191
203
self.client.roles.remove_user_role('foo', 'barrr')
193
205
def test_remove_user_role_tenant(self):
194
resp = httplib2.Response({
206
resp = utils.TestResponse({
199
httplib2.Http.request(urlparse.urljoin(self.TEST_URL,
200
'v2.0/tenants/4/users/foo/roles/OS-KSADM/barrr'),
202
headers=self.TEST_REQUEST_HEADERS) \
203
.AndReturn((resp, resp['body']))
211
kwargs = copy.copy(self.TEST_REQUEST_BASE)
212
kwargs['headers'] = self.TEST_REQUEST_HEADERS
213
requests.request('DELETE',
214
urlparse.urljoin(self.TEST_URL,
215
'v2.0/tenants/4/users/foo/roles/OS-KSADM/barrr'),
216
**kwargs).AndReturn((resp))
204
217
self.mox.ReplayAll()
206
219
self.client.roles.remove_user_role('foo', 'barrr', '4')