Skip to content

Commit 83ad98c

Browse files
fix(client): correct base_url setter implementation (#83)
1 parent a9a3dbe commit 83ad98c

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

src/orb/_base_client.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -592,7 +592,7 @@ def base_url(self) -> URL:
592592

593593
@base_url.setter
594594
def base_url(self, url: URL | str) -> None:
595-
self._client.base_url = url if isinstance(url, URL) else URL(url)
595+
self._base_url = self._enforce_trailing_slash(url if isinstance(url, URL) else URL(url))
596596

597597
@lru_cache(maxsize=None)
598598
def platform_headers(self) -> Dict[str, str]:

tests/test_client.py

+16
Original file line numberDiff line numberDiff line change
@@ -467,6 +467,14 @@ def test_idempotency_header_options(self, respx_mock: MockRouter) -> None:
467467
)
468468
assert response.request.headers.get("Idempotency-Key") == "custom-key"
469469

470+
def test_base_url_setter(self) -> None:
471+
client = Orb(base_url="https://example.com/from_init", api_key=api_key, _strict_response_validation=True)
472+
assert client.base_url == "https://example.com/from_init/"
473+
474+
client.base_url = "https://example.com/from_setter" # type: ignore[assignment]
475+
476+
assert client.base_url == "https://example.com/from_setter/"
477+
470478
def test_base_url_env(self) -> None:
471479
with update_env(ORB_BASE_URL="http://localhost:5000/from/env"):
472480
client = Orb(api_key=api_key, _strict_response_validation=True)
@@ -1121,6 +1129,14 @@ async def test_idempotency_header_options(self, respx_mock: MockRouter) -> None:
11211129
)
11221130
assert response.request.headers.get("Idempotency-Key") == "custom-key"
11231131

1132+
def test_base_url_setter(self) -> None:
1133+
client = AsyncOrb(base_url="https://example.com/from_init", api_key=api_key, _strict_response_validation=True)
1134+
assert client.base_url == "https://example.com/from_init/"
1135+
1136+
client.base_url = "https://example.com/from_setter" # type: ignore[assignment]
1137+
1138+
assert client.base_url == "https://example.com/from_setter/"
1139+
11241140
def test_base_url_env(self) -> None:
11251141
with update_env(ORB_BASE_URL="http://localhost:5000/from/env"):
11261142
client = AsyncOrb(api_key=api_key, _strict_response_validation=True)

0 commit comments

Comments
 (0)