hooks/test/unittest_syncschema.py
branchstable
changeset 4826 7eba168407c3
parent 4691 ae468fae9965
child 4829 3b79a0fc91db
child 4840 c02a340cd1da
equal deleted inserted replaced
4825:cdd979ae1b57 4826:7eba168407c3
   269         self.failUnless('Transition' in self.schema['messageid'].subjects())
   269         self.failUnless('Transition' in self.schema['messageid'].subjects())
   270         self.failUnless('WorkflowTransition' in self.schema['messageid'].subjects())
   270         self.failUnless('WorkflowTransition' in self.schema['messageid'].subjects())
   271         self.execute('Any X WHERE X is_instance_of BaseTransition, X messageid "hop"')
   271         self.execute('Any X WHERE X is_instance_of BaseTransition, X messageid "hop"')
   272 
   272 
   273     def test_change_fulltextindexed(self):
   273     def test_change_fulltextindexed(self):
   274         target = self.request().create_entity(u'EmailAddress', address=u'rick.roll@dance.com')
   274         req = self.request()
       
   275         target = req.create_entity(u'Email', messageid=u'1234',
       
   276                                    subject=u'rick.roll@dance.com')
       
   277         self.commit()
       
   278         rset = req.execute('Any X WHERE X has_text "rick.roll"')
       
   279         self.assertIn(target.eid, [item[0] for item in rset])
       
   280         assert req.execute('SET A fulltextindexed FALSE '
       
   281                             'WHERE E is CWEType, E name "Email", A is CWAttribute,'
       
   282                             'A from_entity E, A relation_type R, R name "subject"')
       
   283         self.commit()
       
   284         rset = req.execute('Any X Where X has_text "rick.roll"')
       
   285         self.failIf(rset)
       
   286         assert req.execute('SET A fulltextindexed TRUE '
       
   287                            'WHERE A from_entity E, A relation_type R, '
       
   288                            'E name "Email", R name "subject"')
       
   289         self.commit()
       
   290         rset = req.execute('Any X WHERE X has_text "rick.roll"')
       
   291         self.assertIn(target.eid, [item[0] for item in rset])
       
   292 
       
   293     def test_change_fulltext_container(self):
       
   294         req = self.request()
       
   295         target = req.create_entity(u'EmailAddress', address=u'rick.roll@dance.com')
       
   296         target.set_relations(reverse_use_email=req.user)
       
   297         self.commit()
       
   298         rset = req.execute('Any X WHERE X has_text "rick.roll"')
       
   299         self.assertIn(req.user.eid, [item[0] for item in rset])
       
   300         assert self.execute('SET R fulltext_container NULL '
       
   301                             'WHERE R name "use_email"')
   275         self.commit()
   302         self.commit()
   276         rset = self.execute('Any X Where X has_text "rick.roll"')
   303         rset = self.execute('Any X Where X has_text "rick.roll"')
   277         self.assertIn(target.eid, [item[0] for item in rset])
   304         self.assertIn(target.eid, [item[0] for item in rset])
   278 
   305         assert self.execute('SET R fulltext_container "subject" '
   279         assert self.execute('''SET A fulltextindexed False
   306                             'WHERE R name "use_email"')
   280                         WHERE E is CWEType,
   307         self.commit()
   281                               E name "EmailAddress",
   308         rset = req.execute('Any X WHERE X has_text "rick.roll"')
   282                               A is CWAttribute,
   309         self.assertIn(req.user.eid, [item[0] for item in rset])
   283                               A from_entity E,
   310 
   284                               A relation_type R,
       
   285                               R name "address"
       
   286                     ''')
       
   287         self.commit()
       
   288         rset = self.execute('Any X Where X has_text "rick.roll"')
       
   289         self.assertNotIn(target.eid, [item[0] for item in rset])
       
   290