open up traffic to qemu nodes + miscell
[tests.git] / system / TestSite.py
1 import os.path
2 import datetime
3 import time
4 import traceback
5
6 import utils
7 from TestNode import TestNode
8 from TestUser import TestUser
9 from TestKey import TestKey
10
11 class TestSite:
12
13     def __init__ (self,test_plc,site_spec):
14         self.test_plc=test_plc
15         self.site_spec=site_spec
16         
17     def name(self):
18         return self.site_spec['site_fields']['login_base']
19
20     def create_site (self):
21         print self.test_plc.auth_root()
22         self.test_plc.apiserver.AddSite(self.test_plc.auth_root(),
23                                                     self.site_spec['site_fields'])
24         self.test_plc.apiserver.AddSiteAddress(self.test_plc.auth_root(),self.name(),
25                                             self.site_spec['address_fields'])
26             
27     def create_users (self):
28         for user_spec in self.site_spec['users']:
29             test_user=TestUser(self.test_plc,self,user_spec)
30             test_user.create_user()
31             test_user.add_keys()            
32
33     def delete_site (self):
34         print self.test_plc.auth_root()
35         self.test_plc.apiserver.DeleteSite(self.test_plc.auth_root(),self.name())
36         return True
37             
38     def delete_users(self):
39         for user_spec in self.site_spec['users']:
40             test_user=TestUser(self.test_plc,self,user_spec)
41             test_user.delete_user()
42
43     def locate_user (self,username):
44         for user in self.site_spec['users']:
45             if user['name'] == username:
46                 return user
47             if user['user_fields']['email'] == username:
48                 return user
49         raise Exception,"Cannot locate user %s"%username
50         
51     def locate_node (self,nodename):
52         for node in self.site_spec['nodes']:
53             if node['name'] == nodename:
54                 return node
55         raise Exception,"Cannot locate node %s"%nodename
56         
57            
58