test/unittest_entity.py
changeset 10354 635cfac73d28
parent 10136 c33dcd18e0bb
child 10467 73ea636a5562
equal deleted inserted replaced
10353:d9a1e7939ee6 10354:635cfac73d28
   138 
   138 
   139     def test_related_cache_both(self):
   139     def test_related_cache_both(self):
   140         with self.admin_access.web_request() as req:
   140         with self.admin_access.web_request() as req:
   141             user = req.execute('Any X WHERE X eid %(x)s', {'x':req.user.eid}).get_entity(0, 0)
   141             user = req.execute('Any X WHERE X eid %(x)s', {'x':req.user.eid}).get_entity(0, 0)
   142             adeleid = req.execute('INSERT EmailAddress X: X address "toto@logilab.org", U use_email X WHERE U login "admin"')[0][0]
   142             adeleid = req.execute('INSERT EmailAddress X: X address "toto@logilab.org", U use_email X WHERE U login "admin"')[0][0]
       
   143             self.assertEqual({}, user._cw_related_cache)
   143             req.cnx.commit()
   144             req.cnx.commit()
   144             self.assertEqual(user._cw_related_cache, {})
   145             self.assertEqual(['primary_email_subject', 'use_email_subject', 'wf_info_for_object'],
       
   146                              sorted(user._cw_related_cache))
   145             email = user.primary_email[0]
   147             email = user.primary_email[0]
   146             self.assertEqual(sorted(user._cw_related_cache), ['primary_email_subject'])
   148             self.assertEqual(u'toto@logilab.org', email.address)
   147             self.assertEqual(list(email._cw_related_cache), ['primary_email_object'])
   149             self.assertEqual(['created_by_subject',
       
   150                               'cw_source_subject',
       
   151                               'is_instance_of_subject',
       
   152                               'is_subject',
       
   153                               'owned_by_subject',
       
   154                               'prefered_form_object',
       
   155                               'prefered_form_subject',
       
   156                               'primary_email_object',
       
   157                               'use_email_object'],
       
   158                              sorted(email._cw_related_cache))
       
   159             self.assertEqual('admin', email._cw_related_cache['primary_email_object'][1][0].login)
   148             groups = user.in_group
   160             groups = user.in_group
   149             self.assertEqual(sorted(user._cw_related_cache), ['in_group_subject', 'primary_email_subject'])
       
   150             for group in groups:
   161             for group in groups:
   151                 self.assertNotIn('in_group_subject', group._cw_related_cache)
   162                 self.assertNotIn('in_group_subject', group._cw_related_cache)
   152             user.cw_clear_all_caches()
   163             user.cw_clear_all_caches()
   153             user.related('in_group', entities=True)
   164             user.related('in_group', entities=True)
   154             self.assertIn('in_group_subject', user._cw_related_cache)
   165             self.assertIn('in_group_subject', user._cw_related_cache)