diff options
| author | Cqoicebordel <Cqoicebordel@users.noreply.github.com> | 2015-06-01 00:00:32 +0200 |
|---|---|---|
| committer | Cqoicebordel <Cqoicebordel@users.noreply.github.com> | 2015-06-01 00:00:32 +0200 |
| commit | 884eeb8541e0a4cf3d65c2a17e1c2f788cab7fb1 (patch) | |
| tree | a3179b4a58b34bde03e2a140c5511567008af3a9 /searx/tests/engines/test_qwant_images.py | |
| parent | f965c978222cf48e8dd4b7dd6c9a28ccca9bc62f (diff) | |
New Qwant engines
- Web
- Images
- News
- Social media
Diffstat (limited to 'searx/tests/engines/test_qwant_images.py')
| -rw-r--r-- | searx/tests/engines/test_qwant_images.py | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/searx/tests/engines/test_qwant_images.py b/searx/tests/engines/test_qwant_images.py new file mode 100644 index 000000000..bf89f1b01 --- /dev/null +++ b/searx/tests/engines/test_qwant_images.py @@ -0,0 +1,145 @@ +from collections import defaultdict +import mock +from searx.engines import qwant_images +from searx.testing import SearxTestCase + + +class TestQwantImagesEngine(SearxTestCase): + + def test_request(self): + query = 'test_query' + dicto = defaultdict(dict) + dicto['pageno'] = 0 + dicto['language'] = 'fr_FR' + params = qwant_images.request(query, dicto) + self.assertIn('url', params) + self.assertIn(query, params['url']) + self.assertIn('qwant.com', params['url']) + self.assertIn('fr_fr', params['url']) + + dicto['language'] = 'all' + params = qwant_images.request(query, dicto) + self.assertFalse('fr' in params['url']) + + def test_response(self): + self.assertRaises(AttributeError, qwant_images.response, None) + self.assertRaises(AttributeError, qwant_images.response, []) + self.assertRaises(AttributeError, qwant_images.response, '') + self.assertRaises(AttributeError, qwant_images.response, '[]') + + response = mock.Mock(text='{}') + self.assertEqual(qwant_images.response(response), []) + + response = mock.Mock(text='{"data": {}}') + self.assertEqual(qwant_images.response(response), []) + + json = """ + { + "status": "success", + "data": { + "query": { + "locale": "en_us", + "query": "Test", + "offset": 10 + }, + "result": { + "items": [ + { + "title": "Title", + "type": "image", + "media": "http://www.url.xyz/fullimage.jpg", + "desc": "", + "thumbnail": "http://www.url.xyz/thumbnail.jpg", + "thumb_width": 365, + "thumb_height": 230, + "width": "365", + "height": "230", + "size": "187.7KB", + "url": "http://www.url.xyz", + "_id": "0ffd93fb26f3e192a6020af8fc16fbb1", + "media_fullsize": "http://www.proxy/fullimage.jpg", + "count": 0 + } + ], + "filters": [] + }, + "cache": { + "key": "e66aa864c00147a0e3a16ff7a5efafde", + "created": 1433092754, + "expiration": 259200, + "status": "miss", + "age": 0 + } + } + } + """ + response = mock.Mock(text=json) + results = qwant_images.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 1) + self.assertEqual(results[0]['title'], 'Title') + self.assertEqual(results[0]['url'], 'http://www.url.xyz') + self.assertEqual(results[0]['content'], '') + self.assertEqual(results[0]['thumbnail_src'], 'http://www.url.xyz/thumbnail.jpg') + self.assertEqual(results[0]['img_src'], 'http://www.url.xyz/fullimage.jpg') + + json = """ + { + "status": "success", + "data": { + "query": { + "locale": "en_us", + "query": "Test", + "offset": 10 + }, + "result": { + "filters": [] + }, + "cache": { + "key": "e66aa864c00147a0e3a16ff7a5efafde", + "created": 1433092754, + "expiration": 259200, + "status": "miss", + "age": 0 + } + } + } + """ + response = mock.Mock(text=json) + results = qwant_images.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 0) + + json = """ + { + "status": "success", + "data": { + "query": { + "locale": "en_us", + "query": "Test", + "offset": 10 + }, + "cache": { + "key": "e66aa864c00147a0e3a16ff7a5efafde", + "created": 1433092754, + "expiration": 259200, + "status": "miss", + "age": 0 + } + } + } + """ + response = mock.Mock(text=json) + results = qwant_images.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 0) + + json = """ + { + "status": "success" + } + """ + response = mock.Mock(text=json) + results = qwant_images.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 0) |