# -*- coding: utf-8 -*- from collections import defaultdict import mock from searx.engines import btdigg from searx.testing import SearxTestCase class TestBtdiggEngine(SearxTestCase): def test_request(self): query = 'test_query' dicto = defaultdict(dict) dicto['pageno'] = 0 params = btdigg.request(query, dicto) self.assertIn('url', params) self.assertIn(query, params['url']) self.assertIn('btdig.com', params['url']) def test_response(self): self.assertRaises(AttributeError, btdigg.response, None) self.assertRaises(AttributeError, btdigg.response, []) self.assertRaises(AttributeError, btdigg.response, '') self.assertRaises(AttributeError, btdigg.response, '[]') response = mock.Mock(text='') self.assertEqual(btdigg.response(response), []) html = u"""
4217 files 1 GBfound 3 years ago
found 3 years ago
3.9GBdeLibrosByHuasoFromHell(3de4)

Libros H-Z

H

H.H. Hollis - El truco de la espada-pdf.zip
17 KB
Hagakure - El Libro del Samurai-pdf.zip
95 KB
Hamsun, Knut (1859-1952)

Hamsun, Knut - Hambre-pdf.zip
786 KB
""" response = mock.Mock(text=html.encode('utf-8')) results = btdigg.response(response) self.assertEqual(type(results), list) self.assertEqual(len(results), 1) self.assertEqual(results[0]['title'], '3.9GBdeLibrosByHuasoFromHell(3de4)') self.assertEqual(results[0]['url'], 'http://btdig.com/a72f35b7ee3a10928f02bb799e40ae5db701ed1c/pdf?q=pdf&p=1&order=0') self.assertEqual(results[0]['content'], '3.9GBdeLibrosByHuasoFromHell(3de4) | ' + 'Libros H-Z | ' + 'H H.H. Hollis - El truco de la espada-pdf.zip17 KB | ' + 'Hagakure - El Libro del Samurai-pdf.zip95 KB | ' + 'Hamsun, Knut (1859-1952) | Hamsun, Knut - Hambre-pdf.zip786 KB | ' + '4214 hidden files1 GB') self.assertEqual(results[0]['filesize'], 1 * 1024 * 1024 * 1024) self.assertEqual(results[0]['files'], 4217) self.assertEqual(results[0]['magnetlink'], 'magnet:?xt=urn:btih:a72f35b7ee3a10928f02bb799e40ae5db701ed1c&dn=3.9GBdeLibrosBy...') html = """
""" response = mock.Mock(text=html.encode('utf-8')) results = btdigg.response(response) self.assertEqual(type(results), list) self.assertEqual(len(results), 0)