summaryrefslogtreecommitdiff
path: root/tests/unit/engines
diff options
context:
space:
mode:
authorMarc Abonce Seguin <marc-abonce@mailbox.org>2019-11-24 20:21:37 -0700
committerMarc Abonce Seguin <marc-abonce@mailbox.org>2019-11-24 22:01:44 -0700
commit9299355570e32c4d24d7274d716eca1a93119d13 (patch)
tree7d9da5b2ee4d3a479560c197848c4a30a361f12c /tests/unit/engines
parent42d5e2c02cd4715a0e09411efbb249ef5d8defed (diff)
downloadsearxng-9299355570e32c4d24d7274d716eca1a93119d13.tar.gz
searxng-9299355570e32c4d24d7274d716eca1a93119d13.zip
add seedpeer again
Diffstat (limited to 'tests/unit/engines')
-rw-r--r--tests/unit/engines/test_seedpeer.py66
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')