123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- # -*- coding: utf-8 -*-
- from searx.testing import SearxTestCase
- from searx import plugins
- from mock import Mock
- class PluginStoreTest(SearxTestCase):
- def test_PluginStore_init(self):
- store = plugins.PluginStore()
- self.assertTrue(isinstance(store.plugins, list) and len(store.plugins) == 0)
- def test_PluginStore_register(self):
- store = plugins.PluginStore()
- testplugin = plugins.Plugin()
- store.register(testplugin)
- self.assertTrue(len(store.plugins) == 1)
- def test_PluginStore_call(self):
- store = plugins.PluginStore()
- testplugin = plugins.Plugin()
- store.register(testplugin)
- setattr(testplugin, 'asdf', Mock())
- request = Mock(user_plugins=[])
- store.call('asdf', request, Mock())
- self.assertFalse(testplugin.asdf.called)
- request.user_plugins.append(testplugin)
- store.call('asdf', request, Mock())
- self.assertTrue(testplugin.asdf.called)
- class SelfIPTest(SearxTestCase):
- def test_PluginStore_init(self):
- store = plugins.PluginStore()
- store.register(plugins.self_ip)
- store.register(plugins.self_useragent)
- self.assertTrue(len(store.plugins) == 2)
- # IP test
- request = Mock(user_plugins=store.plugins,
- remote_addr='127.0.0.1')
- request.headers.getlist.return_value = []
- ctx = {'search': Mock(answers=set(),
- query='ip')}
- store.call('post_search', request, ctx)
- self.assertTrue('127.0.0.1' in ctx['search'].answers)
- # User agent test
- request = Mock(user_plugins=store.plugins,
- user_agent='Mock')
- request.headers.getlist.return_value = []
- ctx = {'search': Mock(answers=set(),
- query='user-agent')}
- store.call('post_search', request, ctx)
- self.assertTrue('Mock' in ctx['search'].answers)
- ctx = {'search': Mock(answers=set(),
- query='user agent')}
- store.call('post_search', request, ctx)
- self.assertTrue('Mock' in ctx['search'].answers)
|