Skip to content

Commit 038fe71

Browse files
fix(tests): fix: tests which call HTTP endpoints directly with the example parameters
1 parent 4b5af3f commit 038fe71

File tree

1 file changed

+10
-33
lines changed

1 file changed

+10
-33
lines changed

tests/test_client.py

Lines changed: 10 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,7 @@
2323

2424
from runloop_api_client import Runloop, AsyncRunloop, APIResponseValidationError
2525
from runloop_api_client._types import Omit
26-
from runloop_api_client._utils import maybe_transform
2726
from runloop_api_client._models import BaseModel, FinalRequestOptions
28-
from runloop_api_client._constants import RAW_RESPONSE_HEADER
2927
from runloop_api_client._exceptions import RunloopError, APIStatusError, APITimeoutError, APIResponseValidationError
3028
from runloop_api_client._base_client import (
3129
DEFAULT_TIMEOUT,
@@ -35,7 +33,6 @@
3533
DefaultAsyncHttpxClient,
3634
make_request_options,
3735
)
38-
from runloop_api_client.types.devbox_create_params import DevboxCreateParams
3936

4037
from .utils import update_env
4138

@@ -770,32 +767,21 @@ def test_parse_retry_after_header(self, remaining_retries: int, retry_after: str
770767

771768
@mock.patch("runloop_api_client._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
772769
@pytest.mark.respx(base_url=base_url)
773-
def test_retrying_timeout_errors_doesnt_leak(self, respx_mock: MockRouter) -> None:
770+
def test_retrying_timeout_errors_doesnt_leak(self, respx_mock: MockRouter, client: Runloop) -> None:
774771
respx_mock.post("/v1/devboxes").mock(side_effect=httpx.TimeoutException("Test timeout error"))
775772

776773
with pytest.raises(APITimeoutError):
777-
self.client.post(
778-
"/v1/devboxes",
779-
body=cast(object, maybe_transform({}, DevboxCreateParams)),
780-
cast_to=httpx.Response,
781-
options={"headers": {RAW_RESPONSE_HEADER: "stream"}},
782-
)
774+
client.devboxes.with_streaming_response.create().__enter__()
783775

784776
assert _get_open_connections(self.client) == 0
785777

786778
@mock.patch("runloop_api_client._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
787779
@pytest.mark.respx(base_url=base_url)
788-
def test_retrying_status_errors_doesnt_leak(self, respx_mock: MockRouter) -> None:
780+
def test_retrying_status_errors_doesnt_leak(self, respx_mock: MockRouter, client: Runloop) -> None:
789781
respx_mock.post("/v1/devboxes").mock(return_value=httpx.Response(500))
790782

791783
with pytest.raises(APIStatusError):
792-
self.client.post(
793-
"/v1/devboxes",
794-
body=cast(object, maybe_transform({}, DevboxCreateParams)),
795-
cast_to=httpx.Response,
796-
options={"headers": {RAW_RESPONSE_HEADER: "stream"}},
797-
)
798-
784+
client.devboxes.with_streaming_response.create().__enter__()
799785
assert _get_open_connections(self.client) == 0
800786

801787
@pytest.mark.parametrize("failures_before_success", [0, 2, 4])
@@ -1640,32 +1626,23 @@ async def test_parse_retry_after_header(self, remaining_retries: int, retry_afte
16401626

16411627
@mock.patch("runloop_api_client._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
16421628
@pytest.mark.respx(base_url=base_url)
1643-
async def test_retrying_timeout_errors_doesnt_leak(self, respx_mock: MockRouter) -> None:
1629+
async def test_retrying_timeout_errors_doesnt_leak(
1630+
self, respx_mock: MockRouter, async_client: AsyncRunloop
1631+
) -> None:
16441632
respx_mock.post("/v1/devboxes").mock(side_effect=httpx.TimeoutException("Test timeout error"))
16451633

16461634
with pytest.raises(APITimeoutError):
1647-
await self.client.post(
1648-
"/v1/devboxes",
1649-
body=cast(object, maybe_transform({}, DevboxCreateParams)),
1650-
cast_to=httpx.Response,
1651-
options={"headers": {RAW_RESPONSE_HEADER: "stream"}},
1652-
)
1635+
await async_client.devboxes.with_streaming_response.create().__aenter__()
16531636

16541637
assert _get_open_connections(self.client) == 0
16551638

16561639
@mock.patch("runloop_api_client._base_client.BaseClient._calculate_retry_timeout", _low_retry_timeout)
16571640
@pytest.mark.respx(base_url=base_url)
1658-
async def test_retrying_status_errors_doesnt_leak(self, respx_mock: MockRouter) -> None:
1641+
async def test_retrying_status_errors_doesnt_leak(self, respx_mock: MockRouter, async_client: AsyncRunloop) -> None:
16591642
respx_mock.post("/v1/devboxes").mock(return_value=httpx.Response(500))
16601643

16611644
with pytest.raises(APIStatusError):
1662-
await self.client.post(
1663-
"/v1/devboxes",
1664-
body=cast(object, maybe_transform({}, DevboxCreateParams)),
1665-
cast_to=httpx.Response,
1666-
options={"headers": {RAW_RESPONSE_HEADER: "stream"}},
1667-
)
1668-
1645+
await async_client.devboxes.with_streaming_response.create().__aenter__()
16691646
assert _get_open_connections(self.client) == 0
16701647

16711648
@pytest.mark.parametrize("failures_before_success", [0, 2, 4])

0 commit comments

Comments
 (0)