summaryrefslogtreecommitdiff
path: root/tests/unit/engines/test_bing_images.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/engines/test_bing_images.py')
-rw-r--r--tests/unit/engines/test_bing_images.py42
1 files changed, 38 insertions, 4 deletions
diff --git a/tests/unit/engines/test_bing_images.py b/tests/unit/engines/test_bing_images.py
index 287f134..3f30061 100644
--- a/tests/unit/engines/test_bing_images.py
+++ b/tests/unit/engines/test_bing_images.py
@@ -8,10 +8,12 @@ from searx.testing import SearxTestCase
class TestBingImagesEngine(SearxTestCase):
def test_request(self):
+ bing_images.supported_languages = ['fr-FR', 'en-US']
+
query = 'test_query'
dicto = defaultdict(dict)
dicto['pageno'] = 1
- dicto['language'] = 'fr_FR'
+ dicto['language'] = 'fr-FR'
dicto['safesearch'] = 1
dicto['time_range'] = ''
params = bing_images.request(query, dicto)
@@ -19,12 +21,19 @@ class TestBingImagesEngine(SearxTestCase):
self.assertTrue(query in params['url'])
self.assertTrue('bing.com' in params['url'])
self.assertTrue('SRCHHPGUSR' in params['cookies'])
- self.assertTrue('fr' in params['cookies']['SRCHHPGUSR'])
+ self.assertTrue('DEMOTE' in params['cookies']['SRCHHPGUSR'])
+ self.assertTrue('_EDGE_S' in params['cookies'])
+ self.assertTrue('fr-fr' in params['cookies']['_EDGE_S'])
+
+ dicto['language'] = 'fr'
+ params = bing_images.request(query, dicto)
+ self.assertTrue('_EDGE_S' in params['cookies'])
+ self.assertTrue('fr-fr' in params['cookies']['_EDGE_S'])
dicto['language'] = 'all'
params = bing_images.request(query, dicto)
- self.assertIn('SRCHHPGUSR', params['cookies'])
- self.assertIn('en', params['cookies']['SRCHHPGUSR'])
+ self.assertTrue('_EDGE_S' in params['cookies'])
+ self.assertTrue('en-us' in params['cookies']['_EDGE_S'])
def test_response(self):
self.assertRaises(AttributeError, bing_images.response, None)
@@ -82,3 +91,28 @@ class TestBingImagesEngine(SearxTestCase):
self.assertEqual(results[0]['content'], '')
self.assertEqual(results[0]['thumbnail_src'], 'thumb_url')
self.assertEqual(results[0]['img_src'], 'img_url')
+
+ def test_fetch_supported_languages(self):
+ html = """
+ <div>
+ <div id="region-section-content">
+ <ul class="b_vList">
+ <li>
+ <a href="https://bing...&setmkt=de-DE&s...">Germany</a>
+ <a href="https://bing...&setmkt=nb-NO&s...">Norway</a>
+ </li>
+ </ul>
+ <ul class="b_vList">
+ <li>
+ <a href="https://bing...&setmkt=es-AR&s...">Argentina</a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ """
+ response = mock.Mock(text=html)
+ languages = list(bing_images._fetch_supported_languages(response))
+ self.assertEqual(len(languages), 3)
+ self.assertIn('de-DE', languages)
+ self.assertIn('no-NO', languages)
+ self.assertIn('es-AR', languages)