server/test/unittest_querier.py
changeset 9990 c84ad981fc4a
parent 9956 19a683a0047c
parent 9984 793377697c81
child 10354 635cfac73d28
child 10403 fe614ec1688c
equal deleted inserted replaced
9974:b240b33c7125 9990:c84ad981fc4a
   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, CWComputedRType, '
   176                                 'X is IN(BaseTransition, Bookmark, CWAttribute, CWCache, CWComputedRType, '
   177                                 '        CWConstraint, CWConstraintType, CWEType, CWGroup, CWPermission, CWProperty, '
   177                                 '        CWConstraint, CWConstraintType, CWEType, CWGroup, CWPermission, CWProperty, '
   178                                 '        CWRType, CWRelation, CWSource, CWUniqueTogetherConstraint, CWUser, Card, '
   178                                 '        CWRType, CWRelation, CWSource, CWUniqueTogetherConstraint, CWUser, Card, '
   179                                 '        Comment, Division, Email, EmailPart, EmailThread, ExternalUri, File, '
   179                                 '        Comment, Division, Email, EmailPart, EmailThread, ExternalUri, File, Folder, '
   180                                 '        Folder, Note, Old, Personne, RQLExpression, Societe, State, SubDivision, '
   180                                 '        Frozable, 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'},
   203                                           {'X': 'EmailPart', 'ETN': 'String', 'ET': 'CWEType'},
   203                                           {'X': 'EmailPart', 'ETN': 'String', 'ET': 'CWEType'},
   204                                           {'X': 'EmailThread', 'ETN': 'String', 'ET': 'CWEType'},
   204                                           {'X': 'EmailThread', 'ETN': 'String', 'ET': 'CWEType'},
   205                                           {'X': 'ExternalUri', 'ETN': 'String', 'ET': 'CWEType'},
   205                                           {'X': 'ExternalUri', 'ETN': 'String', 'ET': 'CWEType'},
   206                                           {'X': 'File', 'ETN': 'String', 'ET': 'CWEType'},
   206                                           {'X': 'File', 'ETN': 'String', 'ET': 'CWEType'},
   207                                           {'X': 'Folder', 'ETN': 'String', 'ET': 'CWEType'},
   207                                           {'X': 'Folder', 'ETN': 'String', 'ET': 'CWEType'},
       
   208                                           {'X': 'Frozable', 'ETN': 'String', 'ET': 'CWEType'},
   208                                           {'X': 'Note', 'ETN': 'String', 'ET': 'CWEType'},
   209                                           {'X': 'Note', 'ETN': 'String', 'ET': 'CWEType'},
   209                                           {'X': 'Old', 'ETN': 'String', 'ET': 'CWEType'},
   210                                           {'X': 'Old', 'ETN': 'String', 'ET': 'CWEType'},
   210                                           {'X': 'Personne', 'ETN': 'String', 'ET': 'CWEType'},
   211                                           {'X': 'Personne', 'ETN': 'String', 'ET': 'CWEType'},
   211                                           {'X': 'RQLExpression', 'ETN': 'String', 'ET': 'CWEType'},
   212                                           {'X': 'RQLExpression', 'ETN': 'String', 'ET': 'CWEType'},
   212                                           {'X': 'Societe', 'ETN': 'String', 'ET': 'CWEType'},
   213                                           {'X': 'Societe', 'ETN': 'String', 'ET': 'CWEType'},
   603                             'WHERE RT name N, RDEF relation_type RT '
   604                             'WHERE RT name N, RDEF relation_type RT '
   604                             'HAVING COUNT(RDEF) > 10')
   605                             'HAVING COUNT(RDEF) > 10')
   605         self.assertListEqual(rset.rows,
   606         self.assertListEqual(rset.rows,
   606                               [[u'description_format', 13],
   607                               [[u'description_format', 13],
   607                                [u'description', 14],
   608                                [u'description', 14],
   608                                [u'name', 18],
   609                                [u'name', 19],
   609                                [u'created_by', 44],
   610                                [u'created_by', 45],
   610                                [u'creation_date', 44],
   611                                [u'creation_date', 45],
   611                                [u'cw_source', 44],
   612                                [u'cw_source', 45],
   612                                [u'cwuri', 44],
   613                                [u'cwuri', 45],
   613                                [u'in_basket', 44],
   614                                [u'in_basket', 45],
   614                                [u'is', 44],
   615                                [u'is', 45],
   615                                [u'is_instance_of', 44],
   616                                [u'is_instance_of', 45],
   616                                [u'modification_date', 44],
   617                                [u'modification_date', 45],
   617                                [u'owned_by', 44]])
   618                                [u'owned_by', 45]])
   618 
   619 
   619     def test_select_aggregat_having_dumb(self):
   620     def test_select_aggregat_having_dumb(self):
   620         # dumb but should not raise an error
   621         # dumb but should not raise an error
   621         rset = self.qexecute('Any U,COUNT(X) GROUPBY U '
   622         rset = self.qexecute('Any U,COUNT(X) GROUPBY U '
   622                             'WHERE U eid %(x)s, X owned_by U '
   623                             'WHERE U eid %(x)s, X owned_by U '