web/test/unittest_urlrewrite.py
changeset 6366 1806148d6ce8
parent 6340 470d8e828fda
child 7017 cd2ea273007a
equal deleted inserted replaced
6333:e3994fcc21c3 6366:1806148d6ce8
    37         rules = []
    37         rules = []
    38         for pattern, values in Rewriter.rules:
    38         for pattern, values in Rewriter.rules:
    39             if hasattr(pattern, 'pattern'):
    39             if hasattr(pattern, 'pattern'):
    40                 pattern = pattern.pattern
    40                 pattern = pattern.pattern
    41             rules.append((pattern, values))
    41             rules.append((pattern, values))
    42         self.assertListEquals(rules, [
    42         self.assertListEqual(rules, [
    43             ('foo' , dict(rql='Foo F')),
    43             ('foo' , dict(rql='Foo F')),
    44             ('/index' , dict(vid='index2')),
    44             ('/index' , dict(vid='index2')),
    45             ('/_', dict(vid='manage')),
    45             ('/_', dict(vid='manage')),
    46             ('/_registry', dict(vid='registry')),
    46             ('/_registry', dict(vid='registry')),
    47             ('/schema', dict(vid='schema')),
    47             ('/schema', dict(vid='schema')),
    69             ignore_baseclass_rules = True
    69             ignore_baseclass_rules = True
    70             rules = [
    70             rules = [
    71                 ('foo', dict(rql='Foo F')),
    71                 ('foo', dict(rql='Foo F')),
    72                 ('/index', dict(vid='index2')),
    72                 ('/index', dict(vid='index2')),
    73                 ]
    73                 ]
    74         self.assertListEquals(Rewriter.rules, [
    74         self.assertListEqual(Rewriter.rules, [
    75             ('foo' , dict(rql='Foo F')),
    75             ('foo' , dict(rql='Foo F')),
    76             ('/index' , dict(vid='index2')),
    76             ('/index' , dict(vid='index2')),
    77             ])
    77             ])
    78 
    78 
    79     def test_basic_transformation(self):
    79     def test_basic_transformation(self):
    80         """test simple string-based rewrite"""
    80         """test simple string-based rewrite"""
    81         req = FakeRequest()
    81         req = FakeRequest()
    82         rewriter = SimpleReqRewriter(req)
    82         rewriter = SimpleReqRewriter(req)
    83         self.assertRaises(KeyError, rewriter.rewrite, req, '/view?vid=whatever')
    83         self.assertRaises(KeyError, rewriter.rewrite, req, '/view?vid=whatever')
    84         self.assertEquals(req.form, {})
    84         self.assertEqual(req.form, {})
    85         rewriter.rewrite(req, '/index')
    85         rewriter.rewrite(req, '/index')
    86         self.assertEquals(req.form, {'vid' : "index"})
    86         self.assertEqual(req.form, {'vid' : "index"})
    87 
    87 
    88     def test_regexp_transformation(self):
    88     def test_regexp_transformation(self):
    89         """test regexp-based rewrite"""
    89         """test regexp-based rewrite"""
    90         req = FakeRequest()
    90         req = FakeRequest()
    91         rewriter = SimpleReqRewriter(req)
    91         rewriter = SimpleReqRewriter(req)
    92         rewriter.rewrite(req, '/add/Task')
    92         rewriter.rewrite(req, '/add/Task')
    93         self.assertEquals(req.form, {'vid' : "creation", 'etype' : "Task"})
    93         self.assertEqual(req.form, {'vid' : "creation", 'etype' : "Task"})
    94         req = FakeRequest()
    94         req = FakeRequest()
    95         rewriter.rewrite(req, '/add/Task/')
    95         rewriter.rewrite(req, '/add/Task/')
    96         self.assertEquals(req.form, {'vid' : "creation", 'etype' : "Task"})
    96         self.assertEqual(req.form, {'vid' : "creation", 'etype' : "Task"})
    97 
    97 
    98 
    98 
    99 
    99 
   100 
   100 
   101 class RgxActionRewriteTC(CubicWebTC):
   101 class RgxActionRewriteTC(CubicWebTC):
   115                                                                                          'fn' : unicode.lower,})),
   115                                                                                          'fn' : unicode.lower,})),
   116                 ]
   116                 ]
   117         req = self.request()
   117         req = self.request()
   118         rewriter = TestSchemaBasedRewriter(req)
   118         rewriter = TestSchemaBasedRewriter(req)
   119         pmid, rset = rewriter.rewrite(req, u'/DaLToN/JoE')
   119         pmid, rset = rewriter.rewrite(req, u'/DaLToN/JoE')
   120         self.assertEquals(len(rset), 1)
   120         self.assertEqual(len(rset), 1)
   121         self.assertEquals(rset[0][0], self.p1.eid)
   121         self.assertEqual(rset[0][0], self.p1.eid)
   122 
   122 
   123     def test_inheritance_precedence(self):
   123     def test_inheritance_precedence(self):
   124         RQL1 = 'Any C WHERE C is CWEType'
   124         RQL1 = 'Any C WHERE C is CWEType'
   125         RQL2 = 'Any C WHERE C is CWUser'
   125         RQL2 = 'Any C WHERE C is CWUser'
   126 
   126 
   140                 ]
   140                 ]
   141 
   141 
   142         req = self.request()
   142         req = self.request()
   143         rewriter = Rewriter(req)
   143         rewriter = Rewriter(req)
   144         pmid, rset = rewriter.rewrite(req, '/collector')
   144         pmid, rset = rewriter.rewrite(req, '/collector')
   145         self.assertEquals(rset.rql, RQL1)
   145         self.assertEqual(rset.rql, RQL1)
   146         self.assertEquals(req.form, {'vid' : "baseindex"})
   146         self.assertEqual(req.form, {'vid' : "baseindex"})
   147         pmid, rset = rewriter.rewrite(req, '/collector/something')
   147         pmid, rset = rewriter.rewrite(req, '/collector/something')
   148         self.assertEquals(rset.rql, RQL2)
   148         self.assertEqual(rset.rql, RQL2)
   149         self.assertEquals(req.form, {'vid' : "index"})
   149         self.assertEqual(req.form, {'vid' : "index"})
   150         pmid, rset = rewriter.rewrite(req, '/collector/something/')
   150         pmid, rset = rewriter.rewrite(req, '/collector/something/')
   151         self.assertEquals(req.form, {'vid' : "index"})
   151         self.assertEqual(req.form, {'vid' : "index"})
   152         self.assertEquals(rset.rql, RQL2)
   152         self.assertEqual(rset.rql, RQL2)
   153         pmid, rset = rewriter.rewrite(req, '/collector/somethingelse/')
   153         pmid, rset = rewriter.rewrite(req, '/collector/somethingelse/')
   154         self.assertEquals(rset.rql, RQL1)
   154         self.assertEqual(rset.rql, RQL1)
   155         self.assertEquals(req.form, {'vid' : "baseindex"})
   155         self.assertEqual(req.form, {'vid' : "baseindex"})
   156 
   156 
   157     def test_inheritance_precedence_same_rgx(self):
   157     def test_inheritance_precedence_same_rgx(self):
   158         RQL1 = 'Any C WHERE C is CWEType'
   158         RQL1 = 'Any C WHERE C is CWEType'
   159         RQL2 = 'Any C WHERE C is CWUser'
   159         RQL2 = 'Any C WHERE C is CWUser'
   160 
   160 
   174                 ]
   174                 ]
   175 
   175 
   176         req = self.request()
   176         req = self.request()
   177         rewriter = Rewriter(req)
   177         rewriter = Rewriter(req)
   178         pmid, rset = rewriter.rewrite(req, '/collector')
   178         pmid, rset = rewriter.rewrite(req, '/collector')
   179         self.assertEquals(rset.rql, RQL2)
   179         self.assertEqual(rset.rql, RQL2)
   180         self.assertEquals(req.form, {'vid' : "index"})
   180         self.assertEqual(req.form, {'vid' : "index"})
   181         pmid, rset = rewriter.rewrite(req, '/collector/something')
   181         pmid, rset = rewriter.rewrite(req, '/collector/something')
   182         self.assertEquals(rset.rql, RQL2)
   182         self.assertEqual(rset.rql, RQL2)
   183         self.assertEquals(req.form, {'vid' : "index"})
   183         self.assertEqual(req.form, {'vid' : "index"})
   184         pmid, rset = rewriter.rewrite(req, '/collector/something/')
   184         pmid, rset = rewriter.rewrite(req, '/collector/something/')
   185         self.assertEquals(req.form, {'vid' : "index"})
   185         self.assertEqual(req.form, {'vid' : "index"})
   186         self.assertEquals(rset.rql, RQL2)
   186         self.assertEqual(rset.rql, RQL2)
   187         pmid, rset = rewriter.rewrite(req, '/collector/somethingelse/')
   187         pmid, rset = rewriter.rewrite(req, '/collector/somethingelse/')
   188         self.assertEquals(rset.rql, RQL2)
   188         self.assertEqual(rset.rql, RQL2)
   189         self.assertEquals(req.form, {'vid' : "index"})
   189         self.assertEqual(req.form, {'vid' : "index"})
   190 
   190 
   191 
   191 
   192 if __name__ == '__main__':
   192 if __name__ == '__main__':
   193     unittest_main()
   193     unittest_main()