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