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
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with
31 additions and
15 deletions
-
tests/test_tutorial/test_sql_databases/test_sql_databases.py
-
tests/test_tutorial/test_sql_databases/test_sql_databases_middleware.py
-
tests/test_tutorial/test_sql_databases/test_testing_databases.py
|
|
@ -1,3 +1,4 @@ |
|
|
|
import importlib |
|
|
|
from pathlib import Path |
|
|
|
|
|
|
|
import pytest |
|
|
@ -283,12 +284,17 @@ openapi_schema = { |
|
|
|
|
|
|
|
@pytest.fixture(scope="module") |
|
|
|
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 |
|
|
|
from sql_databases.sql_app.main import app |
|
|
|
from sql_databases.sql_app import main |
|
|
|
|
|
|
|
test_db = Path("./sql_app.db") |
|
|
|
with TestClient(app) as c: |
|
|
|
# Ensure import side effects are re-executed |
|
|
|
importlib.reload(main) |
|
|
|
with TestClient(main.app) as c: |
|
|
|
yield c |
|
|
|
if test_db.is_file(): # pragma: nocover |
|
|
|
test_db.unlink() |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1,3 +1,4 @@ |
|
|
|
import importlib |
|
|
|
from pathlib import Path |
|
|
|
|
|
|
|
import pytest |
|
|
@ -283,12 +284,18 @@ openapi_schema = { |
|
|
|
|
|
|
|
@pytest.fixture(scope="module") |
|
|
|
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 |
|
|
|
from sql_databases.sql_app.alt_main import app |
|
|
|
from sql_databases.sql_app import alt_main |
|
|
|
|
|
|
|
test_db = Path("./sql_app.db") |
|
|
|
with TestClient(app) as c: |
|
|
|
# Ensure import side effects are re-executed |
|
|
|
importlib.reload(alt_main) |
|
|
|
|
|
|
|
with TestClient(alt_main.app) as c: |
|
|
|
yield c |
|
|
|
if test_db.is_file(): # pragma: nocover |
|
|
|
test_db.unlink() |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1,13 +1,16 @@ |
|
|
|
import importlib |
|
|
|
from pathlib import Path |
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
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") |
|
|
|
app_db = Path("./sql_app.db") |
|
|
|
test_create_user() |
|
|
|
# Ensure import side effects are re-executed |
|
|
|
importlib.reload(test_sql_app) |
|
|
|
test_sql_app.test_create_user() |
|
|
|
if test_db.is_file(): # pragma: nocover |
|
|
|
test_db.unlink() |
|
|
|
if app_db.is_file(): # pragma: nocover |
|
|
|
app_db.unlink() |
|
|
|