From 6f230d875d525d52a7eff8f069a0b5b8a4eb2258 Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 9 Jul 2026 16:36:11 +0100 Subject: [PATCH] recover tests --- thousandeyes-sdk-core/pyproject.toml | 2 +- .../test/test_thousandeyes_retry.py | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/thousandeyes-sdk-core/pyproject.toml b/thousandeyes-sdk-core/pyproject.toml index a40bd17c..fd54435e 100644 --- a/thousandeyes-sdk-core/pyproject.toml +++ b/thousandeyes-sdk-core/pyproject.toml @@ -9,7 +9,7 @@ description = "ThousandEyes SDK Core" license = { file = "LICENSE" } requires-python = ">= 3.8" dependencies = [ - "urllib3 >= 2.0.0", + "urllib3 >= 2.6.3", "python-dateutil >=2.8.2", "pydantic >=2.1.0", "typing-extensions >=4.7.1", diff --git a/thousandeyes-sdk-core/test/test_thousandeyes_retry.py b/thousandeyes-sdk-core/test/test_thousandeyes_retry.py index 944e5dd6..a3e460ff 100644 --- a/thousandeyes-sdk-core/test/test_thousandeyes_retry.py +++ b/thousandeyes-sdk-core/test/test_thousandeyes_retry.py @@ -41,3 +41,19 @@ def test_parse_reset_header_invalid(): retry = ThousandEyesRetry() assert retry._parse_reset_header("invalid") is None assert retry._parse_reset_header(None) is None + + +def test_retry_new_clones_with_retry_after_max(): + retry = ThousandEyesRetry(retry_after_max=3600) + cloned = retry.new() + assert isinstance(cloned, ThousandEyesRetry) + assert cloned.retry_after_max == 3600 + + +def test_retry_increment_on_429(): + response = Mock(spec=HTTPResponse) + response.status = 429 + response.headers = {"Retry-After": "0"} + retry = ThousandEyesRetry(total=1) + new_retry = retry.increment(method="GET", url="/test", response=response) + assert isinstance(new_retry, ThousandEyesRetry)