155
155
assert router.resolve('/blah') == (self.r, None)
157
157
class TestGeneration(BaseTest):
159
super(TestGeneration, self).setUp()
160
self.rtr = Router(root=self.r, viewset='browser')
161
self.rtr.add_set_switch('api', 'api')
162
self.rtr.add_reverse(Subject, subject_url)
163
self.rtr.add_reverse(Offering, offering_url)
164
self.rtr.add_view(Subject, '+index', SubjectIndex, viewset='browser')
165
self.rtr.add_view(Subject, '+edit', SubjectEdit, viewset='browser')
166
self.rtr.add_view(Offering, '+index', OfferingIndex, viewset='browser')
167
self.rtr.add_view(Offering, '+index', OfferingAPIIndex, viewset='api')
158
169
def testOneLevel(self):
159
router = Router(root=self.r)
160
router.add_reverse(Subject, subject_url)
162
assert router.generate(self.r.subjects['info1']) == '/info1'
170
assert_equal(self.rtr.generate(self.r.subjects['info1']), '/info1')
164
172
def testTwoLevel(self):
165
router = Router(root=self.r)
166
router.add_reverse(Subject, subject_url)
167
router.add_reverse(Offering, offering_url)
174
self.rtr.generate(self.r.subjects['info1'].offerings[(2009, 1)]),
178
self.rtr.generate(self.r.subjects['info2'].offerings[(2008, 2)]),
169
assert router.generate(self.r.subjects['info1'].offerings[(2009, 1)]) \
171
assert router.generate(self.r.subjects['info2'].offerings[(2008, 2)]) \
183
assert_equal(self.rtr.generate(self.r.subjects['info1'], SubjectEdit),
174
187
def testDefaultView(self):
175
router = Router(root=self.r, viewset='browser')
176
router.add_reverse(Subject, subject_url)
177
router.add_reverse(Offering, offering_url)
178
router.add_set_switch('api', 'api')
179
router.add_view(Subject, '+index', SubjectIndex, viewset='browser')
180
router.add_view(Subject, '+edit', SubjectEdit, viewset='browser')
181
router.add_view(Offering, '+index', OfferingIndex, viewset='browser')
182
router.add_view(Offering, '+index', OfferingAPIIndex, viewset='api')
189
self.rtr.generate(self.r.subjects['info1'].offerings[(2009, 1)],
184
assert router.generate(self.r.subjects['info1'], SubjectIndex) \
186
assert router.generate(self.r.subjects['info1'], SubjectEdit) \
188
assert router.generate(self.r.subjects['info1'].offerings[(2009, 1)],
189
OfferingIndex) == '/info1/2009/1'
190
assert router.generate(self.r.subjects['info1'].offerings[(2009, 1)],
191
OfferingAPIIndex) == '/api/info1/2009/1'
195
def testAlternateViewSetWithDefault(self):
197
self.rtr.generate(self.r.subjects['info1'].offerings[(2009, 1)],
194
204
class TestErrors(BaseTest):