server/test/unittest_querier.py
changeset 47 54087a269bdd
parent 0 b97547f5f1fa
child 439 7cb7cb318983
equal deleted inserted replaced
46:0155942b5c56 47:54087a269bdd
   105                                        'J': 'Affaire',
   105                                        'J': 'Affaire',
   106                                        'X': 'Affaire',
   106                                        'X': 'Affaire',
   107                                        'ET': 'EEType', 'ETN': 'String'}])
   107                                        'ET': 'EEType', 'ETN': 'String'}])
   108         rql, solutions = partrqls[1]
   108         rql, solutions = partrqls[1]
   109         self.assertEquals(rql,  'Any ETN,X WHERE X is ET, ET name ETN, ET is EEType, '
   109         self.assertEquals(rql,  'Any ETN,X WHERE X is ET, ET name ETN, ET is EEType, '
   110                           'X is IN(Bookmark, Card, Comment, Division, EConstraint, EConstraintType, EEType, EFRDef, EGroup, ENFRDef, EPermission, EProperty, ERType, EUser, Email, EmailAddress, EmailPart, EmailThread, File, Folder, Image, Note, Personne, RQLExpression, Societe, State, SubDivision, Tag, TrInfo, Transition)')
   110                           'X is IN(Bookmark, Card, Comment, Division, ECache, EConstraint, EConstraintType, EEType, EFRDef, EGroup, ENFRDef, EPermission, EProperty, ERType, EUser, Email, EmailAddress, EmailPart, EmailThread, File, Folder, Image, Note, Personne, RQLExpression, Societe, State, SubDivision, Tag, TrInfo, Transition)')
   111         self.assertListEquals(sorted(solutions),
   111         self.assertListEquals(sorted(solutions),
   112                               sorted([{'X': 'Bookmark', 'ETN': 'String', 'ET': 'EEType'},
   112                               sorted([{'X': 'Bookmark', 'ETN': 'String', 'ET': 'EEType'},
   113                                       {'X': 'Card', 'ETN': 'String', 'ET': 'EEType'},
   113                                       {'X': 'Card', 'ETN': 'String', 'ET': 'EEType'},
   114                                       {'X': 'Comment', 'ETN': 'String', 'ET': 'EEType'},
   114                                       {'X': 'Comment', 'ETN': 'String', 'ET': 'EEType'},
   115                                       {'X': 'Division', 'ETN': 'String', 'ET': 'EEType'},
   115                                       {'X': 'Division', 'ETN': 'String', 'ET': 'EEType'},
       
   116                                       {'X': 'ECache', 'ETN': 'String', 'ET': 'EEType'},
   116                                       {'X': 'EConstraint', 'ETN': 'String', 'ET': 'EEType'},
   117                                       {'X': 'EConstraint', 'ETN': 'String', 'ET': 'EEType'},
   117                                       {'X': 'EConstraintType', 'ETN': 'String', 'ET': 'EEType'},
   118                                       {'X': 'EConstraintType', 'ETN': 'String', 'ET': 'EEType'},
   118                                       {'X': 'EEType', 'ETN': 'String', 'ET': 'EEType'},
   119                                       {'X': 'EEType', 'ETN': 'String', 'ET': 'EEType'},
   119                                       {'X': 'EFRDef', 'ETN': 'String', 'ET': 'EEType'},
   120                                       {'X': 'EFRDef', 'ETN': 'String', 'ET': 'EEType'},
   120                                       {'X': 'EGroup', 'ETN': 'String', 'ET': 'EEType'},
   121                                       {'X': 'EGroup', 'ETN': 'String', 'ET': 'EEType'},
   451     def test_select_aggregat_having(self):
   452     def test_select_aggregat_having(self):
   452         rset = self.execute('Any N,COUNT(RDEF) GROUPBY N ORDERBY 2,N '
   453         rset = self.execute('Any N,COUNT(RDEF) GROUPBY N ORDERBY 2,N '
   453                             'WHERE RT name N, RDEF relation_type RT '
   454                             'WHERE RT name N, RDEF relation_type RT '
   454                             'HAVING COUNT(RDEF) > 10')
   455                             'HAVING COUNT(RDEF) > 10')
   455         self.assertListEquals(rset.rows,
   456         self.assertListEquals(rset.rows,
   456                               [[u'description', 11], ['in_basket', 11],
   457                               [[u'description', 11], ['in_basket', 12],
   457                                [u'name', 12], [u'created_by', 32],
   458                                [u'name', 13], [u'created_by', 33],
   458                                [u'creation_date', 32], [u'is', 32], [u'is_instance_of', 32],
   459                                [u'creation_date', 33], [u'is', 33], [u'is_instance_of', 33],
   459                                [u'modification_date', 32], [u'owned_by', 32]])
   460                                [u'modification_date', 33], [u'owned_by', 33]])
   460 
   461 
   461     def test_select_aggregat_having_dumb(self):
   462     def test_select_aggregat_having_dumb(self):
   462         # dumb but should not raise an error
   463         # dumb but should not raise an error
   463         rset = self.execute('Any U,COUNT(X) GROUPBY U '
   464         rset = self.execute('Any U,COUNT(X) GROUPBY U '
   464                             'WHERE U eid %(x)s, X owned_by U '
   465                             'WHERE U eid %(x)s, X owned_by U '