async def mirror_sync_package_error_early_exit(mirror: Mirror) -> None: mirror.master.all_packages = asynctest.CoroutineMock( # type: ignore return_value={"foo": 1} ) with Path("web/simple/index.html").open("wb") as index: index.write(b"old index") mirror.errors = True mirror.stop_on_error = True with pytest.raises(SystemExit): await mirror.synchronize() assert """\ .lock generation todo web{0}packages{0}any{0}f{0}foo{0}foo.zip web{0}simple{0}foo{0}index.html web{0}simple{0}index.html""".format( sep ) == utils.find( mirror.homedir, dirs=False ) assert open("web{0}simple{0}index.html".format(sep)).read() == "old index" assert open("todo").read() == "1\n"
async def test_mirror_sync_package_error_no_early_exit(mirror: Mirror) -> None: mirror.master.all_packages = asynctest.CoroutineMock( # type: ignore return_value={"foo": 1} ) mirror.errors = True changed_packages = await mirror.synchronize() expected = """\ .lock generation todo web{0}packages{0}2.7{0}f{0}foo{0}foo.whl web{0}packages{0}any{0}f{0}foo{0}foo.zip web{0}simple{0}foo{0}index.html web{0}simple{0}index.html""".format( sep ) if WINDOWS: expected = expected.replace(".lock\n", "") assert expected == utils.find(mirror.homedir, dirs=False) assert ( open("web{0}simple{0}index.html".format(sep)).read() == """\ <!DOCTYPE html> <html> <head> <title>Simple Index</title> </head> <body> <a href="foo/">foo</a><br/> </body> </html>""" ) assert open("todo").read() == "1\n" # Check the returned dict is accurate expected_dict = { "foo": { "web{0}packages{0}2.7{0}f{0}foo{0}foo.whl".format(sep), "web{0}packages{0}any{0}f{0}foo{0}foo.zip".format(sep), } } assert changed_packages == expected_dict