server/test/unittest_querier.py
branchstable
changeset 8342 7a5271182ef0
parent 8317 9c59258e7798
child 8343 6bd8db130476
--- a/server/test/unittest_querier.py	Thu Apr 05 14:44:00 2012 +0200
+++ b/server/test/unittest_querier.py	Mon Mar 26 12:11:48 2012 +0200
@@ -1,5 +1,5 @@
 # -*- coding: iso-8859-1 -*-
-# copyright 2003-2011 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
+# copyright 2003-2012 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
 # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
 #
 # This file is part of CubicWeb.
@@ -28,7 +28,7 @@
 from cubicweb.server.utils import crypt_password
 from cubicweb.server.sources.native import make_schema
 from cubicweb.devtools import get_test_db_handler, TestServerConfiguration
-
+from cubicweb.devtools.testlib import CubicWebTC
 from cubicweb.devtools.repotest import tuplify, BaseQuerierTC
 from unittest_session import Variable
 
@@ -1501,5 +1501,17 @@
         self.assertFalse(self.execute('Any X WHERE X is CWEType, X name %(name)s', {'name': None}))
         self.assertTrue(self.execute('Any X WHERE X is CWEType, X name %(name)s', {'name': 'CWEType'}))
 
+class NonRegressionTC(CubicWebTC):
+    def test_has_text_security_cache_bug(self):
+        self.create_user('user', ('users',))
+        req = self.request()
+        aff1 = req.create_entity('Societe', nom=u'aff1')
+        aff2 = req.create_entity('Societe', nom=u'aff2')
+        self.commit()
+        with self.login('user', password='user'):
+            res = self.execute('Any X WHERE X has_text %(text)s', {'text': 'aff1'})
+            self.assertEqual(res.rows, [[aff1.eid]])
+            res = self.execute('Any X WHERE X has_text %(text)s', {'text': 'aff2'})
+            self.assertEqual(res.rows, [[aff2.eid]])
 if __name__ == '__main__':
     unittest_main()