turn off server verification in testapiserver
[tests.git] / system / TestUser.py
1 # Thierry Parmentelat <thierry.parmentelat@inria.fr>
2 # Copyright (C) 2010 INRIA 
3 #
4 import os, sys, time
5
6 import utils
7
8 class TestUser:
9
10     def __init__ (self, test_plc, test_site, user_spec):
11         self.test_plc = test_plc
12         self.test_site = test_site
13         self.user_spec = user_spec
14
15     def name(self):
16         return self.user_spec['user_fields']['email']
17
18     def auth (self):
19         person = self.user_spec['user_fields']
20         return {'Username'   : person['email'],
21                 'AuthMethod' : 'password',
22                 'AuthString' : person['password'],
23                 'Role'       : self.user_spec['roles'][0],
24                 }
25
26     def create_user (self):
27         user_spec = self.user_spec
28         fields = user_spec['user_fields']
29         auth = self.test_plc.auth_root()
30         utils.header('Adding user {} - roles {}'.format(fields['email'], user_spec['roles']))
31         self.test_plc.apiserver.AddPerson(auth, fields)
32         self.test_plc.apiserver.UpdatePerson(auth, fields['email'], {'enabled': True})
33         for role in user_spec['roles']:
34             self.test_plc.apiserver.AddRoleToPerson(auth,role,fields['email'])
35         self.test_plc.apiserver.AddPersonToSite(auth,
36                                                 self.name(),
37                                                 self.test_site.name())
38
39     def delete_user(self):
40         auth = self.test_plc.auth_root()
41         self.test_plc.apiserver.DeletePerson(auth,self.name())
42
43     def add_keys (self):
44         user_spec = self.user_spec
45         for key_name in user_spec['key_names']:
46             key_spec = self.test_plc.locate_key(key_name)
47             auth = self.auth()
48             self.test_plc.apiserver.AddPersonKey(auth,self.name(), key_spec['key_fields'])