369 finally: |
369 finally: |
370 clear_cache(self.schema['EmailAddress'], 'get_groups') |
370 clear_cache(self.schema['EmailAddress'], 'get_groups') |
371 clear_cache(self.schema['EmailAddress'], 'get_rqlexprs') |
371 clear_cache(self.schema['EmailAddress'], 'get_rqlexprs') |
372 self.schema['EmailAddress'].permissions['read'] = rperms |
372 self.schema['EmailAddress'].permissions['read'] = rperms |
373 |
373 |
|
374 def test_cw_linkable_rql(self): |
|
375 with self.admin_access.web_request() as req: |
|
376 email = req.execute('INSERT EmailAddress X: X address "hop"').get_entity(0, 0) |
|
377 rql = email.cw_linkable_rql('use_email', 'CWUser', 'object')[0] |
|
378 self.assertEqual(rql, 'Any S,AA,AB,AC,AD ORDERBY AA ' |
|
379 'WHERE O eid %(x)s, S is_instance_of CWUser, ' |
|
380 'S login AA, S firstname AB, S surname AC, S modification_date AD') |
374 |
381 |
375 def test_unrelated_rql_security_nonexistant(self): |
382 def test_unrelated_rql_security_nonexistant(self): |
376 with self.new_access('anon').web_request() as req: |
383 with self.new_access('anon').web_request() as req: |
377 email = self.vreg['etypes'].etype_class('EmailAddress')(req) |
384 email = self.vreg['etypes'].etype_class('EmailAddress')(req) |
378 rql = email.cw_unrelated_rql('use_email', 'CWUser', 'object')[0] |
385 rql = email.cw_unrelated_rql('use_email', 'CWUser', 'object')[0] |