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