(driver: Driver, server_url: URL)
| 397 | indirect=True, |
| 398 | ) |
| 399 | async def test_http_client_session(driver: Driver, server_url: URL): |
| 400 | assert isinstance(driver, HTTPClientMixin) |
| 401 | |
| 402 | session = driver.get_session( |
| 403 | params={"session": "test"}, |
| 404 | headers={"X-Session": "test"}, |
| 405 | cookies={"session": "test"}, |
| 406 | ) |
| 407 | request = Request("GET", server_url) |
| 408 | with pytest.raises(RuntimeError): |
| 409 | await session.request(request) |
| 410 | |
| 411 | with pytest.raises(RuntimeError): # noqa: PT012 |
| 412 | async with session: |
| 413 | async with session: |
| 414 | ... |
| 415 | |
| 416 | async with session as session: |
| 417 | # simple post with query, headers, cookies and content |
| 418 | request = Request( |
| 419 | "POST", |
| 420 | server_url, |
| 421 | params={"param": "test"}, |
| 422 | headers={"X-Test": "test"}, |
| 423 | cookies={"cookie": "test"}, |
| 424 | content="test", |
| 425 | timeout=Timeout(total=4, connect=2, read=2), |
| 426 | ) |
| 427 | response = await session.request(request) |
| 428 | assert response.status_code == 200 |
| 429 | assert response.content |
| 430 | data = json.loads(response.content) |
| 431 | assert data["method"] == "POST" |
| 432 | assert data["args"] == {"session": "test", "param": "test"} |
| 433 | assert data["headers"].get("X-Session") == "test" |
| 434 | assert data["headers"].get("X-Test") == "test" |
| 435 | assert { |
| 436 | key: cookie.value |
| 437 | for key, cookie in SimpleCookie(data["headers"].get("Cookie")).items() |
| 438 | } == { |
| 439 | "session": "test", |
| 440 | "cookie": "test", |
| 441 | } |
| 442 | assert data["data"] == "test" |
| 443 | |
| 444 | # post with data body |
| 445 | request = Request("POST", server_url, data={"form": "test"}) |
| 446 | response = await session.request(request) |
| 447 | assert response.status_code == 200 |
| 448 | assert response.content |
| 449 | data = json.loads(response.content) |
| 450 | assert data["method"] == "POST" |
| 451 | assert data["args"] == {"session": "test"} |
| 452 | assert data["headers"].get("X-Session") == "test" |
| 453 | assert { |
| 454 | key: cookie.value |
| 455 | for key, cookie in SimpleCookie(data["headers"].get("Cookie")).items() |
| 456 | } == {"session": "test"} |
nothing calls this directly
no test coverage detected