Browse Source

Update database setup for tests (#1226)

* 🗃️ Update database setup for tests

*  Add pragmas and update db handling for tests
pull/1231/head
Sebastián Ramírez 5 years ago
committed by GitHub
parent
commit
a46bbc54cd
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 14
      tests/test_tutorial/test_sql_databases/test_sql_databases.py
  2. 15
      tests/test_tutorial/test_sql_databases/test_sql_databases_middleware.py
  3. 17
      tests/test_tutorial/test_sql_databases/test_testing_databases.py

14
tests/test_tutorial/test_sql_databases/test_sql_databases.py

@ -1,3 +1,4 @@
import importlib
from pathlib import Path from pathlib import Path
import pytest import pytest
@ -283,13 +284,18 @@ openapi_schema = {
@pytest.fixture(scope="module") @pytest.fixture(scope="module")
def client(): def client():
test_db = Path("./sql_app.db")
if test_db.is_file(): # pragma: nocover
test_db.unlink()
# Import while creating the client to create the DB after starting the test session # Import while creating the client to create the DB after starting the test session
from sql_databases.sql_app.main import app from sql_databases.sql_app import main
test_db = Path("./sql_app.db") # Ensure import side effects are re-executed
with TestClient(app) as c: importlib.reload(main)
with TestClient(main.app) as c:
yield c yield c
test_db.unlink() if test_db.is_file(): # pragma: nocover
test_db.unlink()
def test_openapi_schema(client): def test_openapi_schema(client):

15
tests/test_tutorial/test_sql_databases/test_sql_databases_middleware.py

@ -1,3 +1,4 @@
import importlib
from pathlib import Path from pathlib import Path
import pytest import pytest
@ -283,13 +284,19 @@ openapi_schema = {
@pytest.fixture(scope="module") @pytest.fixture(scope="module")
def client(): def client():
test_db = Path("./sql_app.db")
if test_db.is_file(): # pragma: nocover
test_db.unlink()
# Import while creating the client to create the DB after starting the test session # Import while creating the client to create the DB after starting the test session
from sql_databases.sql_app.alt_main import app from sql_databases.sql_app import alt_main
test_db = Path("./sql_app.db") # Ensure import side effects are re-executed
with TestClient(app) as c: importlib.reload(alt_main)
with TestClient(alt_main.app) as c:
yield c yield c
test_db.unlink() if test_db.is_file(): # pragma: nocover
test_db.unlink()
def test_openapi_schema(client): def test_openapi_schema(client):

17
tests/test_tutorial/test_sql_databases/test_testing_databases.py

@ -1,13 +1,16 @@
import importlib
from pathlib import Path from pathlib import Path
def test_testing_dbs(): def test_testing_dbs():
test_db = Path("./test.db")
if test_db.is_file(): # pragma: nocover
test_db.unlink()
# Import while creating the client to create the DB after starting the test session # Import while creating the client to create the DB after starting the test session
from sql_databases.sql_app.tests.test_sql_app import test_create_user from sql_databases.sql_app.tests import test_sql_app
test_db = Path("./test.db") # Ensure import side effects are re-executed
app_db = Path("./sql_app.db") importlib.reload(test_sql_app)
test_create_user() test_sql_app.test_create_user()
test_db.unlink() if test_db.is_file(): # pragma: nocover
if app_db.is_file(): # pragma: nocover test_db.unlink()
app_db.unlink()

Loading…
Cancel
Save