Use session/client fixture

pull/11/head
Leigh Morresi 4 years ago
parent b361a61d18
commit c8607ae8bb

@ -13,7 +13,6 @@ import os
# https://www.python-boilerplate.com/py3+flask+pytest/ # https://www.python-boilerplate.com/py3+flask+pytest/
@pytest.fixture(scope='session') @pytest.fixture(scope='session')
def app(request): def app(request):
"""Create application for the tests.""" """Create application for the tests."""
@ -23,7 +22,6 @@ def app(request):
datastore = store.ChangeDetectionStore(datastore_path=app_config['datastore_path']) datastore = store.ChangeDetectionStore(datastore_path=app_config['datastore_path'])
_app = changedetection_app(app_config, datastore) _app = changedetection_app(app_config, datastore)
# Establish an application context before running the tests. # Establish an application context before running the tests.
ctx = _app.app_context() ctx = _app.app_context()
ctx.push() ctx.push()
@ -34,13 +32,11 @@ def app(request):
request.addfinalizer(teardown) request.addfinalizer(teardown)
return _app return _app
@pytest.fixture(scope='session')
def client(app):
return app.test_client()
@pytest.fixture(scope='function') @pytest.fixture(scope='function')
def session(request): def session(request):
"""Creates a new database session for a test.""" """Creates a new database session for a test."""
def teardown():
print ("teardown")
request.addfinalizer(teardown)
return session return session

@ -12,13 +12,13 @@ import requests
# https://www.python-boilerplate.com/py3+flask+pytest/ # https://www.python-boilerplate.com/py3+flask+pytest/
def test_import(session): def test_import(client):
res = session.get("/") res = client.get("/")
assert b"IMPORT" in res.data assert b"IMPORT" in res.data
assert res.status_code == 200 assert res.status_code == 200
test_url_list = ["https://slashdot.org"] test_url_list = ["https://slashdot.org"]
res = session.post('/import', data={'urls': "\n".join(test_url_list)}, follow_redirects=True) res = client.post('/import', data={'urls': "\n".join(test_url_list)}, follow_redirects=True)
s = "{} Imported".format(len(test_url_list)) s = "{} Imported".format(len(test_url_list))
#p= url_for('test_endpoint', _external=True #p= url_for('test_endpoint', _external=True
@ -33,7 +33,7 @@ def test_import(session):
#assert response.json() == [{'id': 1}] #assert response.json() == [{'id': 1}]
def test_import_a(session): def test_import_a(client):
res = session.get("/") res = client.get("/")
assert b"IMPORT" in res.data assert b"IMPORT" in res.data
assert res.status_code == 200 assert res.status_code == 200

Loading…
Cancel
Save