aboutsummaryrefslogtreecommitdiff
path: root/tests/check_url.py
blob: ae29c53146446fc648798b51ebb7430d6c910c8e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
from unittest import TestCase

from components.extractor.check_url import is_youtube, is_channel, is_playlist, is_video

class Test_URL_Checker(TestCase):
    def test_youtube_detection(self) -> None:
        self.assertTrue(is_youtube("https://www.youtube.com/watch?v=dQw4w9WgXcQ"))
        self.assertFalse(is_youtube("https://archive.org/"))
        self.assertTrue(is_youtube("https://www.youtube.com/c/3blue1brown"))
        self.assertFalse(is_youtube("https://www.nasa.gov/"))
        self.assertTrue(is_youtube("https://youtu.be/jNQXAC9IVRw"))
        self.assertFalse(is_youtube("https://www.wikipedia.org/"))
        self.assertFalse(is_youtube("https://www.youtube.com/")) # Nothing after the domain.
        self.assertFalse(is_youtube("https://xkcd.com/"))
        self.assertTrue(is_youtube("https://www.youtube.com/@kurzgesagt"))
        self.assertFalse(is_youtube("https://www.gutenberg.org/"))

    def test_channel_detection(self) -> None:
        self.assertTrue(is_channel("https://www.youtube.com/@LexFridman"))
        self.assertTrue(is_channel("https://www.youtube.com/@PrimitiveTechnology"))
        self.assertTrue(is_channel("https://www.youtube.com/user/schafer5"))
        self.assertTrue(is_channel("https://www.youtube.com/channel/UCBa659QWEk1AI4Tg--mrJ2A"))
        self.assertTrue(is_channel("https://www.youtube.com/c/mkbhd"))
        self.assertTrue(is_channel("https://www.youtube.com/@MentalOutlaw/videos"))
        self.assertFalse(is_channel("https://youtu.be/jNQXAC9IVRw"))
        self.assertFalse(is_channel("https://www.youtube.com/watch?v=dQw4w9WgXcQ"))
        self.assertFalse(is_channel("https://www.youtube.com/playlist?list=PL3cu45aM3C2CADmCYeVhS4KTVut9MoMc9"))

    def test_playlist_detection(self) -> None:
        self.assertTrue(is_playlist("https://www.youtube.com/playlist?list=PLZHQObOWTQDMsr9K-rj53DwVRMYO3t5Yr"))
        self.assertTrue(is_playlist("https://www.youtube.com/watch?v=YykjpeuMNEk&list=PLirAqAtl_h2r5g8xGajEwdXd3x1sZh8hC&index=1&t=245s"))
        self.assertFalse(is_playlist("https://www.youtube.com/@LexFridman"))
        self.assertFalse(is_playlist("https://www.youtube.com/watch?v=dQw4w9WgXcQ"))

    def test_video_detection(self) -> None:
        self.assertTrue(is_video("https://youtu.be/G8iEMVr7GFg?t=112"))
        self.assertTrue(is_video("https://www.youtube.com/watch?v=dQw4w9WgXcQ"))
        self.assertTrue(is_video("https://youtu.be/jNQXAC9IVRw"))
        self.assertFalse(is_video("https://www.youtube.com/channel/UCBa659QWEk1AI4Tg--mrJ2A"))
        self.assertFalse(is_video("https://www.youtube.com/playlist?list=PLZHQObOWTQDMsr9K-rj53DwVRMYO3t5Yr"))