root / test / kkconfig.py @ f6d15c9b
History | View | Annotate | Download (1.7 kB)
1 | 239b068c | Christos KK Loverdos | ### IMPORTS ###
|
---|---|---|---|
2 | 239b068c | Christos KK Loverdos | # The following import is copied from snf-tools/syneffo_tools/burnin.py
|
3 | 239b068c | Christos KK Loverdos | # Thank you John Giannelos <johngian@grnet.gr>
|
4 | 239b068c | Christos KK Loverdos | # Use backported unittest functionality if Python < 2.7
|
5 | 239b068c | Christos KK Loverdos | try:
|
6 | 239b068c | Christos KK Loverdos | import unittest2 as unittest |
7 | 239b068c | Christos KK Loverdos | except ImportError: |
8 | 239b068c | Christos KK Loverdos | import sys |
9 | 239b068c | Christos KK Loverdos | if sys.version_info < (2, 7): |
10 | 239b068c | Christos KK Loverdos | raise Exception("The unittest2 package is required for Python < 2.7") |
11 | 239b068c | Christos KK Loverdos | del sys
|
12 | 239b068c | Christos KK Loverdos | import unittest |
13 | 239b068c | Christos KK Loverdos | |
14 | 239b068c | Christos KK Loverdos | from commissioning.clients.http import HTTP_API_Client |
15 | 239b068c | Christos KK Loverdos | from commissioning import QuotaholderAPI |
16 | f611ef3d | Prodromos Gerakios | import random |
17 | 239b068c | Christos KK Loverdos | |
18 | 239b068c | Christos KK Loverdos | ### DEFS ###
|
19 | 239b068c | Christos KK Loverdos | def new_quota_holder_client(): |
20 | 239b068c | Christos KK Loverdos | """
|
21 | 239b068c | Christos KK Loverdos | Create a new quota holder api client
|
22 | 239b068c | Christos KK Loverdos | """
|
23 | 239b068c | Christos KK Loverdos | class QuotaholderHTTP(HTTP_API_Client): |
24 | 239b068c | Christos KK Loverdos | api_spec = QuotaholderAPI() |
25 | 239b068c | Christos KK Loverdos | |
26 | 239b068c | Christos KK Loverdos | global QH_URL
|
27 | 239b068c | Christos KK Loverdos | return QuotaholderHTTP(QH_URL)
|
28 | 239b068c | Christos KK Loverdos | |
29 | f6d15c9b | Christos KK Loverdos | def run_test_case(test_case): |
30 | f6d15c9b | Christos KK Loverdos | """
|
31 | f6d15c9b | Christos KK Loverdos | Runs the test_case and returns the result
|
32 | f6d15c9b | Christos KK Loverdos | """
|
33 | f6d15c9b | Christos KK Loverdos | # Again from snf-tools/synnefo_tools/burnin.py
|
34 | f6d15c9b | Christos KK Loverdos | # Thank you John Giannelos <johngian@grnet.gr>
|
35 | f6d15c9b | Christos KK Loverdos | print("Running {0}".format(test_case))
|
36 | f6d15c9b | Christos KK Loverdos | import sys |
37 | f6d15c9b | Christos KK Loverdos | suite = unittest.TestLoader().loadTestsFromTestCase(test_case) |
38 | f6d15c9b | Christos KK Loverdos | runner = unittest.TextTestRunner(stream = sys.stderr, verbosity = 2, failfast = True, buffer = False) |
39 | f6d15c9b | Christos KK Loverdos | return runner.run(suite)
|
40 | f6d15c9b | Christos KK Loverdos | |
41 | f6d15c9b | Christos KK Loverdos | def run_test_cases(test_cases): |
42 | f6d15c9b | Christos KK Loverdos | for test_case in test_cases: |
43 | f6d15c9b | Christos KK Loverdos | run_test_case(test_case) |
44 | f6d15c9b | Christos KK Loverdos | |
45 | f611ef3d | Prodromos Gerakios | def rand_string(): |
46 | f611ef3d | Prodromos Gerakios | alphabet = 'abcdefghijklmnopqrstuvwxyz'
|
47 | f611ef3d | Prodromos Gerakios | min = 5
|
48 | f611ef3d | Prodromos Gerakios | max = 15
|
49 | f611ef3d | Prodromos Gerakios | string=''
|
50 | f611ef3d | Prodromos Gerakios | for x in random.sample(alphabet,random.randint(min,max)): |
51 | f611ef3d | Prodromos Gerakios | string += x |
52 | f611ef3d | Prodromos Gerakios | return string
|
53 | f611ef3d | Prodromos Gerakios | |
54 | b9ec4de7 | Christos KK Loverdos | ### CLASSES ###
|
55 | b9ec4de7 | Christos KK Loverdos | class QHTestCase(unittest.TestCase): |
56 | b9ec4de7 | Christos KK Loverdos | def setUp(self): |
57 | b9ec4de7 | Christos KK Loverdos | self.qh = new_quota_holder_client()
|
58 | b9ec4de7 | Christos KK Loverdos | |
59 | b9ec4de7 | Christos KK Loverdos | def tearDown(self): |
60 | b9ec4de7 | Christos KK Loverdos | del self.qh |
61 | b9ec4de7 | Christos KK Loverdos | |
62 | b9ec4de7 | Christos KK Loverdos | |
63 | 239b068c | Christos KK Loverdos | ### VARS ###
|
64 | 239b068c | Christos KK Loverdos | QH_URL = "http://localhost:8008/api/quotaholder/v" |