Ejemplo n.º 1
0
def test_safari_find_downloads_stp_20220707(mocked_get):
    safari = browser.Safari(logger)
    page_path = os.path.join(os.path.dirname(__file__), "safari-downloads", "2022-07-07.html")

    # Setup mock
    response = requests.models.Response()
    response.status_code = 200
    response.encoding = "utf-8"
    with open(page_path, "rb") as fp:
        response._content = fp.read()
    mocked_get.return_value = response

    downloads = safari._find_downloads()

    assert len(downloads) == 2

    assert downloads[0][0] == SpecifierSet("==13.*")
    assert "12.4" not in downloads[0][0]
    assert "13.0" in downloads[0][0]
    assert "13.5" in downloads[0][0]
    assert "14.0" not in downloads[0][0]

    assert downloads[1][0] == SpecifierSet("~=12.3")
    assert "11.5" not in downloads[1][0]
    assert "12.2" not in downloads[1][0]
    assert "12.3" in downloads[1][0]
    assert "12.5" in downloads[1][0]
    assert "13.0" not in downloads[1][0]
Ejemplo n.º 2
0
def test_safari_version(mocked_check_output):
    safari = browser.Safari(logger)

    # Safari
    mocked_check_output.return_value = b'Included with Safari 12.1 (14607.1.11)'
    assert safari.version(webdriver_binary="safaridriver") == '12.1 (14607.1.11)'

    # Safari Technology Preview
    mocked_check_output.return_value = b'Included with Safari Technology Preview (Release 67, 13607.1.9.0.1)'
    assert safari.version(webdriver_binary="safaridriver") == 'Technology Preview (Release 67, 13607.1.9.0.1)'
Ejemplo n.º 3
0
def test_safari_version_errors(mocked_check_output):
    safari = browser.Safari(logger)

    # No webdriver_binary
    assert safari.version() is None

    # `safaridriver --version` return gibberish
    mocked_check_output.return_value = b'gibberish'
    assert safari.version(webdriver_binary="safaridriver") is None

    # `safaridriver --version` fails (as it does for Safari <=12.0)
    mocked_check_output.return_value = b'dummy'
    mocked_check_output.side_effect = subprocess.CalledProcessError(1, 'cmd')
    assert safari.version(webdriver_binary="safaridriver") is None
Ejemplo n.º 4
0
def test_safari_find_downloads_stp(mocked_get, page_path):
    safari = browser.Safari(logger)

    # Setup mock
    response = requests.models.Response()
    response.status_code = 200
    response.encoding = "utf-8"
    with open(page_path, "rb") as fp:
        response._content = fp.read()
    mocked_get.return_value = response

    downloads = safari._find_downloads()

    if page_path.endswith(
        (
            "2022-07-05.html",
        )
    ):
        # occasionally STP is only shipped for a single OS version
        assert len(downloads) == 1
    else:
        assert len(downloads) == 2