1 # Thierry Parmentelat <thierry.parmentelat@inria.fr>
2 # Copyright (C) 2010 INRIA
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
16 return self.user_spec['user_fields']['email']
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],
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,
37 self.test_site.name())
39 def delete_user(self):
40 auth = self.test_plc.auth_root()
41 self.test_plc.apiserver.DeletePerson(auth,self.name())
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)
48 self.test_plc.apiserver.AddPersonKey(auth,self.name(), key_spec['key_fields'])