Revision 2070c5f8 snf-astakos-app/astakos/im/tests/api.py
b/snf-astakos-app/astakos/im/tests/api.py | ||
---|---|---|
66 | 66 |
"service_origin": "service1", |
67 | 67 |
"ui_visible": True} |
68 | 68 |
r, _ = register.add_resource(resource11) |
69 |
register.update_resources([(r, 100)])
|
|
69 |
register.update_base_default(r, 100)
|
|
70 | 70 |
resource12 = {"name": "service1.resource12", |
71 | 71 |
"desc": "resource11 desc", |
72 | 72 |
"service_type": "type1", |
73 | 73 |
"service_origin": "service1", |
74 | 74 |
"unit": "bytes"} |
75 | 75 |
r, _ = register.add_resource(resource12) |
76 |
register.update_resources([(r, 1024)])
|
|
76 |
register.update_base_default(r, 1024)
|
|
77 | 77 |
|
78 | 78 |
# create user |
79 | 79 |
user = get_local_user('test@grnet.gr') |
... | ... | |
93 | 93 |
"service_origin": "service2", |
94 | 94 |
"ui_visible": False} |
95 | 95 |
r, _ = register.add_resource(resource21) |
96 |
register.update_resources([(r, 3)])
|
|
96 |
register.update_base_default(r, 3)
|
|
97 | 97 |
|
98 | 98 |
resource_names = [r['name'] for r in |
99 | 99 |
[resource11, resource12, resource21]] |
... | ... | |
113 | 113 |
r = client.get(u('quotas/'), **headers) |
114 | 114 |
self.assertEqual(r.status_code, 200) |
115 | 115 |
body = json.loads(r.content) |
116 |
system_quota = body['system']
|
|
117 |
assertIn('system', body)
|
|
116 |
assertIn(user.uuid, body)
|
|
117 |
base_quota = body[user.uuid]
|
|
118 | 118 |
for name in resource_names: |
119 |
assertIn(name, system_quota)
|
|
119 |
assertIn(name, base_quota)
|
|
120 | 120 |
|
121 | 121 |
nmheaders = {'HTTP_X_AUTH_TOKEN': non_moderated_user.auth_token} |
122 | 122 |
r = client.get(u('quotas/'), **nmheaders) |
... | ... | |
149 | 149 |
"name": "my commission", |
150 | 150 |
"provisions": [ |
151 | 151 |
{ |
152 |
"holder": user.uuid, |
|
153 |
"source": "system",
|
|
152 |
"holder": "user:" + user.uuid,
|
|
153 |
"source": "project:" + user.uuid,
|
|
154 | 154 |
"resource": resource11['name'], |
155 | 155 |
"quantity": 1 |
156 | 156 |
}, |
157 | 157 |
{ |
158 |
"holder": user.uuid, |
|
159 |
"source": "system",
|
|
158 |
"holder": "user:" + user.uuid,
|
|
159 |
"source": "project:" + user.uuid,
|
|
160 | 160 |
"resource": resource12['name'], |
161 | 161 |
"quantity": 30000 |
162 | 162 |
}]} |
... | ... | |
172 | 172 |
"name": "my commission", |
173 | 173 |
"provisions": [ |
174 | 174 |
{ |
175 |
"holder": user.uuid, |
|
176 |
"source": "system",
|
|
175 |
"holder": "user:" + user.uuid,
|
|
176 |
"source": "project:" + user.uuid,
|
|
177 | 177 |
"resource": resource11['name'], |
178 | 178 |
"quantity": 1 |
179 | 179 |
}, |
180 | 180 |
{ |
181 |
"holder": user.uuid, |
|
182 |
"source": "system",
|
|
181 |
"holder": "user:" + user.uuid,
|
|
182 |
"source": "project:" + user.uuid,
|
|
183 | 183 |
"resource": resource12['name'], |
184 | 184 |
"quantity": 100 |
185 | 185 |
}]} |
... | ... | |
226 | 226 |
self.assertEqual(r.status_code, 200) |
227 | 227 |
body = json.loads(r.content) |
228 | 228 |
user_quota = body[user.uuid] |
229 |
system_quota = user_quota['system']
|
|
230 |
r11 = system_quota[resource11['name']]
|
|
229 |
base_quota = user_quota[user.uuid]
|
|
230 |
r11 = base_quota[resource11['name']]
|
|
231 | 231 |
self.assertEqual(r11['usage'], 3) |
232 | 232 |
self.assertEqual(r11['pending'], 3) |
233 | 233 |
|
234 |
r = client.get(u('service_project_quotas'), **s1_headers) |
|
235 |
self.assertEqual(r.status_code, 200) |
|
236 |
body = json.loads(r.content) |
|
237 |
assertIn(user.uuid, body) |
|
238 |
|
|
234 | 239 |
# resolve pending commissions |
235 | 240 |
resolve_data = { |
236 | 241 |
"accept": [serial1, serial3], |
... | ... | |
256 | 261 |
"name": "my commission", |
257 | 262 |
"provisions": [ |
258 | 263 |
{ |
259 |
"holder": user.uuid, |
|
260 |
"source": "system",
|
|
264 |
"holder": "user:" + user.uuid,
|
|
265 |
"source": "project:" + user.uuid,
|
|
261 | 266 |
"resource": resource11['name'], |
262 | 267 |
"quantity": 1 |
263 | 268 |
}, |
264 | 269 |
{ |
265 |
"holder": user.uuid, |
|
266 |
"source": "system",
|
|
270 |
"holder": "user:" + user.uuid,
|
|
271 |
"source": "project:" + user.uuid,
|
|
267 | 272 |
"resource": resource12['name'], |
268 | 273 |
"quantity": 100 |
269 | 274 |
}]} |
... | ... | |
285 | 290 |
"name": "my commission", |
286 | 291 |
"provisions": [ |
287 | 292 |
{ |
288 |
"holder": user.uuid, |
|
289 |
"source": "system",
|
|
293 |
"holder": "user:" + user.uuid,
|
|
294 |
"source": "project:" + user.uuid,
|
|
290 | 295 |
"resource": resource11['name'], |
291 | 296 |
} |
292 | 297 |
]} |
... | ... | |
316 | 321 |
"name": "my commission", |
317 | 322 |
"provisions": [ |
318 | 323 |
{ |
319 |
"holder": user.uuid, |
|
320 |
"source": "system",
|
|
324 |
"holder": "user:" + user.uuid,
|
|
325 |
"source": "project:" + user.uuid,
|
|
321 | 326 |
"resource": "non existent", |
322 | 327 |
"quantity": 1 |
323 | 328 |
}, |
324 | 329 |
{ |
325 |
"holder": user.uuid, |
|
326 |
"source": "system",
|
|
330 |
"holder": "user:" + user.uuid,
|
|
331 |
"source": "project:" + user.uuid,
|
|
327 | 332 |
"resource": resource12['name'], |
328 | 333 |
"quantity": 100 |
329 | 334 |
}]} |
... | ... | |
337 | 342 |
commission_request = { |
338 | 343 |
"provisions": [ |
339 | 344 |
{ |
340 |
"holder": user.uuid, |
|
341 |
"source": "system",
|
|
345 |
"holder": "user:" + user.uuid,
|
|
346 |
"source": "project:" + user.uuid,
|
|
342 | 347 |
"resource": resource11['name'], |
343 | 348 |
"quantity": -1 |
344 | 349 |
} |
... | ... | |
368 | 373 |
"force": True, |
369 | 374 |
"provisions": [ |
370 | 375 |
{ |
371 |
"holder": user.uuid, |
|
372 |
"source": "system",
|
|
376 |
"holder": "user:" + user.uuid,
|
|
377 |
"source": "project:" + user.uuid,
|
|
373 | 378 |
"resource": resource11['name'], |
374 | 379 |
"quantity": 100 |
375 | 380 |
}]} |
... | ... | |
383 | 388 |
"force": True, |
384 | 389 |
"provisions": [ |
385 | 390 |
{ |
386 |
"holder": user.uuid, |
|
387 |
"source": "system",
|
|
391 |
"holder": "user:" + user.uuid,
|
|
392 |
"source": "project:" + user.uuid,
|
|
388 | 393 |
"resource": resource11['name'], |
389 | 394 |
"quantity": -200 |
390 | 395 |
}]} |
... | ... | |
397 | 402 |
r = client.get(u('quotas'), **headers) |
398 | 403 |
self.assertEqual(r.status_code, 200) |
399 | 404 |
body = json.loads(r.content) |
400 |
system_quota = body['system']
|
|
401 |
r11 = system_quota[resource11['name']]
|
|
405 |
base_quota = body[user.uuid]
|
|
406 |
r11 = base_quota[resource11['name']]
|
|
402 | 407 |
self.assertEqual(r11['usage'], 102) |
403 | 408 |
self.assertEqual(r11['pending'], 101) |
404 | 409 |
|
... | ... | |
753 | 758 |
class ValidateAccessToken(TestCase): |
754 | 759 |
def setUp(self): |
755 | 760 |
self.oa2_backend = DjangoBackend() |
756 |
self.user = AstakosUser.objects.create(username="user@synnefo.org")
|
|
761 |
self.user = get_local_user("user@synnefo.org")
|
|
757 | 762 |
self.token = self.oa2_backend.token_model.create( |
758 | 763 |
code='12345', |
759 | 764 |
expires_at=datetime.now() + timedelta(seconds=5), |
Also available in: Unified diff