Skip to content

Commit 0be8cb4

Browse files
tests: increase codeCov to 100%
1 parent b0f50ad commit 0be8cb4

File tree

2 files changed

+38
-1
lines changed

2 files changed

+38
-1
lines changed

tests/test_controller_client_builder.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import pandas as pd
33
import requests
44

5-
from api_to_dataframe import ClientBuilder, RetryStrategies
5+
from api_to_dataframe import ClientBuilder
66

77

88
@pytest.fixture()

tests/test_models_retainer.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from api_to_dataframe import ClientBuilder, RetryStrategies
22
import requests
33
import time
4+
import pytest
45

56

67
def test_linear_strategy():
@@ -26,3 +27,39 @@ def test_linear_strategy():
2627
retry_number += 1
2728

2829
assert retry_number == max_retries
30+
31+
32+
def test_no_retry_strategy():
33+
endpoint = "https://api-to-dataframe/"
34+
client = ClientBuilder(
35+
endpoint=endpoint,
36+
retry_strategy=RetryStrategies.NoRetryStrategy,
37+
)
38+
39+
with pytest.raises(requests.exceptions.RequestException) as e:
40+
client.get_api_data()
41+
42+
43+
def test_exponential_strategy():
44+
endpoint = "https://api-to-dataframe/"
45+
max_retries = 2
46+
client = ClientBuilder(
47+
endpoint=endpoint,
48+
retry_strategy=RetryStrategies.ExponentialRetryStrategy,
49+
retries=max_retries,
50+
delay=1,
51+
connection_timeout=1
52+
)
53+
54+
retry_number = 0
55+
56+
while retry_number < max_retries:
57+
try:
58+
start = time.time()
59+
client.get_api_data()
60+
except requests.exceptions.RequestException as e:
61+
end = time.time()
62+
assert end - start >= client.delay * 2 ** retry_number
63+
retry_number += 1
64+
65+
assert retry_number == max_retries

0 commit comments

Comments
 (0)