Exemplo n.º 1
0
async def test_http_cache_middleware_2():
    class RequestMock:
        url = None

    m = HTTPCacheMiddleware(maxsize=1_000_000, ttl=2)
    request = RequestMock()
    request.url = "http:127.0.0.1:9090/v1/test1"
    response = HTTPResponse()
    response.body = {"data": "datatatata"}
    response.headers = {"custom_header_name": "custom_header_value"}
    assert await m.middleware_request(request) is None
    await m.middleware_response(request, response)
    assert response.headers.get("x-cache") == "MISS"
    response_check = await m.middleware_request(request)
    assert response
    assert response_check.body == response.body
    assert response_check.headers["x-cache"] == "HIT"
    del response.headers["x-cache"]
    del response_check.headers["x-cache"]
    assert response_check.headers == response.headers
    assert response_check.status == response.status
    await asyncio.sleep(2)
    assert await m.middleware_request(request) is None
 def test_multiple_set_cookie_headers(request):
     resp = HTTPResponse(body="Foo bar baz")
     resp.headers = CIDict()
     resp.headers['set-cookie'] = 'foo'
     resp.headers['set-cookie'] = 'bar'
     return resp