work around some odd bug when running runtest twice
[tests.git] / qaapi / runtests.py
1 #!/usr/bin/python
2 #
3 # Sample myplc testing script that makes use of 
4 # qaapi modules. 
5 import sys
6 from pprint import pprint
7 from qa.Config import Config
8 from qa.tests.plc_configure import plc_configure
9 from qa.tests.plc_start import plc_start
10 from qa.tests.add_test_data import add_test_data
11 from qa.tests.sync_person_key import sync_person_key
12 from qa.tests.boot_node import boot_node
13 from qa.tests.get_boot_state import get_boot_state
14 from qa.tests.node_remote_call import node_remote_call
15 from qa.tests.access_slice import access_slice
16
17 def main(args):
18     if len(args) > 0:
19         config = Config(args[0])
20     else:
21         config = Config()
22
23     node = config.TEST_NODE_HOSTNAME_1
24
25     plc_configure(config)()
26     plc_start(config)()
27
28     # Add test site, node, person and slice data
29     # Adds slice to node and person to slice 
30     config.update_api()
31     add_test_data(config)()
32
33     # Update plc with tests user's current public key
34     person = config.TEST_PERSON_EMAIL
35     sync_person_key(config)(person)
36
37     sys.exit(0)
38
39     # Boot test node and confirm boot state
40     boot_node(config)(node)
41
42     # Restart node manager on the node
43     restart_nm = 'service nm restart'   
44     node_remote_call(node, restart_nm)
45
46     # Try to access the test  slice on the test node
47     email = config.TEST_PERSON_EMAIL
48     slice = config.TEST_SLICE_NAME
49     access_slice(email, slice, node)
50
51     # Run node tests
52     node_run_tests(config)(node)
53
54 if __name__ == '__main__':
55     main(sys.argv[1:])