def test_returns_correct_handler(self): bhsearch = BloodhoundSearchModule(self.env) tracsearch = self.env[TracSearchModule] class PathInfoSetter(object): # pylint: disable=incomplete-protocol def __setitem__(other, key, value): if key == "PATH_INFO": self.req.path_info = value self.req.environ = PathInfoSetter() self.env.config.set('bhsearch', 'enable_redirect', "True") self.req.path_info = '/search' self.assertIs(bhsearch.pre_process_request(self.req, tracsearch), bhsearch) self.req.path_info = '/bhsearch' self.assertIs(bhsearch.pre_process_request(self.req, tracsearch), bhsearch) self.env.config.set('bhsearch', 'enable_redirect', "False") # With redirect disabled, handler should not be changed. self.req.path_info = '/search' self.assertIs(bhsearch.pre_process_request(self.req, None), None) self.req.path_info = '/bhsearch' self.assertIs(bhsearch.pre_process_request(self.req, None), None)