@@ -0,0 +1,47 @@
1+# -*- coding: utf-8 -*-
2+from collections import defaultdict
3+import mock
4+from json import dumps
5+from searx.engines import frinkiac
6+from searx.testing import SearxTestCase
7+
8+
9+class TestFrinkiacEngine(SearxTestCase):
10+
11+ def test_request(self):
12+ query = 'test_query'
13+ request_dict = defaultdict(dict)
14+ params = frinkiac.request(query, request_dict)
15+ self.assertTrue('url' in params)
16+
17+ def test_response(self):
18+ self.assertRaises(AttributeError, frinkiac.response, None)
19+ self.assertRaises(AttributeError, frinkiac.response, [])
20+ self.assertRaises(AttributeError, frinkiac.response, '')
21+ self.assertRaises(AttributeError, frinkiac.response, '[]')
22+
23+ text = dumps([{'Id': 654234,
24+ 'Episode': 'S05E21',
25+ 'Timestamp': 3453455,
26+ 'Filename': ''},
27+ {'Id': 435354,
28+ 'Episode': 'S05E22',
29+ 'Timestamp': 3453456,
30+ 'Filename': ''},
31+ {'Id': 435333,
32+ 'Episode': 'S05E23',
33+ 'Timestamp': 3453457,
34+ 'Filename': ''},
35+ {'Id': 477234,
36+ 'Episode': 'S05E24',
37+ 'Timestamp': 3453458,
38+ 'Filename': ''}])
39+
40+ response = mock.Mock(text=text)
41+ results = frinkiac.response(response)
42+ self.assertEqual(type(results), list)
43+ self.assertEqual(len(results), 4)
44+ self.assertEqual(results[0]['title'], u'S05E21')
45+ self.assertEqual(results[0]['url'], 'https://frinkiac.com/?p=caption&e=S05E21&t=3453455')
46+ self.assertEqual(results[0]['thumbnail_src'], 'https://frinkiac.com/img/S05E21/3453455/medium.jpg')
47+ self.assertEqual(results[0]['img_src'], 'https://frinkiac.com/img/S05E21/3453455.jpg')