Skip to content

Commit 5cdd3bf

Browse files
committed
use tenacity in conftest
1 parent 119f1f0 commit 5cdd3bf

1 file changed

Lines changed: 7 additions & 25 deletions

File tree

tests/conftest.py

Lines changed: 7 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,9 @@
77
import pytest
88
import redis
99
import requests
10-
from requests.exceptions import RequestException
11-
from redis.exceptions import RedisError
12-
from sqlalchemy.exc import OperationalError
1310
from sqlalchemy import create_engine
1411
from sqlalchemy.orm import sessionmaker, clear_mappers
12+
from tenacity import retry, stop_after_delay
1513

1614
from allocation.orm import metadata, start_mappers
1715
from allocation import config
@@ -34,36 +32,20 @@ def session(session_factory):
3432
return session_factory()
3533

3634

35+
@retry(stop=stop_after_delay(10))
3736
def wait_for_postgres_to_come_up(engine):
38-
deadline = time.time() + 10
39-
while time.time() < deadline:
40-
try:
41-
return engine.connect()
42-
except OperationalError:
43-
time.sleep(0.5)
44-
pytest.fail('Postgres never came up')
37+
return engine.connect()
4538

4639

40+
@retry(stop=stop_after_delay(10))
4741
def wait_for_webapp_to_come_up():
48-
deadline = time.time() + 10
49-
url = config.get_api_url()
50-
while time.time() < deadline:
51-
try:
52-
return requests.get(url)
53-
except RequestException:
54-
time.sleep(0.5)
55-
pytest.fail('API never came up')
42+
return requests.get(config.get_api_url())
5643

5744

45+
@retry(stop=stop_after_delay(10))
5846
def wait_for_redis_to_come_up():
59-
deadline = time.time() + 5
6047
r = redis.Redis(**config.get_redis_host_and_port())
61-
while time.time() < deadline:
62-
try:
63-
return r.ping()
64-
except RedisError:
65-
time.sleep(0.5)
66-
pytest.fail('Redis never came up')
48+
return r.ping()
6749

6850

6951
@pytest.fixture(scope='session')

0 commit comments

Comments
 (0)