示例#1
0
def test_filter(bangumi_names):
    name = bangumi_names[0]
    main(f"add {name} --episode 0".split())
    main([
        "filter", name, "--subtitle", "", "--exclude", "MKV", "--regex",
        "720p|720P"
    ])
    f = Filter.get(bangumi_name=name, exclude="MKV", regex="720p|720P")
    assert not f.include
    assert not f.subtitle
示例#2
0
def test_cal_force_update():
    class MockWebsite(BangumiMoe):
        def fetch_bangumi_calendar(self):
            bangumi = BangumiMoe().fetch_bangumi_calendar()
            bangumi[0].update_time = "Unknown"
            return bangumi

    with mock.patch("bgmi.lib.controllers.website", MockWebsite()):
        main("cal -f".split())
        assert [
            x.name
            for x in Bangumi.select().where(Bangumi.update_time == "Unknown")
        ], "at least 1 bangumi's update_time is 'Unknown'"
示例#3
0
def test_search_with_filter(mock_download_driver: mock.Mock):
    mock_website = mock.Mock()
    mock_website.search_by_keyword = mock.Mock(
        return_value=[
            Episode(episode=3, download="magnet:mm", title="t 720p", name="海贼王"),
            Episode(episode=4, download="magnet:4", title="t 1080p", name="海贼王"),
        ]
    )

    with mock.patch("bgmi.lib.controllers.website", mock_website):
        main("search 海贼王 --download --regex .*720.*".split())

    mock_website.search_by_keyword.assert_called_once_with("海贼王", count=MAX_PAGE)

    mock_download_driver.add_download.assert_called_once_with(
        url="magnet:mm", save_path=os.path.join(SAVE_PATH, "海贼王", "3")
    )
示例#4
0
def test_search_with_filter():
    with mock.patch("bgmi.lib.download.get_download_class",
                    return_download_class):
        main("search 海贼王 --download --regex .*720.*".split())
示例#5
0
def test_update(bangumi_names):
    with mock.patch("bgmi.lib.download.get_download_class",
                    return_download_class):
        main(["add"] + bangumi_names + ["--episode", "0"])
        main("update -d".split())
示例#6
0
def test_download():
    with mock.patch("bgmi.lib.download.get_download_class",
                    return_download_class):
        main("search 海贼王 --download".split())
示例#7
0
def test_mark(bangumi_names):
    name = bangumi_names[0]
    main(f"add {name} --episode 0".split())
    main(f"mark {name} 1".split())
    assert Followed.get(bangumi_name=name).episode == 1
示例#8
0
def test_gen_nginx_conf():
    main("gen nginx.conf --server-name _".split())
示例#9
0
def test_fetch(bangumi_names):
    name = bangumi_names[0]
    main(f"add {name} --episode 0".split())
    main(f"fetch {name}".split())
示例#10
0
def test_delete_batch(bangumi_names):
    main(["add", *bangumi_names, "--episode", "0"])
    main("delete  --clear-all --batch".split())
示例#11
0
def test_delete(bangumi_names):
    name = bangumi_names[0]
    main(f"add {name} --episode 0".split())
    main(f"delete --name {name}".split())
示例#12
0
def test_search(bangumi_names):
    main(["search", "海贼王", "--regex-filter", ".*MP4.*720P.*"])
示例#13
0
def test_update_single(bangumi_names):
    name = bangumi_names[0]
    main(f"add {name}".split())
    main(["update", name])
示例#14
0
def test_update(bangumi_names):
    main(["add", *bangumi_names])
    main(["update"])
示例#15
0
def test_add(bangumi_names):
    main(["add", *bangumi_names])
示例#16
0
def test_cal_config():
    main("config".split())
    main("config ADMIN_TOKEN 233".split())
    main("config DOWNLOAD_DELEGATE xunlei".split())
    main("config BANGUMI_MOE_URL https://bangumi.moe".split())
示例#17
0
from bgmi.main import main

main()
示例#18
0
文件: test_cli.py 项目: Trim21/BGmi
def test_cal_config():
    main("config".split())
    main("config ADMIN_TOKEN 233".split())
    main("config BANGUMI_MOE_URL https://bangumi.moe".split())