8 def __init__ (self,test_plc,test_site,user_spec):
10 self.test_site=test_site
11 self.user_spec=user_spec
14 return self.user_spec['user_fields']['email']
17 person=self.user_spec['user_fields']
18 return {'Username':person['email'],
19 'AuthMethod':'password',
20 'AuthString':person['password'],
21 'Role':self.user_spec['roles'][0],
24 def create_user (self):
25 user_spec=self.user_spec
26 fields=user_spec['user_fields']
27 auth=self.test_plc.auth_root()
28 utils.header('Adding user %s - roles %r'%(fields['email'],user_spec['roles']))
29 self.test_plc.apiserver.AddPerson(auth,fields)
30 self.test_plc.apiserver.UpdatePerson(auth,fields['email'],{'enabled': True})
31 for role in user_spec['roles']:
32 self.test_plc.apiserver.AddRoleToPerson(auth,role,fields['email'])
33 self.test_plc.apiserver.AddPersonToSite(auth,
35 self.test_site.name())
37 def delete_user(self):
38 auth=self.test_plc.auth_root()
39 self.test_plc.apiserver.DeletePerson(auth,self.name())
42 user_spec=self.user_spec
43 for keyname in user_spec['keynames']:
44 key=self.test_plc.locate_key(keyname)
46 self.test_plc.apiserver.AddPersonKey(auth,self.name(), key['key_fields'])