Revision 3adbfafa snf-astakos-app/astakos/quotaholder/test/simpletests.py

b/snf-astakos-app/astakos/quotaholder/test/simpletests.py
39 39
                            QuotaholderError,
40 40
                            InvalidDataError,
41 41
                            NoQuantityError, NoCapacityError,
42
                            ExportLimitError, ImportLimitError,
43 42
                            CommissionValueException,
44 43
                            DuplicateError)
45 44

  
......
87 86
    def rand_limits(self):
88 87
        q = random_nat()
89 88
        c = random_nat()
90
        il = random_nat()
91
        el = random_nat()
92
        return q, c, il, el
89
        return q, c,
93 90

  
94 91
    def rand_policy_limits(self):
95 92
        p = self.rand_policy()
......
183 180
        resource1 = self.rand_resource()
184 181

  
185 182
        self.qh.set_quota(
186
            set_quota=[(e0, resource0) + (5, QH_PRACTICALLY_INFINITE, 5, 6) + (0,),
187
                       (e1, resource0) + (5, 5, 5, 5) + (0,)])
183
            set_quota=[(e0, resource0) + (5, QH_PRACTICALLY_INFINITE) + (0,),
184
                       (e1, resource0) + (5, 5) + (0,)])
188 185

  
189 186
        self.qh.add_quota(sub_quota=[(e0, resource0,
190
                                      0, QH_PRACTICALLY_INFINITE, 1, 1)],
187
                                      0, QH_PRACTICALLY_INFINITE)],
191 188
                          add_quota=[(e0, resource0,
192
                                      0, 3, QH_PRACTICALLY_INFINITE, 0),
189
                                      0, 3),
193 190
                                     # new holding
194 191
                                     (e0, resource1,
195
                                      0, QH_PRACTICALLY_INFINITE, 5, 5)])
192
                                      0, QH_PRACTICALLY_INFINITE)])
196 193

  
197 194
        r = self.qh.get_quota(get_quota=[(e0, resource0),
198 195
                                         (e0, resource1)])
199
        self.assertEqual(r, [(e0, resource0, 5, 3, QH_PRACTICALLY_INFINITE+4, 5)
196
        self.assertEqual(r, [(e0, resource0, 5, 3)
200 197
                             + DEFAULT_HOLDING + (0,),
201
                             (e0, resource1, 0, QH_PRACTICALLY_INFINITE, 5, 5)
198
                             (e0, resource1, 0, QH_PRACTICALLY_INFINITE)
202 199
                             + DEFAULT_HOLDING + (0,)])
203 200

  
204 201
        with self.assertRaises(QuotaholderError) as cm:
205 202
            self.qh.add_quota(add_quota=[(e1, resource0,
206
                                          0, (-10), QH_PRACTICALLY_INFINITE, 0),
207
                                         (e0, resource1, 1, 0, 0, 0)])
203
                                          0, (-10)),
204
                                         (e0, resource1, 1, 0)])
208 205

  
209 206
        err = cm.exception
210 207
        self.assertEqual(err.message, [(e1, resource0)])
211 208

  
212 209
        # r = self.qh.get_quota(get_quota=[(e1, resource0),
213 210
        #                                  (e0, resource1)])
214
        # self.assertEqual(r, [(e1, resource0, 5, 5 , 5, 5)
211
        # self.assertEqual(r, [(e1, resource0, 5, 5)
215 212
        #                      + DEFAULT_HOLDING + (0,),
216
        #                      (e0, resource1, 0, QH_PRACTICALLY_INFINITE, 5, 5)
213
        #                      (e0, resource1, 0, QH_PRACTICALLY_INFINITE)
217 214
        #                      + DEFAULT_HOLDING + (0,)])
218 215

  
219 216
    @transaction.commit_on_success
......
225 222

  
226 223
        self.qh.set_quota(
227 224
            set_quota=[(e0, resource0) +
228
                       (5, QH_PRACTICALLY_INFINITE, 5, 6) + (0,)])
225
                       (5, QH_PRACTICALLY_INFINITE) + (0,)])
229 226

  
230 227
        self.qh.add_quota(add_quota=[(e0, resource0,
231
                                      0, QH_PRACTICALLY_INFINITE, 0, 0)])
228
                                      0, QH_PRACTICALLY_INFINITE)])
232 229

  
233 230
        r = self.qh.get_quota(get_quota=[(e0, resource0)])
234
        self.assertEqual(r, [(e0, resource0, 5, 2*QH_PRACTICALLY_INFINITE, 5, 6)
231
        self.assertEqual(r, [(e0, resource0, 5, 2*QH_PRACTICALLY_INFINITE)
235 232
                             + DEFAULT_HOLDING + (0,)])
236 233

  
237 234
    @transaction.commit_on_success
......
239 236
        e0 = self.rand_holder()
240 237
        e1 = self.rand_holder()
241 238
        resource = self.rand_resource()
242
        q0, c0, il0, el0 = self.new_quota(e0, resource)
243
        q1, c1, il1, el1 = self.new_quota(e1, resource)
239
        q0, c0 = self.new_quota(e0, resource)
240
        q1, c1 = self.new_quota(e1, resource)
244 241

  
245
        most = min(c0, il0, q1, el1)
242
        most = min(c0, q1)
246 243
        if most < 0:
247 244
            raise AssertionError("%s <= 0" % most)
248 245

  
......
278 275
        et1 = self.rand_holder()
279 276
        et2 = self.rand_holder()
280 277
        resource = self.rand_resource()
281
        self.new_quota(es1, resource, (10, 5, 5, 15))
282
        self.new_quota(es2, resource, (10, 5, 5, 10))
283
        self.new_quota(et1, resource, (0, 15, 3, 20))
284
        self.new_quota(et2, resource, (0, 15, 20, 20))
278
        self.new_quota(es1, resource, (10, 5))
279
        self.new_quota(es2, resource, (10, 5))
280
        self.new_quota(et1, resource, (0, 15))
281
        self.new_quota(et2, resource, (0, 15))
285 282

  
286 283
        with self.assertRaises(NoQuantityError) as cm:
287 284
            self.qh.issue_commission(clientkey=self.client, target=et1,
......
300 297
                                     provisions=[(es1, resource, 2)])
301 298
        self.assertGreater(r, 0)
302 299

  
303
        with self.assertRaises(ImportLimitError) as cm:
304
            self.qh.issue_commission(clientkey=self.client, target=et1,
305
                                     name='something',
306
                                     provisions=[(es1, resource, 2)])
307
        e = cm.exception
308
        self.assertEqual(e.source, es1)
309
        self.assertEqual(e.target, et1)
310
        self.assertEqual(e.resource, resource)
311
        self.assertEqual(int(e.limit), 3)
312
        self.assertEqual(int(e.requested), 2)
313
        self.assertEqual(int(e.current), 2)
300
        # with self.assertRaises(ImportLimitError) as cm:
301
        #     self.qh.issue_commission(clientkey=self.client, target=et1,
302
        #                              name='something',
303
        #                              provisions=[(es1, resource, 2)])
304
        # e = cm.exception
305
        # self.assertEqual(e.source, es1)
306
        # self.assertEqual(e.target, et1)
307
        # self.assertEqual(e.resource, resource)
308
        # self.assertEqual(int(e.limit), 3)
309
        # self.assertEqual(int(e.requested), 2)
310
        # self.assertEqual(int(e.current), 2)
314 311

  
315 312
        r = self.qh.issue_commission(clientkey=self.client, target=et2,
316 313
                                     name='something',
......
338 335
        resource = 'list_holdings_resource'
339 336
        sys = 'system'
340 337

  
341
        self.qh.set_quota(set_quota=[(sys, resource, 10, 0,
342
                                      QH_PRACTICALLY_INFINITE,
343
                                      QH_PRACTICALLY_INFINITE, 0),
344
                                     (e0, resource, 0, 10,
345
                                      QH_PRACTICALLY_INFINITE,
346
                                      QH_PRACTICALLY_INFINITE, 0),
347
                                     (e1, resource, 0, 10,
348
                                      QH_PRACTICALLY_INFINITE,
349
                                      QH_PRACTICALLY_INFINITE, 0)])
338
        self.qh.set_quota(set_quota=[(sys, resource, 10, 0, 0),
339
                                     (e0, resource, 0, 10, 0),
340
                                     (e1, resource, 0, 10, 0)])
350 341

  
351 342
        s0 = self.qh.issue_commission(clientkey=self.client, target=e0,
352 343
                                      name='a commission',
......
370 361
    def test_0130_release_holding(self):
371 362
        e = self.rand_holder()
372 363
        resource = self.rand_resource()
373
        limits = self.new_quota(e, resource, (1, 2, 3, 4))
364
        limits = self.new_quota(e, resource, (1, 2))
374 365

  
375 366
        with self.assertRaises(QuotaholderError) as cm:
376 367
            self.qh.release_holding(release_holding=[(e, resource)])
......
382 373
    def test_0131_release_holding(self):
383 374
        e = self.rand_holder()
384 375
        resource = self.rand_resource()
385
        limits = self.new_quota(e, resource, (0, 2, 3, 4))
376
        limits = self.new_quota(e, resource, (0, 2))
386 377

  
387 378
        self.qh.release_holding(release_holding=[(e, resource)])
388 379

  
......
391 382
        resource = self.rand_resource()
392 383

  
393 384
        es = self.rand_holder()
394
        limits_s = self.new_quota(es, resource, (3, 3, 3, 3))
385
        limits_s = self.new_quota(es, resource, (3, 3))
395 386
        e = self.rand_holder()
396
        limits = self.new_quota(e, resource, (0, 2, 3, 4))
387
        limits = self.new_quota(e, resource, (0, 2))
397 388

  
398 389
        r = self.qh.issue_commission(clientkey=self.client, target=e,
399 390
                                     name='something',
......
436 427
        resource = "resource"
437 428
        target = "test_015_release_nocapacity_target"
438 429
        flags = 0
439
        source_limits  = [source, 6, 0, 1000, 1000]
430
        source_limits  = [source, 6, 0]
440 431
        source_holding = [source, resource, source, flags]
441
        target_limits  = [target, 0, 5, 1000, 1000]
432
        target_limits  = [target, 0, 5]
442 433
        target_holding = [target, resource, target, flags]
443 434

  
444 435
        failed = AssertionError("Quotaholder call failed")
......
472 463
                                name="something",
473 464
                                provisions=[(source, resource, -7)])
474 465

  
475
        source_limits  = [source, 6, 10, 1000, 1000]
466
        source_limits  = [source, 6, 10]
476 467
        if qh.set_limits(set_limits=[source_limits]):
477 468
            raise failed
478 469

  

Also available in: Unified diff