Esempio n. 1
0
def test_build_headers_path_and_query_string_headers_defaults(
        headers: Headers, expected: Headers) -> None:
    result, path, query_string = make_test_headers_path_and_query_string(
        Quart(__name__), "/path", headers)
    assert result == expected
    assert path == "/path"
    assert query_string == b""
Esempio n. 2
0
async def test_has_request_context() -> None:
    app = Quart(__name__)
    headers, path, query_string = make_test_headers_path_and_query_string(app, '/')
    async with RequestContext(Quart(__name__), Request('GET', 'http', path, query_string, headers)):
        assert has_request_context() is True
        assert has_app_context() is True
    assert has_request_context() is False
    assert has_app_context() is False
Esempio n. 3
0
async def test_after_this_request() -> None:
    app = Quart(__name__)
    headers, path, query_string = make_test_headers_path_and_query_string(app, '/')
    async with RequestContext(
            Quart(__name__),
            Request('GET', 'http', path, query_string, headers),
    ) as context:
        after_this_request(lambda: 'hello')
        assert context._after_request_functions[0]() == 'hello'
Esempio n. 4
0
def test_build_headers_path_and_query_string_headers_defaults(
        headers: CIMultiDict, expected: CIMultiDict,
) -> None:
    result, path, query_string = make_test_headers_path_and_query_string(
        Quart(__name__), '/path', headers,
    )
    assert result == expected
    assert path == '/path'
    assert query_string == b''
Esempio n. 5
0
def test_build_headers_path_and_query_string(
        path: str, query_string: Optional[dict], expected_path: str,
        expected_query_string: bytes) -> None:
    headers, result_path, result_qs = make_test_headers_path_and_query_string(
        Quart(__name__), path, None, query_string)
    assert result_path == expected_path
    assert headers["User-Agent"] == "Quart"
    assert headers["host"] == "localhost"
    assert result_qs == expected_query_string
Esempio n. 6
0
def test_build_headers_path_and_query_string_with_auth() -> None:
    headers, *_ = make_test_headers_path_and_query_string(
        Quart(__name__),
        "/",
        None,
        None,
        ("user", "pass"),
    )
    assert headers["Authorization"] == "Basic dXNlcjpwYXNz"
Esempio n. 7
0
async def test_has_request_context() -> None:
    app = Quart(__name__)
    headers, path, query_string = make_test_headers_path_and_query_string(app, "/")
    request = Request(
        "GET", "http", path, query_string, headers, "", "1.1", send_push_promise=no_op_push
    )
    async with RequestContext(Quart(__name__), request):
        assert has_request_context() is True
        assert has_app_context() is True
    assert has_request_context() is False
    assert has_app_context() is False
Esempio n. 8
0
async def test_after_this_request() -> None:
    app = Quart(__name__)
    headers, path, query_string = make_test_headers_path_and_query_string(app, "/")
    async with RequestContext(
        Quart(__name__),
        Request(
            "GET", "http", path, query_string, headers, "", "1.1", send_push_promise=no_op_push
        ),
    ) as context:
        after_this_request(lambda: "hello")
        assert context._after_request_functions[0]() == "hello"
Esempio n. 9
0
def test_build_headers_path_and_query_string(
        path: str,
        query_string: Optional[dict],
        expected_path: str,
        expected_query_string: bytes,
) -> None:
    headers, result_path, result_qs = make_test_headers_path_and_query_string(
        Quart(__name__), path, None, query_string,
    )
    assert result_path == expected_path
    assert headers['Remote-Addr'] == '127.0.0.1'
    assert headers['User-Agent'] == 'Quart'
    assert headers['host'] == 'localhost'
    assert result_qs == expected_query_string
Esempio n. 10
0
def test_build_headers_path_and_query_string_with_query_string_error() -> None:
    with pytest.raises(ValueError):
        make_test_headers_path_and_query_string(Quart(__name__), "/?a=b", None,
                                                {"c": "d"})
Esempio n. 11
0
def test_build_headers_path_and_query_string_with_query_string_error() -> None:
    with pytest.raises(ValueError):
        make_test_headers_path_and_query_string(Quart(__name__), '/?a=b', None, {'c': 'd'})