/loggerhead/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/loggerhead/trunk

« back to all changes in this revision

Viewing changes to loggerhead/tests/test_controllers.py

  • Committer: Jelmer Vernooij
  • Date: 2011-11-02 01:23:00 UTC
  • mto: This revision was merged to the branch mainline in revision 458.
  • Revision ID: jelmer@samba.org-20111102012300-8w1gktialc1jwcnn
Add hook 'controller' to BranchWSGIApp.

Show diffs side-by-side

added added

removed removed

Lines of Context:
230
230
        revlog_ui = branch_app.lookup_app(env)
231
231
        self.assertOkJsonResponse(revlog_ui, env)
232
232
 
 
233
 
 
234
class TestControllerHooks(BasicTests):
 
235
 
 
236
    def test_dummy_hook(self):
 
237
        return
 
238
        # A hook that returns None doesn't influence the searching for
 
239
        # a controller.
 
240
        env = {'SCRIPT_NAME': '', 'PATH_INFO': '/custom'}
 
241
        myhook = lambda app, environ: None
 
242
        branch = self.make_branch('.')
 
243
        self.addCleanup(branch.lock_read().unlock)
 
244
        app = self.make_branch_app(branch)
 
245
        self.addCleanup(BranchWSGIApp.hooks.uninstall_named_hook, 'controller',
 
246
            'captain hook')
 
247
        BranchWSGIApp.hooks.install_named_hook('controller', myhook, "captain hook")
 
248
        self.assertRaises(KeyError, app.lookup_app, env)
 
249
 
 
250
    def test_working_hook(self):
 
251
        # A hook that returns None doesn't influence the searching for
 
252
        # a controller.
 
253
        env = {'SCRIPT_NAME': '', 'PATH_INFO': '/custom'}
 
254
        myhook = lambda app, environ: "I am hooked"
 
255
        branch = self.make_branch('.')
 
256
        self.addCleanup(branch.lock_read().unlock)
 
257
        app = self.make_branch_app(branch)
 
258
        self.addCleanup(BranchWSGIApp.hooks.uninstall_named_hook, 'controller',
 
259
            'captain hook')
 
260
        BranchWSGIApp.hooks.install_named_hook('controller', myhook, "captain hook")
 
261
        self.assertEquals("I am hooked", app.lookup_app(env))