def url(self) -> URL: protocol = "https" if self.config.is_ssl else "http" return URL(f"{protocol}://{self.config.host}:{self.config.port}/")
def test_idna_url(given, idna, host, scheme, port): url = URL(given) assert url == URL(idna) assert url.host == host assert url.scheme == scheme assert url.port == port
def test_url_eq_str(): url = URL("https://example.org:123/path/to/somewhere?abc=123#anchor") assert url == "https://example.org:123/path/to/somewhere?abc=123#anchor" assert str(url) == url
async def test_cross_subdomain_redirect(backend): client = AsyncClient(dispatch=MockDispatch(), backend=backend) url = "https://example.com/cross_subdomain" response = await client.get(url) assert response.url == URL("https://www.example.org/cross_subdomain")
def test_url_full_path_setter(): url = URL("http://example.org") url.full_path = "http://example.net" assert url.full_path == "http://example.net"
async def test_redirect_302(backend): client = AsyncClient(dispatch=MockDispatch(), backend=backend) response = await client.post("https://example.org/redirect_302") assert response.status_code == codes.OK assert response.url == URL("https://example.org/") assert len(response.history) == 1
async def test_fragment_redirect(backend): client = AsyncClient(dispatch=MockDispatch(), backend=backend) response = await client.get("https://example.org/relative_redirect#fragment") assert response.status_code == codes.OK assert response.url == URL("https://example.org/#fragment") assert len(response.history) == 1
def test_client_base_url_with_trailing_slash(): client = AsyncClient() client.base_url = "https://www.example.org/path/" # type: ignore assert isinstance(client.base_url, URL) assert client.base_url == URL("https://www.example.org/path/")
def test_client_base_url(): client = AsyncClient() client.base_url = "https://www.example.org/" # type: ignore assert isinstance(client.base_url, URL) assert client.base_url == URL("https://www.example.org/")
def test_url_params(): url = URL("https://example.org:123/path/to/somewhere", params={"a": "123"}) assert str(url) == "https://example.org:123/path/to/somewhere?a=123" url = URL("https://example.org:123/path/to/somewhere?b=456", params={"a": "123"}) assert str(url) == "https://example.org:123/path/to/somewhere?a=123"
def test_auth_hidden_url() -> None: url = "http://*****:*****@example.org/" expected = "URL('http://*****:*****@example.org/')" assert url == URL(url) assert expected == repr(URL(url))
async def test_no_scheme_redirect(): client = AsyncClient(dispatch=MockDispatch()) response = await client.get("https://example.org/no_scheme_redirect") assert response.status_code == codes.OK assert response.url == URL("https://example.org/") assert len(response.history) == 1
def url(self) -> URL: authority = self.config.bind[0] return URL(f"https://{authority}")
async def test_cross_subdomain_redirect(): client = AsyncClient(transport=AsyncMockTransport()) url = "https://example.com/cross_subdomain" response = await client.get(url) assert response.url == URL("https://www.example.org/cross_subdomain")
async def test_relative_redirect(): client = AsyncClient(transport=AsyncMockTransport()) response = await client.get("https://example.org/relative_redirect") assert response.status_code == codes.OK assert response.url == URL("https://example.org/") assert len(response.history) == 1
async def get_payment_details( self, payment_id: str, headers: Optional[Headers] = None) -> Response: target = URL(f'/g_business/v1/payments/{payment_id}') return await self.get(target, headers=headers)