diff options
author | Marc Abonce Seguin <marc-abonce@mailbox.org> | 2019-11-24 20:21:37 -0700 |
---|---|---|
committer | Marc Abonce Seguin <marc-abonce@mailbox.org> | 2019-11-24 22:01:44 -0700 |
commit | 9299355570e32c4d24d7274d716eca1a93119d13 (patch) | |
tree | 7d9da5b2ee4d3a479560c197848c4a30a361f12c /tests/unit/engines | |
parent | 42d5e2c02cd4715a0e09411efbb249ef5d8defed (diff) | |
download | searxng-9299355570e32c4d24d7274d716eca1a93119d13.tar.gz searxng-9299355570e32c4d24d7274d716eca1a93119d13.zip |
add seedpeer again
Diffstat (limited to 'tests/unit/engines')
-rw-r--r-- | tests/unit/engines/test_seedpeer.py | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/tests/unit/engines/test_seedpeer.py b/tests/unit/engines/test_seedpeer.py new file mode 100644 index 000000000..2057c1cb1 --- /dev/null +++ b/tests/unit/engines/test_seedpeer.py @@ -0,0 +1,66 @@ +# -*- coding: utf-8 -*- +from collections import defaultdict +import mock +from searx.engines import seedpeer +from searx.testing import SearxTestCase + + +class TestBtdiggEngine(SearxTestCase): + + def test_request(self): + query = 'test_query' + dicto = defaultdict(dict) + dicto['pageno'] = 1 + params = seedpeer.request(query, dicto) + self.assertIn('url', params) + self.assertIn(query, params['url']) + self.assertIn('seedpeer', params['url']) + + def test_response(self): + self.assertRaises(AttributeError, seedpeer.response, None) + self.assertRaises(AttributeError, seedpeer.response, []) + self.assertRaises(AttributeError, seedpeer.response, '') + self.assertRaises(AttributeError, seedpeer.response, '[]') + + response = mock.Mock(text='<html></html>') + self.assertEqual(seedpeer.response(response), []) + + html = u""" + <html> + <head> + <script></script> + <script type="text/javascript" src="not_here.js"></script> + <script type="text/javascript"> + window.initialData= + {"data": {"list": [{"name": "Title", "seeds": "10", "peers": "20", "size": "1024", "hash": "abc123"}]}} + </script> + </head> + <body> + <table></table> + <table> + <thead><tr></tr></thead> + <tbody> + <tr> + <td><a href="link">Title</a></td> + <td>1 year</td> + <td>1 KB</td> + <td>10</td> + <td>20</td> + <td></td> + </tr> + </tbody> + </table> + </body> + </html> + """ + response = mock.Mock(text=html) + results = seedpeer.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 1) + self.assertEqual(results[0]['title'], 'Title') + self.assertEqual(results[0]['url'], 'https://seedpeer.me/link') + self.assertEqual(results[0]['seed'], 10) + self.assertEqual(results[0]['leech'], 20) + self.assertEqual(results[0]['filesize'], 1024) + self.assertEqual(results[0]['torrentfile'], 'https://seedpeer.me/torrent/abc123') + self.assertEqual(results[0]['magnetlink'], 'magnet:?xt=urn:btih:abc123') |