summaryrefslogtreecommitdiff
path: root/tests/unit/engines/test_youtube_noapi.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/engines/test_youtube_noapi.py')
-rw-r--r--tests/unit/engines/test_youtube_noapi.py124
1 files changed, 0 insertions, 124 deletions
diff --git a/tests/unit/engines/test_youtube_noapi.py b/tests/unit/engines/test_youtube_noapi.py
deleted file mode 100644
index cbf7b9bcd..000000000
--- a/tests/unit/engines/test_youtube_noapi.py
+++ /dev/null
@@ -1,124 +0,0 @@
-# -*- coding: utf-8 -*-
-from collections import defaultdict
-import mock
-from searx.engines import youtube_noapi
-from searx.testing import SearxTestCase
-
-
-class TestYoutubeNoAPIEngine(SearxTestCase):
-
- def test_request(self):
- query = 'test_query'
- dicto = defaultdict(dict)
- dicto['pageno'] = 0
- dicto['time_range'] = ''
- params = youtube_noapi.request(query, dicto)
- self.assertIn('url', params)
- self.assertIn(query, params['url'])
- self.assertIn('youtube.com', params['url'])
-
- def test_time_range_search(self):
- dicto = defaultdict(dict)
- query = 'test_query'
- dicto['time_range'] = 'year'
- params = youtube_noapi.request(query, dicto)
- self.assertIn('&sp=EgIIBQ%253D%253D', params['url'])
-
- dicto['time_range'] = 'month'
- params = youtube_noapi.request(query, dicto)
- self.assertIn('&sp=EgIIBA%253D%253D', params['url'])
-
- dicto['time_range'] = 'week'
- params = youtube_noapi.request(query, dicto)
- self.assertIn('&sp=EgIIAw%253D%253D', params['url'])
-
- dicto['time_range'] = 'day'
- params = youtube_noapi.request(query, dicto)
- self.assertIn('&sp=EgIIAg%253D%253D', params['url'])
-
- def test_response(self):
- self.assertRaises(AttributeError, youtube_noapi.response, None)
- self.assertRaises(AttributeError, youtube_noapi.response, [])
- self.assertRaises(AttributeError, youtube_noapi.response, '')
- self.assertRaises(AttributeError, youtube_noapi.response, '[]')
-
- response = mock.Mock(text='<html></html>')
- self.assertEqual(youtube_noapi.response(response), [])
-
- html = """
- <div></div>
- <script>
- window["ytInitialData"] = {
- "contents": {
- "twoColumnSearchResultsRenderer": {
- "primaryContents": {
- "sectionListRenderer": {
- "contents": [
- {
- "itemSectionRenderer": {
- "contents": [
- {
- "videoRenderer": {
- "videoId": "DIVZCPfAOeM",
- "title": {
- "simpleText": "Title"
- },
- "descriptionSnippet": {
- "runs": [
- {
- "text": "Des"
- },
- {
- "text": "cription"
- }
- ]
- }
- }
- },
- {
- "videoRenderer": {
- "videoId": "9C_HReR_McQ",
- "title": {
- "simpleText": "Title"
- },
- "descriptionSnippet": {
- "simpleText": "Description"
- }
- }
- }
- ]
- }
- }
- ]
- }
- }
- }
- }
- };
- </script>
- """
- response = mock.Mock(text=html)
- results = youtube_noapi.response(response)
- self.assertEqual(type(results), list)
- self.assertEqual(len(results), 2)
- self.assertEqual(results[0]['title'], 'Title')
- self.assertEqual(results[0]['url'], 'https://www.youtube.com/watch?v=DIVZCPfAOeM')
- self.assertEqual(results[0]['content'], 'Description')
- self.assertEqual(results[0]['thumbnail'], 'https://i.ytimg.com/vi/DIVZCPfAOeM/hqdefault.jpg')
- self.assertTrue('DIVZCPfAOeM' in results[0]['embedded'])
- self.assertEqual(results[1]['title'], 'Title')
- self.assertEqual(results[1]['url'], 'https://www.youtube.com/watch?v=9C_HReR_McQ')
- self.assertEqual(results[1]['content'], 'Description')
- self.assertEqual(results[1]['thumbnail'], 'https://i.ytimg.com/vi/9C_HReR_McQ/hqdefault.jpg')
- self.assertTrue('9C_HReR_McQ' in results[1]['embedded'])
-
- html = """
- <ol id="item-section-063864" class="item-section">
- <li>
- </li>
- </ol>
- """
- response = mock.Mock(text=html)
- results = youtube_noapi.response(response)
- self.assertEqual(type(results), list)
- self.assertEqual(len(results), 0)