Files
aqtinstall/tests/test_connection.py
2021-09-01 12:36:29 -07:00

46 lines
1.4 KiB
Python

import re
import sys
import pytest
import aqt
@pytest.mark.remote_data
def test_cli_unknown_version(capsys):
wrong_version = "5.16.0"
wrong_url_ending = "mac_x64/desktop/qt5_5160/Updates.xml"
cli = aqt.installer.Cli()
assert cli.run(["install-qt", "mac", "desktop", wrong_version]) == 1
out, err = capsys.readouterr()
sys.stdout.write(out)
sys.stderr.write(err)
assert not out
"""
Expected result when no redirect occurs:
aqtinstall(aqt) v.* on Python 3.*
Specified Qt version is unknown: 5.16.0.
Failed to retrieve file at https://download.qt.io/online/qtsdkrepository/mac_x64/desktop/qt5_5160/Updates.xml
Server response code: 404, reason: Not Found
Expected result when redirect occurs:
aqtinstall(aqt) v.* on Python 3.*
Specified Qt version is unknown: 5.16.0.
Connection to the download site failed and fallback to mirror site.
Failed to retrieve file at .*/mac_x64/desktop/qt5_5160/Updates.xml
Server response code: 404, reason: Not Found
Connection to the download site failed. Aborted...
"""
matcher = re.compile(
r"^aqtinstall\(aqt\) v.* on Python 3.*\n"
r".*Specified Qt version is unknown: " + re.escape(wrong_version) + r"\.\n"
r".*Failed to retrieve file at .*" + re.escape(wrong_url_ending) + r"\n"
r".*Server response code: 404, reason: Not Found.*"
)
assert matcher.match(err)