def test_calculate_content_diff( job_type: JobType, create_sync_job: CreateSyncJob, create_content_item: CreateContentItem, ) -> None: job = create_sync_job(job_type) item_one = create_content_item(job_type) item_two = create_content_item(job_type) source_content: ContentItems = [ item_one, item_two, ] dest_content: ContentItems = [item_two] content_diff = calculate_content_diff( job=job, source_content=source_content, source_tags=[], source_profiles=[], dest_content=dest_content, ) print(content_diff) assert len(content_diff) == 1 assert item_in_list(content_diff, item_one) assert not item_in_list(content_diff, item_two)
def test_calculate_content_diff_radarr_include_missing( create_sync_job: CreateSyncJob, create_content_item: CreateContentItem, ) -> None: job_type = JobType.Radarr job = create_sync_job(job_type, source_include_missing=True) item_one = create_content_item( job_type, has_file=False, ) item_two = create_content_item( job_type, has_file=True, ) source_content: ContentItems = [ item_one, item_two, ] dest_content: ContentItems = [] content_diff = calculate_content_diff( job=job, source_content=source_content, source_tags=[], source_profiles=[], dest_content=dest_content, ) assert len(content_diff) == 2 assert item_in_list(content_diff, item_one) assert item_in_list(content_diff, item_two)
def test_calculate_content_diff_tag_exclude( job_type: JobType, create_sync_job: CreateSyncJob, create_content_item: CreateContentItem, ) -> None: job = create_sync_job(job_type, source_tag_exclude="1, tag 4") source_tags = [ Tag(label="Tag 1", id=1), Tag(label="Tag 2", id=2), Tag(label="Tag 3", id=3), Tag(label="Tag 4", id=4), ] item_one = create_content_item( job_type, tags=[1, 2], ) item_two = create_content_item( job_type, tags=[3], ) item_three = create_content_item( job_type, tags=[4], ) item_four = create_content_item(job_type) source_content: ContentItems = [ item_one, item_two, item_three, item_four, ] dest_content: ContentItems = [] content_diff = calculate_content_diff( job=job, source_content=source_content, source_tags=source_tags, source_profiles=[], dest_content=dest_content, ) assert len(content_diff) == 2 assert item_in_list(content_diff, item_two) assert item_in_list(content_diff, item_four) assert not item_in_list(content_diff, item_one) assert not item_in_list(content_diff, item_three)
def test_calculate_content_quality_profile_include( job_type: JobType, create_sync_job: CreateSyncJob, create_content_item: CreateContentItem, ) -> None: job = create_sync_job(job_type, source_profile_include=" other one , 20") source_profiles: Profiles = [ Profile(name="Any", id=1), Profile(name="Other One", id=10), Profile(name="Profile", id=20), ] item_one = create_content_item(job_type, quality_profile_id=1) item_two = create_content_item(job_type, quality_profile_id=10) item_three = create_content_item(job_type, quality_profile_id=20) source_content: ContentItems = [ item_one, item_two, item_three, ] dest_content: ContentItems = [] content_diff = calculate_content_diff( job=job, source_content=source_content, source_tags=[], source_profiles=source_profiles, dest_content=dest_content, ) print(content_diff) assert len(content_diff) == 2 assert item_in_list(content_diff, item_three) assert item_in_list(content_diff, item_two) assert not item_in_list(content_diff, item_one)