Ejemplo n.º 1
0
def test_get_release_unsecure(mocker, caplog):
    @contextmanager
    def _release(of, context):
        assert of == "https://pypi.org/pypi/pip/json"
        if context is None:
            raise URLError("insecure")
        assert context
        yield StringIO(
            json.dumps({
                "releases": {
                    "20.1": [{
                        "upload_time": "2020-12-22T12:12:12"
                    }]
                }
            }))

    url_o = mocker.patch("virtualenv.seed.wheels.periodic_update.urlopen",
                         side_effect=_release)

    result = release_date_for_wheel_path(Path("pip-20.1.whl"))

    assert result == datetime(year=2020,
                              month=12,
                              day=22,
                              hour=12,
                              minute=12,
                              second=12)
    assert url_o.call_count == 2
    assert "insecure" in caplog.text
    assert " failed " in caplog.text
Ejemplo n.º 2
0
def test_get_release_fails(mocker, caplog):
    exc = RuntimeError("oh no")
    url_o = mocker.patch("virtualenv.seed.wheels.periodic_update.urlopen", side_effect=exc)

    result = release_date_for_wheel_path(Path("pip-20.1.whl"))

    assert result is None
    assert url_o.call_count == 1
    assert repr(exc) in caplog.text