File tree Expand file tree Collapse file tree 2 files changed +38
-1
lines changed Expand file tree Collapse file tree 2 files changed +38
-1
lines changed Original file line number Diff line number Diff line change 22import pandas as pd
33import requests
44
5- from api_to_dataframe import ClientBuilder , RetryStrategies
5+ from api_to_dataframe import ClientBuilder
66
77
88@pytest .fixture ()
Original file line number Diff line number Diff line change 11from api_to_dataframe import ClientBuilder , RetryStrategies
22import requests
33import time
4+ import pytest
45
56
67def 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
You can’t perform that action at this time.
0 commit comments