web/test/unittest_urlpublisher.py
changeset 10467 73ea636a5562
parent 9839 cf00a6a3f401
child 10582 bc2f6f0d7433
equal deleted inserted replaced
10466:cf7a1ad9ee42 10467:73ea636a5562
    64         """tests the rest path resolution"""
    64         """tests the rest path resolution"""
    65         with self.admin_access.web_request() as req:
    65         with self.admin_access.web_request() as req:
    66             ctrl, rset = self.process(req, 'CWEType')
    66             ctrl, rset = self.process(req, 'CWEType')
    67             self.assertEqual(ctrl, 'view')
    67             self.assertEqual(ctrl, 'view')
    68             self.assertEqual(rset.description[0][0], 'CWEType')
    68             self.assertEqual(rset.description[0][0], 'CWEType')
    69             self.assertEqual("Any X,AA,AB ORDERBY AA WHERE X is_instance_of CWEType, "
    69             self.assertEqual("Any X,AA,AB ORDERBY AB WHERE X is_instance_of CWEType, "
    70                              "X name AA, X modification_date AB",
    70                              "X modification_date AA, X name AB",
    71                              rset.printable_rql())
    71                              rset.printable_rql())
    72 
    72 
    73     def test_rest_path_by_attr(self):
    73     def test_rest_path_by_attr(self):
    74         with self.admin_access.web_request() as req:
    74         with self.admin_access.web_request() as req:
    75             ctrl, rset = self.process(req, 'CWUser/login/admin')
    75             ctrl, rset = self.process(req, 'CWUser/login/admin')
    76             self.assertEqual(ctrl, 'view')
    76             self.assertEqual(ctrl, 'view')
    77             self.assertEqual(len(rset), 1)
    77             self.assertEqual(len(rset), 1)
    78             self.assertEqual(rset.description[0][0], 'CWUser')
    78             self.assertEqual(rset.description[0][0], 'CWUser')
    79             self.assertEqual('Any X,AA,AB,AC,AD WHERE X is_instance_of CWUser, '
    79             self.assertEqual('Any X,AA,AB,AC,AD WHERE X is_instance_of CWUser, '
    80                              'X login AA, X firstname AB, X surname AC, '
    80                              'X firstname AA, X login AB, X modification_date AC, '
    81                              'X modification_date AD, X login "admin"',
    81                              'X surname AD, X login "admin"',
    82                              rset.printable_rql())
    82                              rset.printable_rql())
    83 
    83 
    84     def test_rest_path_unique_attr(self):
    84     def test_rest_path_unique_attr(self):
    85         with self.admin_access.web_request() as req:
    85         with self.admin_access.web_request() as req:
    86             ctrl, rset = self.process(req, 'cwuser/admin')
    86             ctrl, rset = self.process(req, 'cwuser/admin')
    87             self.assertEqual(ctrl, 'view')
    87             self.assertEqual(ctrl, 'view')
    88             self.assertEqual(len(rset), 1)
    88             self.assertEqual(len(rset), 1)
    89             self.assertEqual(rset.description[0][0], 'CWUser')
    89             self.assertEqual(rset.description[0][0], 'CWUser')
    90             self.assertEqual('Any X,AA,AB,AC,AD WHERE X is_instance_of CWUser, '
    90             self.assertEqual('Any X,AA,AB,AC,AD WHERE X is_instance_of CWUser, '
    91                              'X login AA, X firstname AB, X surname AC, '
    91                              'X firstname AA, X login AB, X modification_date AC, '
    92                              'X modification_date AD, X login "admin"',
    92                              'X surname AD, X login "admin"',
    93                              rset.printable_rql())
    93                              rset.printable_rql())
    94 
    94 
    95     def test_rest_path_eid(self):
    95     def test_rest_path_eid(self):
    96         with self.admin_access.web_request() as req:
    96         with self.admin_access.web_request() as req:
    97             ctrl, rset = self.process(req, 'cwuser/eid/%s' % self.user(req).eid)
    97             ctrl, rset = self.process(req, 'cwuser/eid/%s' % self.user(req).eid)
    98             self.assertEqual(ctrl, 'view')
    98             self.assertEqual(ctrl, 'view')
    99             self.assertEqual(len(rset), 1)
    99             self.assertEqual(len(rset), 1)
   100             self.assertEqual(rset.description[0][0], 'CWUser')
   100             self.assertEqual(rset.description[0][0], 'CWUser')
   101             self.assertEqual('Any X,AA,AB,AC,AD WHERE X is_instance_of CWUser, '
   101             self.assertEqual('Any X,AA,AB,AC,AD WHERE X is_instance_of CWUser, '
   102                              'X login AA, X firstname AB, X surname AC, '
   102                              'X firstname AA, X login AB, X modification_date AC, '
   103                              'X modification_date AD, X eid %s' % rset[0][0],
   103                              'X surname AD, X eid %s' % rset[0][0],
   104                              rset.printable_rql())
   104                              rset.printable_rql())
   105 
   105 
   106     def test_rest_path_non_ascii_paths(self):
   106     def test_rest_path_non_ascii_paths(self):
   107         with self.admin_access.web_request() as req:
   107         with self.admin_access.web_request() as req:
   108             ctrl, rset = self.process(req, 'CWUser/login/%C3%BFsa%C3%BFe')
   108             ctrl, rset = self.process(req, 'CWUser/login/%C3%BFsa%C3%BFe')
   109             self.assertEqual(ctrl, 'view')
   109             self.assertEqual(ctrl, 'view')
   110             self.assertEqual(len(rset), 1)
   110             self.assertEqual(len(rset), 1)
   111             self.assertEqual(rset.description[0][0], 'CWUser')
   111             self.assertEqual(rset.description[0][0], 'CWUser')
   112             self.assertEqual(u'Any X,AA,AB,AC,AD WHERE X is_instance_of CWUser, '
   112             self.assertEqual(u'Any X,AA,AB,AC,AD WHERE X is_instance_of CWUser, '
   113                              u'X login AA, X firstname AB, X surname AC, '
   113                              u'X firstname AA, X login AB, X modification_date AC, '
   114                              u'X modification_date AD, X login "\xffsa\xffe"',
   114                              u'X surname AD, X login "\xffsa\xffe"',
   115                              rset.printable_rql())
   115                              rset.printable_rql())
   116 
   116 
   117     def test_rest_path_quoted_paths(self):
   117     def test_rest_path_quoted_paths(self):
   118         with self.admin_access.web_request() as req:
   118         with self.admin_access.web_request() as req:
   119             ctrl, rset = self.process(req, 'BlogEntry/title/hell%27o')
   119             ctrl, rset = self.process(req, 'BlogEntry/title/hell%27o')
   120             self.assertEqual(ctrl, 'view')
   120             self.assertEqual(ctrl, 'view')
   121             self.assertEqual(len(rset), 1)
   121             self.assertEqual(len(rset), 1)
   122             self.assertEqual(rset.description[0][0], 'BlogEntry')
   122             self.assertEqual(rset.description[0][0], 'BlogEntry')
   123             self.assertEqual(u'Any X,AA,AB,AC WHERE X is_instance_of BlogEntry, '
   123             self.assertEqual(u'Any X,AA,AB,AC WHERE X is_instance_of BlogEntry, '
   124                              'X creation_date AA, X title AB, X modification_date AC, '
   124                              'X creation_date AA, X modification_date AB, X title AC, '
   125                              'X title "hell\'o"',
   125                              'X title "hell\'o"',
   126                              rset.printable_rql())
   126                              rset.printable_rql())
   127 
   127 
   128     def test_rest_path_errors(self):
   128     def test_rest_path_errors(self):
   129         with self.admin_access.web_request() as req:
   129         with self.admin_access.web_request() as req: