server/test/unittest_querier.py
changeset 9984 793377697c81
parent 9850 5ef9dd383ae2
parent 9981 7099bbd685aa
child 9990 c84ad981fc4a
equal deleted inserted replaced
9979:9ccdb3751fbe 9984:793377697c81
   174             rql, solutions = partrqls[1]
   174             rql, solutions = partrqls[1]
   175             self.assertRQLEqual(rql,  'Any ETN,X WHERE X is ET, ET name ETN, ET is CWEType, '
   175             self.assertRQLEqual(rql,  'Any ETN,X WHERE X is ET, ET name ETN, ET is CWEType, '
   176                                 'X is IN(BaseTransition, Bookmark, CWAttribute, CWCache, CWConstraint, '
   176                                 'X is IN(BaseTransition, Bookmark, CWAttribute, CWCache, CWConstraint, '
   177                                 '        CWConstraintType, CWEType, CWGroup, CWPermission, CWProperty, CWRType, '
   177                                 '        CWConstraintType, CWEType, CWGroup, CWPermission, CWProperty, CWRType, '
   178                                 '        CWRelation, CWSource, CWUniqueTogetherConstraint, CWUser, Card, Comment, '
   178                                 '        CWRelation, CWSource, CWUniqueTogetherConstraint, CWUser, Card, Comment, '
   179                                 '        Division, Email, EmailPart, EmailThread, ExternalUri, File, Folder, Note, '
   179                                 '        Division, Email, EmailPart, EmailThread, ExternalUri, File, Folder, Frozable, '
   180                                 '        Old, Personne, RQLExpression, Societe, State, SubDivision, '
   180                                 '        Note, Old, Personne, RQLExpression, Societe, State, SubDivision, '
   181                                 '        SubWorkflowExitPoint, Tag, TrInfo, Transition, Workflow, WorkflowTransition)')
   181                                 '        SubWorkflowExitPoint, Tag, TrInfo, Transition, Workflow, WorkflowTransition)')
   182             self.assertListEqual(sorted(solutions),
   182             self.assertListEqual(sorted(solutions),
   183                                   sorted([{'X': 'BaseTransition', 'ETN': 'String', 'ET': 'CWEType'},
   183                                   sorted([{'X': 'BaseTransition', 'ETN': 'String', 'ET': 'CWEType'},
   184                                           {'X': 'Bookmark', 'ETN': 'String', 'ET': 'CWEType'},
   184                                           {'X': 'Bookmark', 'ETN': 'String', 'ET': 'CWEType'},
   185                                           {'X': 'Card', 'ETN': 'String', 'ET': 'CWEType'},
   185                                           {'X': 'Card', 'ETN': 'String', 'ET': 'CWEType'},
   202                                           {'X': 'EmailPart', 'ETN': 'String', 'ET': 'CWEType'},
   202                                           {'X': 'EmailPart', 'ETN': 'String', 'ET': 'CWEType'},
   203                                           {'X': 'EmailThread', 'ETN': 'String', 'ET': 'CWEType'},
   203                                           {'X': 'EmailThread', 'ETN': 'String', 'ET': 'CWEType'},
   204                                           {'X': 'ExternalUri', 'ETN': 'String', 'ET': 'CWEType'},
   204                                           {'X': 'ExternalUri', 'ETN': 'String', 'ET': 'CWEType'},
   205                                           {'X': 'File', 'ETN': 'String', 'ET': 'CWEType'},
   205                                           {'X': 'File', 'ETN': 'String', 'ET': 'CWEType'},
   206                                           {'X': 'Folder', 'ETN': 'String', 'ET': 'CWEType'},
   206                                           {'X': 'Folder', 'ETN': 'String', 'ET': 'CWEType'},
       
   207                                           {'X': 'Frozable', 'ETN': 'String', 'ET': 'CWEType'},
   207                                           {'X': 'Note', 'ETN': 'String', 'ET': 'CWEType'},
   208                                           {'X': 'Note', 'ETN': 'String', 'ET': 'CWEType'},
   208                                           {'X': 'Old', 'ETN': 'String', 'ET': 'CWEType'},
   209                                           {'X': 'Old', 'ETN': 'String', 'ET': 'CWEType'},
   209                                           {'X': 'Personne', 'ETN': 'String', 'ET': 'CWEType'},
   210                                           {'X': 'Personne', 'ETN': 'String', 'ET': 'CWEType'},
   210                                           {'X': 'RQLExpression', 'ETN': 'String', 'ET': 'CWEType'},
   211                                           {'X': 'RQLExpression', 'ETN': 'String', 'ET': 'CWEType'},
   211                                           {'X': 'Societe', 'ETN': 'String', 'ET': 'CWEType'},
   212                                           {'X': 'Societe', 'ETN': 'String', 'ET': 'CWEType'},
   602                             'WHERE RT name N, RDEF relation_type RT '
   603                             'WHERE RT name N, RDEF relation_type RT '
   603                             'HAVING COUNT(RDEF) > 10')
   604                             'HAVING COUNT(RDEF) > 10')
   604         self.assertListEqual(rset.rows,
   605         self.assertListEqual(rset.rows,
   605                               [[u'description_format', 12],
   606                               [[u'description_format', 12],
   606                                [u'description', 13],
   607                                [u'description', 13],
   607                                [u'name', 17],
   608                                [u'name', 18],
   608                                [u'created_by', 43],
   609                                [u'created_by', 44],
   609                                [u'creation_date', 43],
   610                                [u'creation_date', 44],
   610                                [u'cw_source', 43],
   611                                [u'cw_source', 44],
   611                                [u'cwuri', 43],
   612                                [u'cwuri', 44],
   612                                [u'in_basket', 43],
   613                                [u'in_basket', 44],
   613                                [u'is', 43],
   614                                [u'is', 44],
   614                                [u'is_instance_of', 43],
   615                                [u'is_instance_of', 44],
   615                                [u'modification_date', 43],
   616                                [u'modification_date', 44],
   616                                [u'owned_by', 43]])
   617                                [u'owned_by', 44]])
   617 
   618 
   618     def test_select_aggregat_having_dumb(self):
   619     def test_select_aggregat_having_dumb(self):
   619         # dumb but should not raise an error
   620         # dumb but should not raise an error
   620         rset = self.qexecute('Any U,COUNT(X) GROUPBY U '
   621         rset = self.qexecute('Any U,COUNT(X) GROUPBY U '
   621                             'WHERE U eid %(x)s, X owned_by U '
   622                             'WHERE U eid %(x)s, X owned_by U '