Skip to content

Commit b3e93e7

Browse files
committed
Set correct fields for RetryConfig
1 parent d41744b commit b3e93e7

File tree

3 files changed

+12
-11
lines changed

3 files changed

+12
-11
lines changed

graphdatascience/arrow_client/authenticated_flight_client.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ def create(
5656
FlightUnavailableError,
5757
FlightInternalError,
5858
],
59-
stop=StopConfig(after_delay=10, after_attempt=5),
60-
wait=ExponentialWaitConfig(multiplier=1, min=1, max=10),
59+
stop_config=StopConfig(after_delay=10, after_attempt=5),
60+
wait_config=ExponentialWaitConfig(multiplier=1, min=1, max=10),
6161
)
6262

6363
return AuthenticatedArrowClient(

graphdatascience/retry_utils/retry_config.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,10 @@ class RetryConfig:
2121
retry: retry_base
2222

2323

24-
class RetryConfigV2(BaseModel):
24+
class RetryConfigV2(
25+
BaseModel,
26+
extra="forbid",
27+
):
2528
"""Retry configuration which can be serialized/deserialized."""
2629

2730
retryable_exceptions: list[type[BaseException]] | None = None
@@ -109,7 +112,7 @@ def tenacity_retry(self) -> retry_base | None:
109112
return retry_any(*retries)
110113

111114

112-
class StopConfig(BaseModel):
115+
class StopConfig(BaseModel, extra="forbid"):
113116
after_attempt: int | None = None
114117
after_delay: int | None = None
115118

@@ -128,7 +131,7 @@ def to_tenacity(self) -> stop_base | None:
128131
return stop_any(*stops)
129132

130133

131-
class ExponentialWaitConfig(BaseModel):
134+
class ExponentialWaitConfig(BaseModel, extra="forbid"):
132135
multiplier: float = 1
133136
min: int = 0
134137
max: float | int = sys.maxsize / 2

graphdatascience/tests/unit/arrow_client/test_authenticated_flight_client.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,10 @@ def auth_pair(self) -> tuple[str, str]:
3535
return MockAuthentication()
3636

3737

38-
def test_create_authenticated_arrow_client(
39-
arrow_info: ArrowInfo, retry_config: RetryConfigV2, mock_auth: ArrowAuthentication
40-
) -> None:
41-
client = AuthenticatedArrowClient.create(
42-
arrow_info=arrow_info, auth=mock_auth, encrypted=True, retry_config=retry_config
43-
)
38+
def test_create_authenticated_arrow_client(arrow_info: ArrowInfo, mock_auth: ArrowAuthentication) -> None:
39+
client = AuthenticatedArrowClient.create(arrow_info=arrow_info, auth=mock_auth, encrypted=True)
40+
41+
assert client._retry_config.wait_config == ExponentialWaitConfig(multiplier=1, min=1, max=10)
4442
assert isinstance(client, AuthenticatedArrowClient)
4543
assert client.connection_info() == ConnectionInfo("localhost", 8491, encrypted=True)
4644

0 commit comments

Comments
 (0)