clear rest_path __unique cache in clear_all_caches, fix related test
authorSylvain Thénault <sylvain.thenault@logilab.fr>
Fri, 05 Feb 2010 08:11:32 +0100
changeset 4460 5c22869079b9
parent 4459 f628abfb3a6c
child 4461 a35c76ffed92
clear rest_path __unique cache in clear_all_caches, fix related test
entity.py
test/unittest_entity.py
--- a/entity.py	Fri Feb 05 07:25:16 2010 +0100
+++ b/entity.py	Fri Feb 05 08:11:32 2010 +0100
@@ -785,7 +785,12 @@
         # clear relations cache
         for rschema, _, role in self.e_schema.relation_definitions():
             self.clear_related_cache(rschema.type, role)
-
+        # rest path unique cache
+        try:
+            del self.__unique
+        except AttributeError:
+            pass
+    
     # raw edition utilities ###################################################
 
     def set_attributes(self, _cw_unsafe=False, **kwargs):
--- a/test/unittest_entity.py	Fri Feb 05 07:25:16 2010 +0100
+++ b/test/unittest_entity.py	Fri Feb 05 08:11:32 2010 +0100
@@ -458,6 +458,7 @@
         self.assertEquals(person.rest_path(), 'personne/doe')
         # ambiguity test
         person2 = req.create_entity('Personne', prenom=u'remi', nom=u'doe')
+        person.clear_all_caches()
         self.assertEquals(person.rest_path(), 'personne/eid/%s' % person.eid)
         self.assertEquals(person2.rest_path(), 'personne/eid/%s' % person2.eid)
         # unique attr with None value (wikiid in this case)