1624 self.assertEqual(rset.rows, [[peid]]) |
1624 self.assertEqual(rset.rows, [[peid]]) |
1625 rset = self.qexecute('Any X WHERE X is CWUser, X has_text "bidule", ' |
1625 rset = self.qexecute('Any X WHERE X is CWUser, X has_text "bidule", ' |
1626 'X in_state S, S name SN') |
1626 'X in_state S, S name SN') |
1627 self.assertEqual(rset.rows, [[peid]]) |
1627 self.assertEqual(rset.rows, [[peid]]) |
1628 |
1628 |
1629 |
|
1630 def test_nonregr_sql_cache(self): |
1629 def test_nonregr_sql_cache(self): |
1631 # different SQL generated when 'name' is None or not (IS NULL). |
1630 # different SQL generated when 'name' is None or not (IS NULL). |
1632 self.assertFalse(self.qexecute('Any X WHERE X is CWEType, X name %(name)s', |
1631 self.assertFalse(self.qexecute('Any X WHERE X is CWEType, X name %(name)s', |
1633 {'name': None})) |
1632 {'name': None})) |
1634 self.assertTrue(self.qexecute('Any X WHERE X is CWEType, X name %(name)s', |
1633 self.assertTrue(self.qexecute('Any X WHERE X is CWEType, X name %(name)s', |
1635 {'name': 'CWEType'})) |
1634 {'name': 'CWEType'})) |
|
1635 |
|
1636 def test_variables_in_rset_for_select(self): |
|
1637 rset = self.qexecute('Any X WHERE X is CWUser, X eid %(x)s', {'x': self.ueid}) |
|
1638 self.assertEqual(rset.variables, ['X']) |
|
1639 |
|
1640 def test_only_selected_variables_in_rset(self): |
|
1641 rset = self.qexecute('Any X,Y WHERE X is Personne, Y is Personne, ' |
|
1642 'X nom XD, Y nom XD, X eid Z, Y eid > Z') |
|
1643 # Z is not selected |
|
1644 self.assertEqual(rset.variables, ['X', 'Y']) |
|
1645 |
|
1646 def test_no_variables_in_rset(self): |
|
1647 rset = self.qexecute('Any COUNT(X) WHERE X is CWUser') |
|
1648 self.assertEqual(rset.variables, ['COUNT(X)']) |
|
1649 |
|
1650 def test_mixed_projection_in_rset(self): |
|
1651 rset = self.qexecute('Any X,COUNT(X) WHERE X is CWUser') |
|
1652 self.assertEqual(rset.variables, ['X', 'COUNT(X)']) |
1636 |
1653 |
1637 |
1654 |
1638 class NonRegressionTC(CubicWebTC): |
1655 class NonRegressionTC(CubicWebTC): |
1639 |
1656 |
1640 def test_has_text_security_cache_bug(self): |
1657 def test_has_text_security_cache_bug(self): |