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
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'"
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") )
def test_search_with_filter(): with mock.patch("bgmi.lib.download.get_download_class", return_download_class): main("search 海贼王 --download --regex .*720.*".split())
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())
def test_download(): with mock.patch("bgmi.lib.download.get_download_class", return_download_class): main("search 海贼王 --download".split())
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
def test_gen_nginx_conf(): main("gen nginx.conf --server-name _".split())
def test_fetch(bangumi_names): name = bangumi_names[0] main(f"add {name} --episode 0".split()) main(f"fetch {name}".split())
def test_delete_batch(bangumi_names): main(["add", *bangumi_names, "--episode", "0"]) main("delete --clear-all --batch".split())
def test_delete(bangumi_names): name = bangumi_names[0] main(f"add {name} --episode 0".split()) main(f"delete --name {name}".split())
def test_search(bangumi_names): main(["search", "海贼王", "--regex-filter", ".*MP4.*720P.*"])
def test_update_single(bangumi_names): name = bangumi_names[0] main(f"add {name}".split()) main(["update", name])
def test_update(bangumi_names): main(["add", *bangumi_names]) main(["update"])
def test_add(bangumi_names): main(["add", *bangumi_names])
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())
from bgmi.main import main main()
def test_cal_config(): main("config".split()) main("config ADMIN_TOKEN 233".split()) main("config BANGUMI_MOE_URL https://bangumi.moe".split())