Statistics
| Branch: | Tag: | Revision:

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"