summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMarkus Heiser <markus.heiser@darmarit.de>2023-05-29 19:46:37 +0200
committerMarkus Heiser <markus.heiser@darmarit.de>2023-06-01 14:38:53 +0200
commit38431d2e142b7da6a9b48aad203f02a2eff7e6fd (patch)
tree102a00847e3d84747b814739d9c6dde465d7139b /tests
parentb8c7c2c9aa604fd1fb7be5559c9ad025ceb17aa4 (diff)
[fix] correct determination of the IP for the request
For correct determination of the IP to the request the function botdetection.get_real_ip() is implemented. This fonction is used in the ip_limit and link_token method of the botdetection and it is used in the self_info plugin. A documentation about the X-Forwarded-For header has been added. [1] https://github.com/searxng/searxng/pull/2357#issuecomment-1566211059 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Diffstat (limited to 'tests')
-rw-r--r--tests/unit/test_plugins.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/tests/unit/test_plugins.py b/tests/unit/test_plugins.py
index 28df835e..0d555fdc 100644
--- a/tests/unit/test_plugins.py
+++ b/tests/unit/test_plugins.py
@@ -50,9 +50,13 @@ class SelfIPTest(SearxTestCase):
self.assertTrue(len(store.plugins) == 1)
# IP test
- request = Mock(remote_addr='127.0.0.1')
- request.headers.getlist.return_value = []
- search = get_search_mock(query='ip', pageno=1)
+ request = Mock()
+ request.remote_addr = '127.0.0.1'
+ request.headers = {'X-Forwarded-For': '1.2.3.4, 127.0.0.1', 'X-Real-IP': '127.0.0.1'}
+ search = get_search_mock(
+ query='ip',
+ pageno=1,
+ )
store.call(store.plugins, 'post_search', request, search)
self.assertTrue('127.0.0.1' in search.result_container.answers["ip"]["answer"])
@@ -62,7 +66,6 @@ class SelfIPTest(SearxTestCase):
# User agent test
request = Mock(user_agent='Mock')
- request.headers.getlist.return_value = []
search = get_search_mock(query='user-agent', pageno=1)
store.call(store.plugins, 'post_search', request, search)
@@ -98,7 +101,6 @@ class HashPluginTest(SearxTestCase):
self.assertTrue(len(store.plugins) == 1)
request = Mock(remote_addr='127.0.0.1')
- request.headers.getlist.return_value = []
# MD5
search = get_search_mock(query='md5 test', pageno=1)