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""
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
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'
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''
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
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"
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
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"
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
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"})
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'})