From f2d49a697124b8f4c6a4df68626b3d29ec959e70 Mon Sep 17 00:00:00 2001 From: Marc Abonce Seguin Date: Tue, 26 Mar 2019 20:33:36 -0600 Subject: [fix] get youtube results from js object Results are not appearing in the html document anymore, instead they are found inside an object embedded in a script. --- tests/unit/engines/test_youtube_noapi.py | 162 +++++++++++-------------------- 1 file changed, 56 insertions(+), 106 deletions(-) (limited to 'tests/unit/engines') diff --git a/tests/unit/engines/test_youtube_noapi.py b/tests/unit/engines/test_youtube_noapi.py index 41dcbb749..cbf7b9bcd 100644 --- a/tests/unit/engines/test_youtube_noapi.py +++ b/tests/unit/engines/test_youtube_noapi.py @@ -46,121 +46,71 @@ class TestYoutubeNoAPIEngine(SearxTestCase): self.assertEqual(youtube_noapi.response(response), []) html = """ -
    -
  1. -
    -
    - - - -
    -
    -

    - - Title - - - Durée : 11:35. -

    -
    -
      -
    • il y a 20 heures
    • -
    • 8 424 vues
    • -
    -
    -
    - Description -
    -
    -
      -
    • - Nouveauté -
    • -
    • HD
    • -
    -
    -
    -
    -
    -
    -
    -
    -
    -
  2. -
+
+ """ response = mock.Mock(text=html) results = youtube_noapi.response(response) self.assertEqual(type(results), list) - self.assertEqual(len(results), 1) + 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']) - - html = """ -
    -
  1. -
    -
    - - - -
    -
    -

    - - Durée : 11:35. -

    -
    -
      -
    • il y a 20 heures
    • -
    • 8 424 vues
    • -
    -
    -
    -
      -
    • - Nouveauté -
    • -
    • HD
    • -
    -
    -
    -
    -
    -
    -
    -
    -
    -
  2. -
- """ - response = mock.Mock(text=html) - results = youtube_noapi.response(response) - self.assertEqual(type(results), list) - self.assertEqual(len(results), 1) + 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 = """
    -- cgit v1.2.3