diff -r 30de0be8f895 -r a176e68b7d0d server/test/unittest_querier.py --- a/server/test/unittest_querier.py Tue Sep 07 17:34:42 2010 +0200 +++ b/server/test/unittest_querier.py Mon Sep 13 15:15:21 2010 +0200 @@ -16,7 +16,7 @@ # # You should have received a copy of the GNU Lesser General Public License along # with CubicWeb. If not, see . -"""unit tests for modules cubicweb.server.querier and cubicweb.server.querier_steps +"""unit tests for modules cubicweb.server.querier and cubicweb.server.ssplanner """ from datetime import date, datetime @@ -130,7 +130,7 @@ 'X': 'Affaire', 'ET': 'CWEType', 'ETN': 'String'}]) rql, solutions = partrqls[1] - self.assertEquals(rql, 'Any ETN,X WHERE X is ET, ET name ETN, ET is CWEType, X is IN(BaseTransition, Bookmark, CWAttribute, CWCache, CWConstraint, CWConstraintType, CWEType, CWGroup, CWPermission, CWProperty, CWRType, CWRelation, CWUser, Card, Comment, Division, Email, EmailAddress, EmailPart, EmailThread, ExternalUri, File, Folder, Note, Personne, RQLExpression, Societe, State, SubDivision, SubWorkflowExitPoint, Tag, TrInfo, Transition, Workflow, WorkflowTransition)') + self.assertEquals(rql, 'Any ETN,X WHERE X is ET, ET name ETN, ET is CWEType, X is IN(BaseTransition, Bookmark, CWAttribute, CWCache, CWConstraint, CWConstraintType, CWEType, CWGroup, CWPermission, CWProperty, CWRType, CWRelation, CWUniqueTogetherConstraint, CWUser, Card, Comment, Division, Email, EmailAddress, EmailPart, EmailThread, ExternalUri, File, Folder, Note, Personne, RQLExpression, Societe, State, SubDivision, SubWorkflowExitPoint, Tag, TrInfo, Transition, Workflow, WorkflowTransition)') self.assertListEquals(sorted(solutions), sorted([{'X': 'BaseTransition', 'ETN': 'String', 'ET': 'CWEType'}, {'X': 'Bookmark', 'ETN': 'String', 'ET': 'CWEType'}, @@ -143,15 +143,16 @@ {'X': 'CWEType', 'ETN': 'String', 'ET': 'CWEType'}, {'X': 'CWAttribute', 'ETN': 'String', 'ET': 'CWEType'}, {'X': 'CWGroup', 'ETN': 'String', 'ET': 'CWEType'}, + {'X': 'CWRelation', 'ETN': 'String', 'ET': 'CWEType'}, + {'X': 'CWPermission', 'ETN': 'String', 'ET': 'CWEType'}, + {'X': 'CWProperty', 'ETN': 'String', 'ET': 'CWEType'}, + {'X': 'CWRType', 'ETN': 'String', 'ET': 'CWEType'}, + {'X': 'CWUniqueTogetherConstraint', 'ETN': 'String', 'ET': 'CWEType'}, + {'X': 'CWUser', 'ETN': 'String', 'ET': 'CWEType'}, {'X': 'Email', 'ETN': 'String', 'ET': 'CWEType'}, {'X': 'EmailAddress', 'ETN': 'String', 'ET': 'CWEType'}, {'X': 'EmailPart', 'ETN': 'String', 'ET': 'CWEType'}, {'X': 'EmailThread', 'ETN': 'String', 'ET': 'CWEType'}, - {'X': 'CWRelation', 'ETN': 'String', 'ET': 'CWEType'}, - {'X': 'CWPermission', 'ETN': 'String', 'ET': 'CWEType'}, - {'X': 'CWProperty', 'ETN': 'String', 'ET': 'CWEType'}, - {'X': 'CWRType', 'ETN': 'String', 'ET': 'CWEType'}, - {'X': 'CWUser', 'ETN': 'String', 'ET': 'CWEType'}, {'X': 'ExternalUri', 'ETN': 'String', 'ET': 'CWEType'}, {'X': 'File', 'ETN': 'String', 'ET': 'CWEType'}, {'X': 'Folder', 'ETN': 'String', 'ET': 'CWEType'}, @@ -493,14 +494,14 @@ [[u'description_format', 12], [u'description', 13], [u'name', 14], - [u'created_by', 37], - [u'creation_date', 37], - [u'cwuri', 37], - [u'in_basket', 37], - [u'is', 37], - [u'is_instance_of', 37], - [u'modification_date', 37], - [u'owned_by', 37]]) + [u'created_by', 38], + [u'creation_date', 38], + [u'cwuri', 38], + [u'in_basket', 38], + [u'is', 38], + [u'is_instance_of', 38], + [u'modification_date', 38], + [u'owned_by', 38]]) def test_select_aggregat_having_dumb(self): # dumb but should not raise an error @@ -691,19 +692,15 @@ self.assertEqual(len(rset.rows), 1, rset.rows) def test_select_ordered_distinct_1(self): - self.execute("INSERT Affaire X: X sujet 'cool', X ref '1'") - self.execute("INSERT Affaire X: X sujet 'cool', X ref '2'") - rset = self.execute('DISTINCT Any S ORDERBY R WHERE A is Affaire, A sujet S, A ref R') - self.assertEqual(rset.rows, [['cool']]) + self.assertRaises(BadRQLQuery, + self.execute, 'DISTINCT Any S ORDERBY R WHERE A is Affaire, A sujet S, A ref R') def test_select_ordered_distinct_2(self): self.execute("INSERT Affaire X: X sujet 'minor'") - self.execute("INSERT Affaire X: X sujet 'important'") - self.execute("INSERT Affaire X: X sujet 'normal'") self.execute("INSERT Affaire X: X sujet 'zou'") self.execute("INSERT Affaire X: X sujet 'abcd'") rset = self.execute('DISTINCT Any S ORDERBY S WHERE A is Affaire, A sujet S') - self.assertEqual(rset.rows, [['abcd'], ['important'], ['minor'], ['normal'], ['zou']]) + self.assertEqual(rset.rows, [['abcd'], ['minor'], ['zou']]) def test_select_ordered_distinct_3(self): rset = self.execute('DISTINCT Any N ORDERBY GROUP_SORT_VALUE(N) WHERE X is CWGroup, X name N') @@ -1085,14 +1082,14 @@ self.commit() # fill the cache self.execute("Any X WHERE X eid %(x)s", {'x': eid}) - self.execute("Any X WHERE X eid %s" %eid) + self.execute("Any X WHERE X eid %s" % eid) self.execute("Folder X WHERE X eid %(x)s", {'x': eid}) - self.execute("Folder X WHERE X eid %s" %eid) - self.execute("DELETE Folder T WHERE T eid %s"%eid) + self.execute("Folder X WHERE X eid %s" % eid) + self.execute("DELETE Folder T WHERE T eid %s" % eid) self.commit() rset = self.execute("Any X WHERE X eid %(x)s", {'x': eid}) self.assertEquals(rset.rows, []) - rset = self.execute("Any X WHERE X eid %s" %eid) + rset = self.execute("Any X WHERE X eid %s" % eid) self.assertEquals(rset.rows, []) rset = self.execute("Folder X WHERE X eid %(x)s", {'x': eid}) self.assertEquals(rset.rows, [])