49 |
49 |
50 |
50 |
51 class SQLUtilsTC(CubicWebTC): |
51 class SQLUtilsTC(CubicWebTC): |
52 |
52 |
53 def test_group_concat(self): |
53 def test_group_concat(self): |
54 req = self.request() |
54 with self.admin_access.repo_cnx() as cnx: |
55 g = req.create_entity('CWGroup', name=u'héhé') |
55 g = cnx.create_entity('CWGroup', name=u'héhé') |
56 u = req.create_entity('CWUser', login=u'toto', upassword=u'', |
56 u = cnx.create_entity('CWUser', login=u'toto', upassword=u'', |
57 in_group=g.eid) |
57 in_group=g.eid) |
58 rset = self.execute(u'Any L,GROUP_CONCAT(G) GROUPBY L WHERE X login L,' |
58 rset = cnx.execute(u'Any L,GROUP_CONCAT(G) GROUPBY L WHERE X login L,' |
59 u'X in_group G, G name GN, NOT G name IN ("users", "héhé")') |
59 u'X in_group G, G name GN, NOT G name IN ("users", "héhé")') |
60 self.assertEqual([[u'admin', u'3'], [u'anon', u'2']], |
60 self.assertEqual([[u'admin', u'3'], [u'anon', u'2']], |
61 rset.rows) |
61 rset.rows) |
62 rset = self.execute('Any L,GROUP_CONCAT(GN) GROUPBY L WHERE X login L,' |
62 rset = cnx.execute('Any L,GROUP_CONCAT(GN) GROUPBY L WHERE X login L,' |
63 'X in_group G, G name GN, NOT G name "users"') |
63 'X in_group G, G name GN, NOT G name "users"') |
64 self.assertEqual([[u'admin', u'managers'], [u'anon', u'guests'], [u'toto', u'héhé']], |
64 self.assertEqual([[u'admin', u'managers'], [u'anon', u'guests'], [u'toto', u'héhé']], |
65 rset.rows) |
65 rset.rows) |
66 |
66 |
67 if __name__ == '__main__': |
67 if __name__ == '__main__': |
68 unittest_main() |
68 unittest_main() |