From 45d15bd6f0d64c9e10dde31cec239936ee553dd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= Date: Fri, 6 Jan 2017 00:22:43 +0100 Subject: Add framalibre engine framalibre.org is a catalogue of Free Software, edited by Framasoft. For now we pass the thumbnail as img_src as it doesn't seem to be used for IT... --- tests/unit/engines/test_framalibre.py | 103 ++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 tests/unit/engines/test_framalibre.py (limited to 'tests/unit') diff --git a/tests/unit/engines/test_framalibre.py b/tests/unit/engines/test_framalibre.py new file mode 100644 index 000000000..850996372 --- /dev/null +++ b/tests/unit/engines/test_framalibre.py @@ -0,0 +1,103 @@ +# -*- coding: utf-8 -*- +from collections import defaultdict +import mock +from searx.engines import framalibre +from searx.testing import SearxTestCase + + +class TestFramalibreEngine(SearxTestCase): + + def test_request(self): + query = 'test_query' + dicto = defaultdict(dict) + dicto['pageno'] = 0 + params = framalibre.request(query, dicto) + self.assertTrue('url' in params) + self.assertTrue(query in params['url']) + self.assertTrue('framalibre.org' in params['url']) + + def test_response(self): + self.assertRaises(AttributeError, framalibre.response, None) + self.assertRaises(AttributeError, framalibre.response, []) + self.assertRaises(AttributeError, framalibre.response, '') + self.assertRaises(AttributeError, framalibre.response, '[]') + + response = mock.Mock(text='{}') + self.assertEqual(framalibre.response(response), []) + + response = mock.Mock(text='{"data": []}') + self.assertEqual(framalibre.response(response), []) + + html = u""" +
+
+
+
+ +
+
+

Gogs

+ +
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+

Gogs est une interface web basée sur git et une bonne alternative à GitHub.

+
+
+
+
+ +
+
+ """ + response = mock.Mock(text=html) + results = framalibre.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 1) + self.assertEqual(results[0]['title'], 'Gogs') + self.assertEqual(results[0]['url'], + 'https://framalibre.org/content/gogs') + self.assertEqual(results[0]['content'], + u"Gogs est une interface web basée sur git et une bonne alternative à GitHub.") -- cgit v1.2.3