test_music_detection.py (1920B)
1 import unittest 2 3 from lazier.downloader import is_music_content, is_music_domain 4 5 6 class MusicDetectionTests(unittest.TestCase): 7 def test_vlog_with_background_music_tag_not_blocked(self): 8 info = { 9 'category': 'Education', 10 'tags': ['background music', 'vlog', 'tutorial'], 11 } 12 self.assertFalse(is_music_content(info)) 13 14 def test_podcast_category_not_blocked(self): 15 info = { 16 'category': 'People & Blogs', 17 'tags': ['podcast', 'interview'], 18 } 19 self.assertFalse(is_music_content(info)) 20 21 def test_music_category_blocked(self): 22 info = {'category': 'Music', 'tags': ['pop', '2024']} 23 self.assertTrue(is_music_content(info)) 24 25 def test_music_category_lowercase_blocked(self): 26 info = {'categories': ['music']} 27 self.assertTrue(is_music_content(info)) 28 29 def test_official_music_video_tag_blocked(self): 30 info = { 31 'category': 'Entertainment', 32 'tags': ['official music video', 'artist name'], 33 } 34 self.assertTrue(is_music_content(info)) 35 36 def test_lyrics_video_tag_blocked(self): 37 info = { 38 'category': 'Entertainment', 39 'tags': ['lyrics video'], 40 } 41 self.assertTrue(is_music_content(info)) 42 43 def test_genre_music_blocked(self): 44 info = {'category': 'Entertainment', 'genre': 'Música'} 45 self.assertTrue(is_music_content(info)) 46 47 def test_empty_info_not_blocked(self): 48 self.assertFalse(is_music_content({})) 49 self.assertFalse(is_music_content(None)) 50 51 def test_spotify_domain_blocked(self): 52 self.assertTrue(is_music_domain('https://open.spotify.com/track/abc')) 53 54 def test_youtube_domain_not_blocked_by_domain_check(self): 55 self.assertFalse(is_music_domain('https://www.youtube.com/watch?v=abc')) 56 57 58 if __name__ == '__main__': 59 unittest.main()