kopia lustrzana https://github.com/dgtlmoon/changedetection.io
Use session/client fixture
rodzic
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
|
||||||
|
|
Ładowanie…
Reference in New Issue