@@ -0,0 +1,49 @@
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 = """
24+[{"Id":770931,
25+ "Episode":"S06E18",
26+ "Timestamp":534616,
27+ "Filename":""},
28+ {"Id":1657080,
29+ "Episode":"S12E14",
30+ "Timestamp":910868,
31+ "Filename":""},
32+ {"Id":1943753,
33+ "Episode":"S14E21",
34+ "Timestamp":773439,
35+ "Filename":""},
36+ {"Id":107835,
37+ "Episode":"S02E03",
38+ "Timestamp":531709,
39+ "Filename":""}]
40+ """
41+
42+ response = mock.Mock(text=text)
43+ results = frinkiac.response(response)
44+ self.assertEqual(type(results), list)
45+ self.assertEqual(len(results), 4)
46+ self.assertEqual(results[0]['title'], u'S06E18')
47+ self.assertEqual(results[0]['url'], 'https://frinkiac.com/?p=caption&e=S06E18&t=534616')
48+ self.assertEqual(results[0]['thumbnail_src'], 'https://frinkiac.com/img/S06E18/534616/medium.jpg')
49+ self.assertEqual(results[0]['img_src'], 'https://frinkiac.com/img/S06E18/534616.jpg')