Revision 763b4da1
b/snf-quotaholder-app/quotaholder_django/test/simpletests.py | ||
---|---|---|
39 | 39 |
from synnefo.lib.commissioning import CallError |
40 | 40 |
from synnefo.lib.quotaholder.api import InvalidDataError, NoEntityError |
41 | 41 |
from synnefo.lib.quotaholder.api.quotaholder import ( |
42 |
Name, Key, Quantity, Capacity, ImportLimit, ExportLimit, Resource, Flags) |
|
42 |
Name, Key, Quantity, Capacity, ImportLimit, ExportLimit, Resource, Flags, |
|
43 |
Imported, Exported, Returned, Released) |
|
43 | 44 |
|
44 | 45 |
DEFAULT_IMPORTED = 0 |
45 | 46 |
DEFAULT_EXPORTED = 0 |
... | ... | |
103 | 104 |
def rand_flags(self): |
104 | 105 |
return Flags.random() |
105 | 106 |
|
107 |
def rand_counters(self): |
|
108 |
return (Imported.random(), Exported.random(), |
|
109 |
Returned.random(), Released.random()) |
|
110 |
|
|
106 | 111 |
def new_entity(self, parent='system', parent_key=''): |
107 | 112 |
e = self.rand_entity() |
108 | 113 |
k = Key.random() |
... | ... | |
233 | 238 |
provisions=[(e1, resource, 1)]) |
234 | 239 |
|
235 | 240 |
|
241 |
def test_010_pending_commissions(self): |
|
242 |
r = self.qh.get_pending_commissions(clientkey=self.client) |
|
243 |
self.assertEqual(r, [1]) |
|
244 |
r = self.qh.resolve_pending_commissions(clientkey=self.client, |
|
245 |
max_serial=1, accept_set=[1]) |
|
246 |
r = self.qh.get_pending_commissions(clientkey=self.client) |
|
247 |
self.assertEqual(r, []) |
|
248 |
|
|
249 |
def test_011_release_empty(self): |
|
250 |
e, k = self.new_entity() |
|
251 |
e0, k0 = self.rand_entity(), Key.random() |
|
252 |
r = self.qh.release_entity(release_entity=[(e, k), (e0, k0)]) |
|
253 |
self.assertEqual(r, [e0]) |
|
254 |
r = self.qh.get_entity(get_entity=[(e, k)]) |
|
255 |
self.assertEqual(r, []) |
|
256 |
|
|
257 |
def test_012_release_nonempty(self): |
|
258 |
e, k = self.new_entity() |
|
259 |
e1, k1 = self.new_entity(e, k) |
|
260 |
r = self.qh.release_entity(release_entity=[(e, k), (e1, k1)]) |
|
261 |
self.assertEqual(r, [e]) |
|
262 |
r = self.qh.get_entity(get_entity=[(e1, k1)]) |
|
263 |
self.assertEqual(r, []) |
|
264 |
r = self.qh.release_entity(release_entity=[(e, k)]) |
|
265 |
self.assertEqual(r, []) |
|
266 |
|
|
267 |
def test_013_release_nonempty(self): |
|
268 |
e, k = self.new_entity() |
|
269 |
resource = self.rand_resource() |
|
270 |
limits = self.new_quota(e, k, resource) |
|
271 |
r = self.qh.release_entity(release_entity=[(e, k)]) |
|
272 |
self.assertEqual(r, [e]) |
|
273 |
r = self.qh.release_holding(release_holding=[(e, resource, k)]) |
|
274 |
self.assertEqual(r, []) |
|
275 |
r = self.qh.release_entity(release_entity=[(e, k)]) |
|
276 |
self.assertEqual(r, []) |
|
277 |
|
|
278 |
def test_014_reset_holding(self): |
|
279 |
e0, k0 = self.new_entity() |
|
280 |
e1, k1 = self.new_entity() |
|
281 |
resource = self.rand_resource() |
|
282 |
p, _ = self.new_policy() |
|
283 |
f = self.rand_flags() |
|
284 |
r = self.qh.set_holding(set_holding=[(e1, resource, k1, p, f)]) |
|
285 |
|
|
286 |
counters = self.rand_counters() |
|
287 |
r = self.qh.reset_holding( |
|
288 |
reset_holding=[(e0, resource, k0) + counters, |
|
289 |
(e1, resource, k1) + counters]) |
|
290 |
self.assertEqual(r, [0]) |
|
291 |
r = self.qh.get_holding(get_holding=[(e1, resource, k1)]) |
|
292 |
self.assertEqual(r, [(e1, resource, p) + counters + (f,)]) |
|
293 |
|
|
294 |
|
|
236 | 295 |
if __name__ == "__main__": |
237 | 296 |
import sys |
238 | 297 |
printf("Using {0}", sys.executable) |
Also available in: Unified diff