def test_del_item(): auth_token = "Basic YWxhZGRpbjpvcGVuc2VzYW1l" data = CaseInsensitiveDict({"Authorization": auth_token}) assert data.get("authorization") is auth_token del data["Authorization"] assert data.get("authorization") is None assert data.get("Authorization") is None
def make_response(content: bytes, **kwargs) -> Response: defaults: Dict[str, Any] = { "request": Request(Method.GET, "https://example.com"), "status_code": 200, "url": "https://example.com/", "headers": CaseInsensitiveDict(), "cookies": SimpleCookie(), "encoding": "utf-8", "content": content, } defaults.update(kwargs) return Response(**defaults)
def fetch( self, request: Request, timeout: Union[Timeout, NoValue] = NoValue(), ) -> Response: try: response = requests.request( request.method.value, str(request.url), params=request.query_params, headers=request.headers, cookies=request.cookies, data=request.data, files=request.files, json=request.json, timeout=self._prepare_timeout(timeout), verify=self.verify, cert=self.cert, ) except requests.Timeout as exc: raise exceptions.Timeout from exc except requests.exceptions.SSLError as exc: raise ssl.SSLError(str(exc)) from exc except requests.ConnectionError as exc: raise exceptions.ConnectionFailed from exc except requests.RequestException as exc: raise exceptions.DriverError from exc return Response( request=request, status_code=int(response.status_code), url=response.url, headers=CaseInsensitiveDict(response.headers), cookies=SimpleCookie(response.cookies), encoding=response.encoding or "utf-8", content=response.content, )
async def fetch( self, request: Request, timeout: Union[Timeout, NoValue] = NoValue(), ) -> Response: async with aiohttp.ClientSession() as session: try: response = await session.request( request.method.value, str(request.url), headers=request.headers, cookies=request.cookies, params=self._prepare_query_params(request.query_params), data=self._prepare_data(request), json=request.json, timeout=self._prepare_timeout(timeout), ssl=self._prepare_ssl(), ) except asyncio.TimeoutError as exc: raise exceptions.Timeout from exc except aiohttp.ClientSSLError as exc: raise ssl.SSLError(str(exc)) from exc except aiohttp.ClientConnectionError as exc: raise exceptions.ConnectionFailed from exc except aiohttp.ClientError as exc: raise exceptions.DriverError from exc return Response( request=request, status_code=int(response.status), url=str(response.url), headers=CaseInsensitiveDict(response.headers), cookies=SimpleCookie(response.cookies), content=await response.read(), encoding=response.get_encoding(), )
def test_init_from_another_mapping(): auth_token = "Basic YWxhZGRpbjpvcGVuc2VzYW1l" data = CaseInsensitiveDict(Authorization=auth_token) assert data["authorization"] == auth_token assert data["Authorization"] == auth_token
def test_repr_with_empty_data(): data = CaseInsensitiveDict() assert repr(data) == "CaseInsensitiveDict()"
def test_repr(): data = CaseInsensitiveDict({"Content-Length": 1}) assert repr(data) == "CaseInsensitiveDict({'Content-Length': 1})"
def test_iter_returns_original_key(): keys = ("Content-Length", "Cache-Control") values = (2, "no-cache") data = CaseInsensitiveDict(zip(keys, values)) for i, key in enumerate(data): assert key == keys[i]
def test_len(): data = CaseInsensitiveDict({"Content-Length": 1}) assert len(data) == 1 data = CaseInsensitiveDict({"Content-Length": 2, "Cache-Control": "no-cache"}) assert len(data) == 2
def test_init_with_named_arguments(): auth_token = "Basic GVuc2VzYW1lYWxhZGRpbjpvc" data = CaseInsensitiveDict({"Authorization": auth_token}) assert data["authorization"] == auth_token assert data["Authorization"] == auth_token