server/test/unittest_ssplanner.py
branchstable
changeset 3315 59220b704562
parent 3252 c0e10da6f1cf
child 3293 69c0ba095536
child 3587 5b3725f315fc
equal deleted inserted replaced
3298:caef98aa4a98 3315:59220b704562
     7 """
     7 """
     8 from cubicweb.devtools import init_test_database
     8 from cubicweb.devtools import init_test_database
     9 from cubicweb.devtools.repotest import BasePlannerTC, test_plan
     9 from cubicweb.devtools.repotest import BasePlannerTC, test_plan
    10 from cubicweb.server.ssplanner import SSPlanner
    10 from cubicweb.server.ssplanner import SSPlanner
    11 
    11 
    12 # keep cnx so it's not garbage collected and the associated session is closed
    12 # keep cnx so it's not garbage collected and the associated session closed
    13 repo, cnx = init_test_database('sqlite')
    13 repo, cnx = init_test_database('sqlite')
    14 
    14 
    15 class SSPlannerTC(BasePlannerTC):
    15 class SSPlannerTC(BasePlannerTC):
    16     repo = repo
    16     repo = repo
    17     _test = test_plan
    17     _test = test_plan
    18 
    18 
    19     def setUp(self):
    19     def setUp(self):
    20         BasePlannerTC.setUp(self)
    20         BasePlannerTC.setUp(self)
    21         self.planner = SSPlanner(self.o.schema, self.o._rqlhelper)
    21         self.planner = SSPlanner(self.o.schema, self.repo.vreg.rqlhelper)
    22         self.system = self.o._repo.system_source
    22         self.system = self.o._repo.system_source
    23 
    23 
    24     def tearDown(self):
    24     def tearDown(self):
    25         BasePlannerTC.tearDown(self)
    25         BasePlannerTC.tearDown(self)
    26 
    26 
    27     def test_ordered_ambigous_sol(self):
    27     def test_ordered_ambigous_sol(self):
    28         self._test('Any XN ORDERBY XN WHERE X name XN',
    28         self._test('Any XN ORDERBY XN WHERE X name XN, X is IN (Basket, File, Folder)',
    29                    [('OneFetchStep', [('Any XN ORDERBY XN WHERE X name XN',
    29                    [('OneFetchStep', [('Any XN ORDERBY XN WHERE X name XN, X is IN(Basket, File, Folder)',
    30                                        [{'X': 'Basket', 'XN': 'String'},
    30                                        [{'X': 'Basket', 'XN': 'String'},
    31                                         {'X': 'CWCache', 'XN': 'String'},
       
    32                                         {'X': 'CWConstraintType', 'XN': 'String'},
       
    33                                         {'X': 'CWEType', 'XN': 'String'},
       
    34                                         {'X': 'CWGroup', 'XN': 'String'},
       
    35                                         {'X': 'CWPermission', 'XN': 'String'},
       
    36                                         {'X': 'CWRType', 'XN': 'String'},
       
    37                                         {'X': 'File', 'XN': 'String'},
    31                                         {'X': 'File', 'XN': 'String'},
    38                                         {'X': 'Folder', 'XN': 'String'},
    32                                         {'X': 'Folder', 'XN': 'String'}])],
    39                                         {'X': 'Image', 'XN': 'String'},
       
    40                                         {'X': 'State', 'XN': 'String'},
       
    41                                         {'X': 'Tag', u'XN': 'String'},
       
    42                                         {'X': 'Transition', 'XN': 'String'}])],
       
    43                      None, None,
    33                      None, None,
    44                      [self.system], None, [])])
    34                      [self.system], None, [])])
    45 
    35 
    46     def test_groupeded_ambigous_sol(self):
    36     def test_groupeded_ambigous_sol(self):
    47         self._test('Any XN,COUNT(X) GROUPBY XN WHERE X name XN',
    37         self._test('Any XN,COUNT(X) GROUPBY XN WHERE X name XN, X is IN (Basket, File, Folder)',
    48                    [('OneFetchStep', [('Any XN,COUNT(X) GROUPBY XN WHERE X name XN',
    38                    [('OneFetchStep', [('Any XN,COUNT(X) GROUPBY XN WHERE X name XN, X is IN(Basket, File, Folder)',
    49                                        [{'X': 'Basket', 'XN': 'String'},
    39                                        [{'X': 'Basket', 'XN': 'String'},
    50                                         {'X': 'CWCache', 'XN': 'String'},
       
    51                                         {'X': 'CWConstraintType', 'XN': 'String'},
       
    52                                         {'X': 'CWEType', 'XN': 'String'},
       
    53                                         {'X': 'CWGroup', 'XN': 'String'},
       
    54                                         {'X': 'CWPermission', 'XN': 'String'},
       
    55                                         {'X': 'CWRType', 'XN': 'String'},
       
    56                                         {'X': 'File', 'XN': 'String'},
    40                                         {'X': 'File', 'XN': 'String'},
    57                                         {'X': 'Folder', 'XN': 'String'},
    41                                         {'X': 'Folder', 'XN': 'String'}])],
    58                                         {'X': 'Image', 'XN': 'String'},
       
    59                                         {'X': 'State', 'XN': 'String'},
       
    60                                         {'X': 'Tag', u'XN': 'String'},
       
    61                                         {'X': 'Transition', 'XN': 'String'}])],
       
    62                      None, None,
    42                      None, None,
    63                      [self.system], None, [])])
    43                      [self.system], None, [])])
    64 
    44 
    65 if __name__ == '__main__':
    45 if __name__ == '__main__':
    66     from logilab.common.testlib import unittest_main
    46     from logilab.common.testlib import unittest_main