3from searx.testing import SearxTestCase
4from searx import plugins
8def get_search_mock(query, **kwargs):
9 return {'search': Mock(query=query,
10 result_container=Mock(answers=set()),
14class PluginStoreTest(SearxTestCase):
16 def test_PluginStore_init(self):
17 store = plugins.PluginStore()
18 self.assertTrue(isinstance(store.plugins, list) and len(store.plugins) == 0)
20 def test_PluginStore_register(self):
21 store = plugins.PluginStore()
22 testplugin = plugins.Plugin()
23 store.register(testplugin)
25 self.assertTrue(len(store.plugins) == 1)
27 def test_PluginStore_call(self):
28 store = plugins.PluginStore()
29 testplugin = plugins.Plugin()
30 store.register(testplugin)
31 setattr(testplugin, 'asdf', Mock())
32 request = Mock(user_plugins=[])
33 store.call('asdf', request, Mock())
35 self.assertFalse(testplugin.asdf.called)
37 request.user_plugins.append(testplugin)
38 store.call('asdf', request, Mock())
40 self.assertTrue(testplugin.asdf.called)
43class SelfIPTest(SearxTestCase):
45 def test_PluginStore_init(self):
46 store = plugins.PluginStore()
47 store.register(plugins.self_info)
49 self.assertTrue(len(store.plugins) == 1)
52 request = Mock(user_plugins=store.plugins,
53 remote_addr='127.0.0.1')
54 request.headers.getlist.return_value = []
55 ctx = get_search_mock(query='ip', pageno=1)
56 store.call('post_search', request, ctx)
57 self.assertTrue('127.0.0.1' in ctx['search'].result_container.answers)
59 ctx = get_search_mock(query='ip', pageno=2)
60 store.call('post_search', request, ctx)
61 self.assertFalse('127.0.0.1' in ctx['search'].result_container.answers)
64 request = Mock(user_plugins=store.plugins,
66 request.headers.getlist.return_value = []
68 ctx = get_search_mock(query='user-agent', pageno=1)
69 store.call('post_search', request, ctx)
70 self.assertTrue('Mock' in ctx['search'].result_container.answers)
72 ctx = get_search_mock(query='user-agent', pageno=2)
73 store.call('post_search', request, ctx)
74 self.assertFalse('Mock' in ctx['search'].result_container.answers)
76 ctx = get_search_mock(query='user-agent', pageno=1)
77 store.call('post_search', request, ctx)
78 self.assertTrue('Mock' in ctx['search'].result_container.answers)
80 ctx = get_search_mock(query='user-agent', pageno=2)
81 store.call('post_search', request, ctx)
82 self.assertFalse('Mock' in ctx['search'].result_container.answers)
84 ctx = get_search_mock(query='What is my User-Agent?', pageno=1)
85 store.call('post_search', request, ctx)
86 self.assertTrue('Mock' in ctx['search'].result_container.answers)
88 ctx = get_search_mock(query='What is my User-Agent?', pageno=2)
89 store.call('post_search', request, ctx)
90 self.assertFalse('Mock' in ctx['search'].result_container.answers)
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list