-
Notifications
You must be signed in to change notification settings - Fork 0
/
conftest.py
49 lines (36 loc) · 1.11 KB
/
conftest.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
from pathlib import Path
import pytest
import webtest
from pytest_sa_pg import db
from sqlalchemy import create_engine
from tshistory import api
from tshistory_refinery import schema
from tsview import app
DATADIR = Path(__file__).parent / 'test/data'
DBURI = 'postgresql://localhost:5433/postgres'
@pytest.fixture(scope='session')
def engine(request):
db.setup_local_pg_cluster(request, DATADIR, 5433, {
'timezone': 'UTC',
'log_timezone': 'UTC'}
)
e = create_engine(DBURI)
schema.refinery_schema().create(e, reset=True, rework=True)
return e
class WebTester(webtest.TestApp):
def _check_status(self, status, res):
try:
super(WebTester, self)._check_status(status, res)
except:
print('ERRORS', res.errors)
# raise <- default behaviour on 4xx is silly
@pytest.fixture(scope='session')
def tsa(engine):
return api.timeseries(
str(engine.url),
sources={}
)
@pytest.fixture(scope='session')
def client(tsa):
wsgi = app.make_app(tsa)
yield WebTester(wsgi)