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() |