web/test/unittest_urlpublisher.py
changeset 9359 31a1813d53f3
parent 7794 aed065b97f12
child 9839 cf00a6a3f401
equal deleted inserted replaced
9358:1e0235478403 9359:31a1813d53f3
    60         """tests the rest path resolution"""
    60         """tests the rest path resolution"""
    61         ctrl, rset = self.process('CWEType')
    61         ctrl, rset = self.process('CWEType')
    62         self.assertEqual(ctrl, 'view')
    62         self.assertEqual(ctrl, 'view')
    63         self.assertEqual(rset.description[0][0], 'CWEType')
    63         self.assertEqual(rset.description[0][0], 'CWEType')
    64         self.assertEqual(rset.printable_rql(),
    64         self.assertEqual(rset.printable_rql(),
    65                           "Any X,AA,AB ORDERBY AA WHERE X is CWEType, X name AA, X modification_date AB")
    65                           "Any X,AA,AB ORDERBY AA WHERE X is_instance_of CWEType, X name AA, X modification_date AB")
    66 
    66 
    67     def test_rest_path_by_attr(self):
    67     def test_rest_path_by_attr(self):
    68         ctrl, rset = self.process('CWUser/login/admin')
    68         ctrl, rset = self.process('CWUser/login/admin')
    69         self.assertEqual(ctrl, 'view')
    69         self.assertEqual(ctrl, 'view')
    70         self.assertEqual(len(rset), 1)
    70         self.assertEqual(len(rset), 1)
    71         self.assertEqual(rset.description[0][0], 'CWUser')
    71         self.assertEqual(rset.description[0][0], 'CWUser')
    72         self.assertEqual(rset.printable_rql(), 'Any X,AA,AB,AC,AD WHERE X is CWUser, X login AA, X firstname AB, X surname AC, X modification_date AD, X login "admin"')
    72         self.assertEqual(rset.printable_rql(), 'Any X,AA,AB,AC,AD WHERE X is_instance_of CWUser, X login AA, X firstname AB, X surname AC, X modification_date AD, X login "admin"')
    73 
    73 
    74     def test_rest_path_unique_attr(self):
    74     def test_rest_path_unique_attr(self):
    75         ctrl, rset = self.process('cwuser/admin')
    75         ctrl, rset = self.process('cwuser/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(rset.printable_rql(), 'Any X,AA,AB,AC,AD WHERE X is CWUser, X login AA, X firstname AB, X surname AC, X modification_date AD, X login "admin"')
    79         self.assertEqual(rset.printable_rql(), 'Any X,AA,AB,AC,AD WHERE X is_instance_of CWUser, X login AA, X firstname AB, X surname AC, X modification_date AD, X login "admin"')
    80 
    80 
    81     def test_rest_path_eid(self):
    81     def test_rest_path_eid(self):
    82         ctrl, rset = self.process('cwuser/eid/%s' % self.user().eid)
    82         ctrl, rset = self.process('cwuser/eid/%s' % self.user().eid)
    83         self.assertEqual(ctrl, 'view')
    83         self.assertEqual(ctrl, 'view')
    84         self.assertEqual(len(rset), 1)
    84         self.assertEqual(len(rset), 1)
    85         self.assertEqual(rset.description[0][0], 'CWUser')
    85         self.assertEqual(rset.description[0][0], 'CWUser')
    86         self.assertEqual(rset.printable_rql(), 'Any X,AA,AB,AC,AD WHERE X is CWUser, X login AA, X firstname AB, X surname AC, X modification_date AD, X eid %s' % rset[0][0])
    86         self.assertEqual(rset.printable_rql(), 'Any X,AA,AB,AC,AD WHERE X is_instance_of CWUser, X login AA, X firstname AB, X surname AC, X modification_date AD, X eid %s' % rset[0][0])
    87 
    87 
    88     def test_rest_path_non_ascii_paths(self):
    88     def test_rest_path_non_ascii_paths(self):
    89         ctrl, rset = self.process('CWUser/login/%C3%BFsa%C3%BFe')
    89         ctrl, rset = self.process('CWUser/login/%C3%BFsa%C3%BFe')
    90         self.assertEqual(ctrl, 'view')
    90         self.assertEqual(ctrl, 'view')
    91         self.assertEqual(len(rset), 1)
    91         self.assertEqual(len(rset), 1)
    92         self.assertEqual(rset.description[0][0], 'CWUser')
    92         self.assertEqual(rset.description[0][0], 'CWUser')
    93         self.assertEqual(rset.printable_rql(), u'Any X,AA,AB,AC,AD WHERE X is CWUser, X login AA, X firstname AB, X surname AC, X modification_date AD, X login "\xffsa\xffe"')
    93         self.assertEqual(rset.printable_rql(), u'Any X,AA,AB,AC,AD WHERE X is_instance_of CWUser, X login AA, X firstname AB, X surname AC, X modification_date AD, X login "\xffsa\xffe"')
    94 
    94 
    95     def test_rest_path_quoted_paths(self):
    95     def test_rest_path_quoted_paths(self):
    96         ctrl, rset = self.process('BlogEntry/title/hell%27o')
    96         ctrl, rset = self.process('BlogEntry/title/hell%27o')
    97         self.assertEqual(ctrl, 'view')
    97         self.assertEqual(ctrl, 'view')
    98         self.assertEqual(len(rset), 1)
    98         self.assertEqual(len(rset), 1)
    99         self.assertEqual(rset.description[0][0], 'BlogEntry')
    99         self.assertEqual(rset.description[0][0], 'BlogEntry')
   100         self.assertEqual(rset.printable_rql(), u'Any X,AA,AB,AC WHERE X is BlogEntry, X creation_date AA, X title AB, X modification_date AC, X title "hell\'o"')
   100         self.assertEqual(rset.printable_rql(), u'Any X,AA,AB,AC WHERE X is_instance_of BlogEntry, X creation_date AA, X title AB, X modification_date AC, X title "hell\'o"')
   101 
   101 
   102     def test_rest_path_errors(self):
   102     def test_rest_path_errors(self):
   103         self.assertRaises(NotFound, self.process, 'CWUser/eid/30000')
   103         self.assertRaises(NotFound, self.process, 'CWUser/eid/30000')
   104         self.assertRaises(NotFound, self.process, 'Workcases')
   104         self.assertRaises(NotFound, self.process, 'Workcases')
   105         self.assertRaises(NotFound, self.process, 'CWUser/inexistant_attribute/joe')
   105         self.assertRaises(NotFound, self.process, 'CWUser/inexistant_attribute/joe')