Use V for tests.py

This commit is contained in:
tcely 2025-02-12 19:40:55 -05:00 committed by GitHub
parent a81d946980
commit 150bb9a5f8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -19,8 +19,8 @@ from .models import Source, Media
from .tasks import cleanup_old_media
from .filtering import filter_media
from .utils import filter_response
from .choices import (Fallback, IndexSchedule, SourceResolution,
youtube_long_source_types)
from .choices import (V, Fallback, IndexSchedule, SourceResolution,
YouTube_SourceType, youtube_long_source_types)
class FrontEndTestCase(TestCase):
@ -118,7 +118,7 @@ class FrontEndTestCase(TestCase):
}
}
c = Client()
for source_type in test_sources.keys():
for source_type in youtube_long_source_types.keys():
response = c.get(f'/source-validate/{source_type}')
self.assertEqual(response.status_code, 200)
response = c.get('/source-validate/invalid')
@ -228,7 +228,7 @@ class FrontEndTestCase(TestCase):
expected_categories)
# Update the source key
data = {
'source_type': Source.SOURCE_TYPE_YOUTUBE_CHANNEL,
'source_type': V(YouTube_SourceType.CHANNEL),
'key': 'updatedkey', # changed
'name': 'testname',
'directory': 'testdirectory',
@ -236,15 +236,15 @@ class FrontEndTestCase(TestCase):
'download_cap': 0,
'filter_text': '.*',
'filter_seconds_min': True,
'index_schedule': IndexSchedule.EVERY_HOUR,
'index_schedule': V(IndexSchedule.EVERY_HOUR),
'delete_old_media': False,
'days_to_keep': 14,
'source_resolution': SourceResolution.VIDEO_1080P.value,
'source_resolution': V(SourceResolution.VIDEO_1080P),
'source_vcodec': Source.SOURCE_VCODEC_VP9,
'source_acodec': Source.SOURCE_ACODEC_OPUS,
'prefer_60fps': False,
'prefer_hdr': False,
'fallback': Fallback.FAIL.value,
'fallback': V(Fallback.FAIL),
'sponsorblock_categories': data_categories,
'sub_langs': 'en',
}
@ -265,7 +265,7 @@ class FrontEndTestCase(TestCase):
expected_categories)
# Update the source index schedule which should recreate the scheduled task
data = {
'source_type': Source.SOURCE_TYPE_YOUTUBE_CHANNEL,
'source_type': V(YouTube_SourceType.CHANNEL),
'key': 'updatedkey',
'name': 'testname',
'directory': 'testdirectory',
@ -273,15 +273,15 @@ class FrontEndTestCase(TestCase):
'download_cap': 0,
'filter_text': '.*',
'filter_seconds_min': True,
'index_schedule': IndexSchedule.EVERY_2_HOURS, # changed
'index_schedule': V(IndexSchedule.EVERY_2_HOURS), # changed
'delete_old_media': False,
'days_to_keep': 14,
'source_resolution': SourceResolution.VIDEO_1080P.value,
'source_resolution': V(SourceResolution.VIDEO_1080P),
'source_vcodec': Source.SOURCE_VCODEC_VP9,
'source_acodec': Source.SOURCE_ACODEC_OPUS,
'prefer_60fps': False,
'prefer_hdr': False,
'fallback': Fallback.FAIL.value,
'fallback': V(Fallback.FAIL),
'sponsorblock_categories': data_categories,
'sub_langs': 'en',
}
@ -335,19 +335,19 @@ class FrontEndTestCase(TestCase):
self.assertEqual(response.status_code, 200)
# Add a test source
test_source = Source.objects.create(
source_type=Source.SOURCE_TYPE_YOUTUBE_CHANNEL,
source_type=V(YouTube_SourceType.CHANNEL),
key='testkey',
name='testname',
directory='testdirectory',
index_schedule=IndexSchedule.EVERY_HOUR,
index_schedule=V(IndexSchedule.EVERY_HOUR),
delete_old_media=False,
days_to_keep=14,
source_resolution=SourceResolution.VIDEO_1080P.value,
source_resolution=V(SourceResolution.VIDEO_1080P),
source_vcodec=Source.SOURCE_VCODEC_VP9,
source_acodec=Source.SOURCE_ACODEC_OPUS,
prefer_60fps=False,
prefer_hdr=False,
fallback=Fallback.FAIL.value
fallback=V(Fallback.FAIL)
)
# Add some media
test_minimal_metadata = '''
@ -516,7 +516,7 @@ class FilepathTestCase(TestCase):
logging.disable(logging.CRITICAL)
# Add a test source
self.source = Source.objects.create(
source_type=Source.SOURCE_TYPE_YOUTUBE_CHANNEL,
source_type=V(YouTube_SourceType.CHANNEL),
key='testkey',
name='testname',
directory='testdirectory',
@ -524,12 +524,12 @@ class FilepathTestCase(TestCase):
index_schedule=3600,
delete_old_media=False,
days_to_keep=14,
source_resolution=SourceResolution.VIDEO_1080P.value,
source_resolution=V(SourceResolution.VIDEO_1080P),
source_vcodec=Source.SOURCE_VCODEC_VP9,
source_acodec=Source.SOURCE_ACODEC_OPUS,
prefer_60fps=False,
prefer_hdr=False,
fallback=Fallback.FAIL.value
fallback=V(Fallback.FAIL)
)
# Add some test media
self.media = Media.objects.create(
@ -655,11 +655,11 @@ class FilepathTestCase(TestCase):
self.assertTrue(isinstance(settings.SOURCE_DOWNLOAD_DIRECTORY_PREFIX, bool))
# Test the default behavior for "True", forced "audio" or "video" parent directories for sources
settings.SOURCE_DOWNLOAD_DIRECTORY_PREFIX = True
self.source.source_resolution = SourceResolution.AUDIO.value
self.source.source_resolution = V(SourceResolution.AUDIO)
test_audio_prefix_path = Path(self.source.directory_path)
self.assertEqual(test_audio_prefix_path.parts[-2], 'audio')
self.assertEqual(test_audio_prefix_path.parts[-1], 'testdirectory')
self.source.source_resolution = SourceResolution.VIDEO_1080P.value
self.source.source_resolution = V(SourceResolution.VIDEO_1080P)
test_video_prefix_path = Path(self.source.directory_path)
self.assertEqual(test_video_prefix_path.parts[-2], 'video')
self.assertEqual(test_video_prefix_path.parts[-1], 'testdirectory')
@ -676,7 +676,7 @@ class MediaTestCase(TestCase):
logging.disable(logging.CRITICAL)
# Add a test source
self.source = Source.objects.create(
source_type=Source.SOURCE_TYPE_YOUTUBE_CHANNEL,
source_type=V(YouTube_SourceType.CHANNEL),
key='testkey',
name='testname',
directory='testdirectory',
@ -684,12 +684,12 @@ class MediaTestCase(TestCase):
index_schedule=3600,
delete_old_media=False,
days_to_keep=14,
source_resolution=SourceResolution.VIDEO_1080P.value,
source_resolution=V(SourceResolution.VIDEO_1080P),
source_vcodec=Source.SOURCE_VCODEC_VP9,
source_acodec=Source.SOURCE_ACODEC_OPUS,
prefer_60fps=False,
prefer_hdr=False,
fallback=Fallback.FAIL.value
fallback=V(Fallback.FAIL)
)
# Add some test media
self.media = Media.objects.create(
@ -749,7 +749,7 @@ class MediaFilterTestCase(TestCase):
# logging.disable(logging.CRITICAL)
# Add a test source
self.source = Source.objects.create(
source_type=Source.SOURCE_TYPE_YOUTUBE_CHANNEL,
source_type=V(YouTube_SourceType.CHANNEL),
key="testkey",
name="testname",
directory="testdirectory",
@ -757,12 +757,12 @@ class MediaFilterTestCase(TestCase):
index_schedule=3600,
delete_old_media=False,
days_to_keep=14,
source_resolution=SourceResolution.VIDEO_1080P.value,
source_resolution=V(SourceResolution.VIDEO_1080P),
source_vcodec=Source.SOURCE_VCODEC_VP9,
source_acodec=Source.SOURCE_ACODEC_OPUS,
prefer_60fps=False,
prefer_hdr=False,
fallback=Fallback.FAIL.value,
fallback=V(Fallback.FAIL),
)
# Add some test media
self.media = Media.objects.create(
@ -919,19 +919,19 @@ class FormatMatchingTestCase(TestCase):
logging.disable(logging.CRITICAL)
# Add a test source
self.source = Source.objects.create(
source_type=Source.SOURCE_TYPE_YOUTUBE_CHANNEL,
source_type=V(YouTube_SourceType.CHANNEL),
key='testkey',
name='testname',
directory='testdirectory',
index_schedule=3600,
delete_old_media=False,
days_to_keep=14,
source_resolution=SourceResolution.VIDEO_1080P.value,
source_resolution=V(SourceResolution.VIDEO_1080P),
source_vcodec=Source.SOURCE_VCODEC_VP9,
source_acodec=Source.SOURCE_ACODEC_OPUS,
prefer_60fps=False,
prefer_hdr=False,
fallback=Fallback.FAIL.value
fallback=V(Fallback.FAIL)
)
# Add some media
self.media = Media.objects.create(
@ -941,7 +941,7 @@ class FormatMatchingTestCase(TestCase):
)
def test_combined_exact_format_matching(self):
self.source.fallback = Fallback.FAIL.value
self.source.fallback = V(Fallback.FAIL)
self.media.metadata = all_test_metadata['boring']
self.media.save()
expected_matches = {
@ -1071,7 +1071,7 @@ class FormatMatchingTestCase(TestCase):
self.assertEqual(match_type, expected_match_type)
def test_audio_exact_format_matching(self):
self.source.fallback = Fallback.FAIL.value
self.source.fallback = V(Fallback.FAIL)
self.media.metadata = all_test_metadata['boring']
self.media.save()
expected_matches = {
@ -1217,7 +1217,7 @@ class FormatMatchingTestCase(TestCase):
self.assertEqual(match_type, expeceted_match_type)
def test_video_exact_format_matching(self):
self.source.fallback = Fallback.FAIL.value
self.source.fallback = V(Fallback.FAIL)
# Test no 60fps, no HDR metadata
self.media.metadata = all_test_metadata['boring']
self.media.save()
@ -1427,7 +1427,7 @@ class FormatMatchingTestCase(TestCase):
self.assertEqual(match_type, expeceted_match_type)
def test_video_next_best_format_matching(self):
self.source.fallback = Fallback.NEXT_BEST.value
self.source.fallback = V(Fallback.NEXT_BEST)
# Test no 60fps, no HDR metadata
self.media.metadata = all_test_metadata['boring']
self.media.save()
@ -1737,19 +1737,19 @@ class ResponseFilteringTestCase(TestCase):
logging.disable(logging.CRITICAL)
# Add a test source
self.source = Source.objects.create(
source_type=Source.SOURCE_TYPE_YOUTUBE_CHANNEL,
source_type=V(YouTube_SourceType.CHANNEL),
key='testkey',
name='testname',
directory='testdirectory',
index_schedule=3600,
delete_old_media=False,
days_to_keep=14,
source_resolution=SourceResolution.VIDEO_1080P.value,
source_resolution=V(SourceResolution.VIDEO_1080P),
source_vcodec=Source.SOURCE_VCODEC_VP9,
source_acodec=Source.SOURCE_ACODEC_OPUS,
prefer_60fps=False,
prefer_hdr=False,
fallback=Fallback.FAIL.value
fallback=V(Fallback.FAIL)
)
# Add some media
self.media = Media.objects.create(