示例#1
0
 def url(self) -> URL:
     protocol = "https" if self.config.is_ssl else "http"
     return URL(f"{protocol}://{self.config.host}:{self.config.port}/")
示例#2
0
文件: test_url.py 项目: vimiix/httpx
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
示例#3
0
文件: test_url.py 项目: vimiix/httpx
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
示例#4
0
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")
示例#5
0
文件: test_url.py 项目: vimiix/httpx
def test_url_full_path_setter():
    url = URL("http://example.org")

    url.full_path = "http://example.net"
    assert url.full_path == "http://example.net"
示例#6
0
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
示例#7
0
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
示例#8
0
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/")
示例#9
0
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/")
示例#10
0
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"
示例#11
0
def test_auth_hidden_url() -> None:
    url = "http://*****:*****@example.org/"
    expected = "URL('http://*****:*****@example.org/')"
    assert url == URL(url)
    assert expected == repr(URL(url))
示例#12
0
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
示例#13
0
 def url(self) -> URL:
     authority = self.config.bind[0]
     return URL(f"https://{authority}")
示例#14
0
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")
示例#15
0
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
示例#16
0
 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)