Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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)
Ejemplo n.º 4
0
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)