server/test/unittest_msplanner.py
branchstable
changeset 9981 7099bbd685aa
parent 9206 bf642b50135b
equal deleted inserted replaced
9980:91fbd3111828 9981:7099bbd685aa
    68                      {'X': 'CWSource'}, {'X': 'CWSourceHostConfig'}, {'X': 'CWSourceSchemaConfig'},
    68                      {'X': 'CWSource'}, {'X': 'CWSourceHostConfig'}, {'X': 'CWSourceSchemaConfig'},
    69                      {'X': 'CWUser'}, {'X': 'CWUniqueTogetherConstraint'},
    69                      {'X': 'CWUser'}, {'X': 'CWUniqueTogetherConstraint'},
    70                      {'X': 'Card'}, {'X': 'Comment'}, {'X': 'Division'},
    70                      {'X': 'Card'}, {'X': 'Comment'}, {'X': 'Division'},
    71                      {'X': 'Email'}, {'X': 'EmailAddress'}, {'X': 'EmailPart'},
    71                      {'X': 'Email'}, {'X': 'EmailAddress'}, {'X': 'EmailPart'},
    72                      {'X': 'EmailThread'}, {'X': 'ExternalUri'}, {'X': 'File'},
    72                      {'X': 'EmailThread'}, {'X': 'ExternalUri'}, {'X': 'File'},
    73                      {'X': 'Folder'}, {'X': 'Note'}, {'X': 'Old'},
    73                      {'X': 'Folder'}, {'X': 'Frozable'}, {'X': 'Note'}, {'X': 'Old'},
    74                      {'X': 'Personne'}, {'X': 'RQLExpression'}, {'X': 'Societe'},
    74                      {'X': 'Personne'}, {'X': 'RQLExpression'}, {'X': 'Societe'},
    75                      {'X': 'State'}, {'X': 'SubDivision'}, {'X': 'SubWorkflowExitPoint'},
    75                      {'X': 'State'}, {'X': 'SubDivision'}, {'X': 'SubWorkflowExitPoint'},
    76                      {'X': 'Tag'}, {'X': 'TrInfo'}, {'X': 'Transition'},
    76                      {'X': 'Tag'}, {'X': 'TrInfo'}, {'X': 'Transition'},
    77                      {'X': 'Workflow'}, {'X': 'WorkflowTransition'}])
    77                      {'X': 'Workflow'}, {'X': 'WorkflowTransition'}])
    78 
    78 
   900         ueid = self.session.user.eid
   900         ueid = self.session.user.eid
   901         ALL_SOLS = X_ALL_SOLS[:]
   901         ALL_SOLS = X_ALL_SOLS[:]
   902         ALL_SOLS.remove({'X': 'CWSourceHostConfig'}) # not authorized
   902         ALL_SOLS.remove({'X': 'CWSourceHostConfig'}) # not authorized
   903         ALL_SOLS.remove({'X': 'CWSourceSchemaConfig'}) # not authorized
   903         ALL_SOLS.remove({'X': 'CWSourceSchemaConfig'}) # not authorized
   904         ALL_SOLS.remove({'X': 'CWDataImport'}) # not authorized
   904         ALL_SOLS.remove({'X': 'CWDataImport'}) # not authorized
       
   905         ALL_SOLS.remove({'X': 'Frozable'}) # not authorized
   905         self._test('Any MAX(X)',
   906         self._test('Any MAX(X)',
   906                    [('FetchStep', [('Any E WHERE E type "X", E is Note', [{'E': 'Note'}])],
   907                    [('FetchStep', [('Any E WHERE E type "X", E is Note', [{'E': 'Note'}])],
   907                      [self.cards, self.system],  None, {'E': 'table1.C0'}, []),
   908                      [self.cards, self.system],  None, {'E': 'table1.C0'}, []),
   908                     ('FetchStep', [('Any X WHERE X is IN(CWUser)', [{'X': 'CWUser'}])],
   909                     ('FetchStep', [('Any X WHERE X is IN(CWUser)', [{'X': 'CWUser'}])],
   909                      [self.ldap, self.system], None, {'X': 'table2.C0'}, []),
   910                      [self.ldap, self.system], None, {'X': 'table2.C0'}, []),
   957         # use a guest user
   958         # use a guest user
   958         self.session = self.user_groups_session('guests')
   959         self.session = self.user_groups_session('guests')
   959         ueid = self.session.user.eid
   960         ueid = self.session.user.eid
   960         X_ET_ALL_SOLS = []
   961         X_ET_ALL_SOLS = []
   961         for s in X_ALL_SOLS:
   962         for s in X_ALL_SOLS:
   962             if s in ({'X': 'CWSourceHostConfig'}, {'X': 'CWSourceSchemaConfig'}, {'X': 'CWDataImport'}):
   963             if s in ({'X': 'CWSourceHostConfig'}, {'X': 'CWSourceSchemaConfig'},
       
   964                      {'X': 'CWDataImport'}, {'X': 'Frozable'}):
   963                 continue # not authorized
   965                 continue # not authorized
   964             ets = {'ET': 'CWEType'}
   966             ets = {'ET': 'CWEType'}
   965             ets.update(s)
   967             ets.update(s)
   966             X_ET_ALL_SOLS.append(ets)
   968             X_ET_ALL_SOLS.append(ets)
   967         self._test('Any ET, COUNT(X) GROUPBY ET ORDERBY ET WHERE X is ET',
   969         self._test('Any ET, COUNT(X) GROUPBY ET ORDERBY ET WHERE X is ET',
  2674                                     [{'X': 'Note'}, {'X': 'State'}, {'X': 'Card'}])],
  2676                                     [{'X': 'Note'}, {'X': 'State'}, {'X': 'Card'}])],
  2675                      [self.cards, self.cards2, self.system],
  2677                      [self.cards, self.cards2, self.system],
  2676                      None, {'X': 'table0.C0'}, []),
  2678                      None, {'X': 'table0.C0'}, []),
  2677                     ('UnionStep', None, None,
  2679                     ('UnionStep', None, None,
  2678                      [('OneFetchStep',
  2680                      [('OneFetchStep',
  2679                        [(u'Any X WHERE X owned_by U, U login "anon", U is CWUser, X is IN(Affaire, BaseTransition, Basket, Bookmark, CWAttribute, CWCache, CWConstraint, CWConstraintType, CWDataImport, CWEType, CWGroup, CWPermission, CWProperty, CWRType, CWRelation, CWSource, CWSourceHostConfig, CWSourceSchemaConfig, CWUniqueTogetherConstraint, CWUser, Division, Email, EmailAddress, EmailPart, EmailThread, ExternalUri, File, Folder, Old, Personne, RQLExpression, Societe, SubDivision, SubWorkflowExitPoint, Tag, TrInfo, Transition, Workflow, WorkflowTransition)',
  2681                        [(u'Any X WHERE X owned_by U, U login "anon", U is CWUser, X is IN(Affaire, BaseTransition, Basket, Bookmark, CWAttribute, CWCache, CWConstraint, CWConstraintType, CWDataImport, CWEType, CWGroup, CWPermission, CWProperty, CWRType, CWRelation, CWSource, CWSourceHostConfig, CWSourceSchemaConfig, CWUniqueTogetherConstraint, CWUser, Division, Email, EmailAddress, EmailPart, EmailThread, ExternalUri, File, Folder, Frozable, Old, Personne, RQLExpression, Societe, SubDivision, SubWorkflowExitPoint, Tag, TrInfo, Transition, Workflow, WorkflowTransition)',
  2680                          [{'U': 'CWUser', 'X': 'Affaire'},
  2682                          [{'U': 'CWUser', 'X': 'Affaire'},
  2681                           {'U': 'CWUser', 'X': 'BaseTransition'},
  2683                           {'U': 'CWUser', 'X': 'BaseTransition'},
  2682                           {'U': 'CWUser', 'X': 'Basket'},
  2684                           {'U': 'CWUser', 'X': 'Basket'},
  2683                           {'U': 'CWUser', 'X': 'Bookmark'},
  2685                           {'U': 'CWUser', 'X': 'Bookmark'},
  2684                           {'U': 'CWUser', 'X': 'CWAttribute'},
  2686                           {'U': 'CWUser', 'X': 'CWAttribute'},
  2703                           {'U': 'CWUser', 'X': 'EmailPart'},
  2705                           {'U': 'CWUser', 'X': 'EmailPart'},
  2704                           {'U': 'CWUser', 'X': 'EmailThread'},
  2706                           {'U': 'CWUser', 'X': 'EmailThread'},
  2705                           {'U': 'CWUser', 'X': 'ExternalUri'},
  2707                           {'U': 'CWUser', 'X': 'ExternalUri'},
  2706                           {'U': 'CWUser', 'X': 'File'},
  2708                           {'U': 'CWUser', 'X': 'File'},
  2707                           {'U': 'CWUser', 'X': 'Folder'},
  2709                           {'U': 'CWUser', 'X': 'Folder'},
       
  2710                           {'U': 'CWUser', 'X': 'Frozable'},
  2708                           {'U': 'CWUser', 'X': 'Old'},
  2711                           {'U': 'CWUser', 'X': 'Old'},
  2709                           {'U': 'CWUser', 'X': 'Personne'},
  2712                           {'U': 'CWUser', 'X': 'Personne'},
  2710                           {'U': 'CWUser', 'X': 'RQLExpression'},
  2713                           {'U': 'CWUser', 'X': 'RQLExpression'},
  2711                           {'U': 'CWUser', 'X': 'Societe'},
  2714                           {'U': 'CWUser', 'X': 'Societe'},
  2712                           {'U': 'CWUser', 'X': 'SubDivision'},
  2715                           {'U': 'CWUser', 'X': 'SubDivision'},