示例#1
0
    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)
示例#2
0
    def test_opensearch_integration(self):
        # pylint: disable=unused-variable
        self.req.path_info = '/bhsearch/opensearch'
        bhsearch = BloodhoundSearchModule(self.env)

        url, data, x = bhsearch.process_request(self.req)

        self.assertEqual(url, 'opensearch.xml')
示例#3
0
    def test_opensearch_integration(self):
        # pylint: disable=unused-variable
        self.req.path_info = '/bhsearch/opensearch'
        bhsearch = BloodhoundSearchModule(self.env)

        url, data, x = bhsearch.process_request(self.req)

        self.assertEqual(url, 'opensearch.xml')
示例#4
0
文件: base.py 项目: tsanov/bloodhound
 def process_request(self):
     # pylint: disable=unused-variable
     url, data, x = BloodhoundSearchModule(self.env).process_request(
         self.req)
     self.env.log.debug("Received url: %s data: %s", url, data)
     if 'results' in data:
         self.env.log.debug("results: %s", data["results"].__dict__)
     return data
示例#5
0
    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)
示例#6
0
    def test_that_correct_search_handle_is_selected_for_quick_search(self):
        bhsearch = BloodhoundSearchModule(self.env)

        def process_request(path, enable_redirect, is_default):
            # pylint: disable=unused-variable
            self.req.path_info = path
            self.env.config.set('bhsearch', 'enable_redirect',
                                str(enable_redirect))
            self.env.config.set('bhsearch', 'is_default', str(is_default))
            template, data, content_type = \
                bhsearch.post_process_request(self.req, '', {}, '')
            return data

        data = process_request('/', enable_redirect=False, is_default=False)
        self.assertIn('search_handler', data)
        self.assertEqual(data['search_handler'], self.req.href.search())

        data = process_request('/', enable_redirect=True, is_default=False)
        self.assertIn('search_handler', data)
        self.assertEqual(data['search_handler'], self.req.href.bhsearch())

        data = process_request('/', enable_redirect=False, is_default=True)
        self.assertIn('search_handler', data)
        self.assertEqual(data['search_handler'], self.req.href.bhsearch())

        data = process_request('/', enable_redirect=True, is_default=True)
        self.assertIn('search_handler', data)
        self.assertEqual(data['search_handler'], self.req.href.bhsearch())

        for is_default in [False, True]:
            data = process_request('/search',
                                   enable_redirect=False,
                                   is_default=is_default)
            self.assertIn('search_handler', data)
            self.assertEqual(data['search_handler'], self.req.href.search())

        for is_default in [False, True]:
            data = process_request('/search',
                                   enable_redirect=True,
                                   is_default=is_default)
            self.assertIn('search_handler', data)
            self.assertEqual(data['search_handler'], self.req.href.bhsearch())

        for enable_redirect in [False, True]:
            for is_default in [False, True]:
                data = process_request('/bhsearch',
                                       enable_redirect=enable_redirect,
                                       is_default=is_default)
                self.assertIn('search_handler', data)
                self.assertEqual(data['search_handler'],
                                 self.req.href.bhsearch())