Exemplo n.º 1
0
def _get_from_server(url, headers={}, status_code=200) -> requests.Response:
    session = Storage.session()
    resp = session.get(
        url,
        headers=headers,
    )

    if resp.status_code != status_code:
        logger.error(f"Failed to fetch from {url}. Response: {resp.text}")
    return resp
Exemplo n.º 2
0
def _put_to_server(
    path: str,
    headers: Optional[Dict[Any, Any]] = None,
    status_code: int = 200,
    **kwargs: Any,
) -> httpx.Response:
    if not headers:
        headers = {}
    with Storage.session() as session:
        resp = session.put(path, headers=headers, timeout=60, **kwargs)
    if resp.status_code != status_code:
        logger.error("Failed to put to %s. Response: %s", path, resp.text)
    return resp
Exemplo n.º 3
0
def _delete_on_server(
    path: str, headers: Optional[Dict[Any, Any]] = None, status_code: int = 200
) -> httpx.Response:
    if not headers:
        headers = {}
    with Storage.session() as session:
        resp = session.delete(
            path,
            headers=headers,
            timeout=60,
        )
    if resp.status_code != status_code:
        logger.error("Failed to delete %s. Response: %s", path, resp.text)

    return resp
Exemplo n.º 4
0
def test_integration(tmp_path, monkeypatch):
    """Actually start the server, wait for it to be online and do a health check"""
    monkeypatch.chdir(tmp_path)

    # Note: Sqlite needs at least 4-5 seconds to spin up even on
    # an unloaded M1-based Mac using local disk. On the CI-server
    # we have less control of available resources, so set timeout-
    # value large to allow time for sqlite to get ready
    with Storage.start_server(timeout=120) as server:
        resp = requests.get(f"{server.fetch_url()}/healthcheck",
                            auth=server.fetch_auth())
        assert "ALL OK!" in resp.json()

        with Storage.session() as session:
            session.get("/healthcheck")

    assert not (tmp_path / "storage_server.json").exists()
Exemplo n.º 5
0
def _post_to_server(url,
                    data=None,
                    params=None,
                    json=None,
                    headers={},
                    status_code=200) -> requests.Response:
    session = Storage.session()
    resp = session.post(
        url,
        headers=headers,
        params=params,
        data=data,
        json=json,
    )
    if resp.status_code != status_code:
        logger.error(f"Failed to post to {url}. Response: {resp.text}")

    return resp
Exemplo n.º 6
0
def _put(url: str, headers: Dict[str, Any], **kwargs: Any) -> httpx.Response:
    with Storage.session() as session:
        return session.put(url=url, headers=headers, timeout=60, **kwargs)
Exemplo n.º 7
0
def _get(url: str, headers: Dict[str, Any]) -> httpx.Response:
    with Storage.session() as session:
        return session.get(url, headers=headers, timeout=60)