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