Revision 187bd5d9

b/snf-quotaholder-app/quotaholder_django/test/simpletests.py
36 36
from config import rand_string
37 37
from config import printf
38 38

  
39
from synnefo.lib.commissioning import CallError
39 40
from synnefo.lib.quotaholder.api import InvalidDataError, NoEntityError
40 41
from synnefo.lib.quotaholder.api.quotaholder import (
41 42
    Name, Key, Quantity, Capacity, ImportLimit, ExportLimit, Resource, Flags)
......
56 57
        r = self.qh.create_entity(create_entity=[(e, 'system', k, '')])
57 58
        self.e_name = e
58 59
        self.e_key = k
60
        self.client = self.rand_entity()
59 61

  
60 62
    @classmethod
61 63
    def rand_name(self, exclude=[]):
......
87 89
        return self.rand_name(self.used_resources)
88 90

  
89 91
    def rand_limits(self):
90
        q = Quantity.random()
92
        q = Capacity.random() # Nonnegative
91 93
        c = Capacity.random()
92 94
        il = ImportLimit.random()
93 95
        el = ExportLimit.random()
......
203 205
        self.assertEqual(r, [(e, resource) + limits1 +
204 206
                             DEFAULT_HOLDING + (f,)])
205 207

  
208
    def new_quota(self, entity, key, resource):
209
        limits = self.rand_limits()
210
        f = self.rand_flags()
211
        r = self.qh.set_quota(
212
            set_quota=[(entity, resource, key) + limits + (f,)])
213
        self.assertEqual(r, [])
214
        return limits
215

  
216
    def test_009_issue_commission(self):
217
        e0, k0 = self.new_entity()
218
        e1, k1 = self.new_entity()
219
        resource = self.rand_resource()
220
        q0, c0, il0, el0 = self.new_quota(e0, k0, resource)
221
        q1, c1, il1, el1 = self.new_quota(e1, k1, resource)
222

  
223
        most = max(0, min(c0, il0, q1, el1))
224
        print 'limits', (c0, il0, q1, el1)
225
        r = self.qh.issue_commission(clientkey=self.client, target=e0, key=k0,
226
                                     name='something',
227
                                     provisions=[(e1, resource, most)])
228
        self.assertEqual(r, 1)
229

  
230
        with self.assertRaises(CallError):
231
            self.qh.issue_commission(clientkey=self.client, target=e0, key=k0,
232
                                     name='something',
233
                                     provisions=[(e1, resource, 1)])
234

  
235

  
206 236
if __name__ == "__main__":
207 237
    import sys
208 238
    printf("Using {0}", sys.executable)

Also available in: Unified diff