From be54e5269a982e272e2fe8a5064ed898373c9063 Mon Sep 17 00:00:00 2001 From: a01200356 Date: Wed, 30 Dec 2015 00:53:15 -0600 Subject: Add tests for the Wolfram Alpha engines (both API and NO API versions) --- searx/tests/engines/test_wolframalpha_noapi.py | 232 +++++++++++++++++++++++++ 1 file changed, 232 insertions(+) create mode 100644 searx/tests/engines/test_wolframalpha_noapi.py (limited to 'searx/tests/engines/test_wolframalpha_noapi.py') diff --git a/searx/tests/engines/test_wolframalpha_noapi.py b/searx/tests/engines/test_wolframalpha_noapi.py new file mode 100644 index 000000000..d02dccd95 --- /dev/null +++ b/searx/tests/engines/test_wolframalpha_noapi.py @@ -0,0 +1,232 @@ +# -*- coding: utf-8 -*- +from collections import defaultdict +import mock +from searx.engines import wolframalpha_noapi +from searx.testing import SearxTestCase + + +class TestWolframAlphaNoAPIEngine(SearxTestCase): + + def test_request(self): + query = 'test_query' + dicto = defaultdict(dict) + dicto['pageno'] = 1 + params = wolframalpha_noapi.request(query, dicto) + self.assertIn('url', params) + self.assertIn(query, params['url']) + self.assertIn('wolframalpha.com', params['url']) + + def test_response(self): + self.assertRaises(AttributeError, wolframalpha_noapi.response, None) + self.assertRaises(AttributeError, wolframalpha_noapi.response, []) + self.assertRaises(AttributeError, wolframalpha_noapi.response, '') + self.assertRaises(AttributeError, wolframalpha_noapi.response, '[]') + + response = mock.Mock(text='') + self.assertEqual(wolframalpha_noapi.response(response), []) + + html = """ + + sqrt(-1) - Wolfram|Alpha + + + + + + """ + response = mock.Mock(text=html) + results = wolframalpha_noapi.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 1) + self.assertIn("i", results[0]['answer']) + + html = """ + + integral 1/x - Wolfram|Alpha + + + + + + """ + response = mock.Mock(text=html) + results = wolframalpha_noapi.response(response) + self.assertEqual(type(results), list) + self.assertEqual(len(results), 1) + self.assertIn("log(x)+c", results[0]['answer']) -- cgit v1.2.3