From abd0f45c9146c95ddcf8c1d0f6417d58a03a5ab0 Mon Sep 17 00:00:00 2001 From: coolneng Date: Sun, 2 Aug 2020 19:46:56 +0200 Subject: [PATCH] Create a DB session per query test --- tests/__init__.py | 10 +++++++ tests/queries_test.py | 69 +++++++++++++++++++++++++------------------ 2 files changed, 51 insertions(+), 28 deletions(-) diff --git a/tests/__init__.py b/tests/__init__.py index e69de29..08d99f4 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -0,0 +1,10 @@ +from fastapi.testclient import TestClient +from sqlalchemy import create_engine +from sqlalchemy.orm import sessionmaker + +from app import app +from constants import TESTING_DB + +engine = create_engine(TESTING_DB, connect_args={"check_same_thread": False}) +TestingSessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) +client = TestClient(app) diff --git a/tests/queries_test.py b/tests/queries_test.py index 5def271..93b5ddb 100644 --- a/tests/queries_test.py +++ b/tests/queries_test.py @@ -1,73 +1,86 @@ from datetime import datetime -from database import SessionLocal from database.models import * +from tests import TestingSessionLocal +from pytest import fixture -db = SessionLocal() +@fixture +def get_test_db(): + try: + db = TestingSessionLocal() + yield db + finally: + db.close() -def test_users(): - test = db.query(Users).filter(Users.id == 260).first() +def test_users(get_test_db): + test = get_test_db.query(Users).filter(Users.id == 260).first() assert test.email == "testaccountjugador@gmail.com" -def test_cities(): - test = db.query(Cities).filter(Cities.id == 7).first() +def test_cities(get_test_db): + test = get_test_db.query(Cities).filter(Cities.id == 7).first() assert test.name == "Lyon" -def test_games(): - test = db.query(Games).filter(Games.id == 508).first() +def test_games(get_test_db): + test = get_test_db.query(Games).filter(Games.id == 508).first() assert test.user_id == 1978 -def test_payments(): - test = db.query(Payments).filter(Payments.id == 375).first() +def test_payments(get_test_db): + test = get_test_db.query(Payments).filter(Payments.id == 375).first() assert test.user_id == 88 -def test_player_availabilities(): - test = db.query(PlayerAvailabilities).filter(PlayerAvailabilities.id == 248).first() +def test_player_availabilities(get_test_db): + test = ( + get_test_db.query(PlayerAvailabilities) + .filter(PlayerAvailabilities.id == 248) + .first() + ) assert test.game_id == 89 -def test_player_cancel_games(): - test = db.query(PlayerCancelGames).filter(PlayerCancelGames.id == 67).first() +def test_player_cancel_games(get_test_db): + test = ( + get_test_db.query(PlayerCancelGames).filter(PlayerCancelGames.id == 67).first() + ) assert test.player_id == 44 -def test_purchase_games(): - test = db.query(PurchaseGames).filter(PurchaseGames.id == 235).first() +def test_purchase_games(get_test_db): + test = get_test_db.query(PurchaseGames).filter(PurchaseGames.id == 235).first() assert test.game_id == 50 -def test_sports(): - test = db.query(Sports).filter(Sports.id == 4).first() +def test_sports(get_test_db): + test = get_test_db.query(Sports).filter(Sports.id == 4).first() assert test.name == "Volleyball" -def test_teams(): - test = db.query(Teams).filter(Teams.id == 306).first() +def test_teams(get_test_db): + test = get_test_db.query(Teams).filter(Teams.id == 306).first() assert test.game_id == 64 -def test_user_ratings(): - test = db.query(UserRatings).filter(UserRatings.id == 287).first() +def test_user_ratings(get_test_db): + test = get_test_db.query(UserRatings).filter(UserRatings.id == 287).first() assert test.user_id == 60 -def test_venue_images(): - test = db.query(VenueImages).filter(VenueImages.id == 3).first() +def test_venue_images(get_test_db): + test = get_test_db.query(VenueImages).filter(VenueImages.id == 3).first() date = datetime(year=2019, month=6, day=3, hour=5, minute=43, second=22) assert test.created == date -def test_venues(): - test = db.query(Venues).filter(Venues.id == 26).first() +def test_venues(get_test_db): + test = get_test_db.query(Venues).filter(Venues.id == 26).first() assert test.name == "Le tuto " -def test_web_bookings(): - test = db.query(WebBookings).filter(WebBookings.id == 7).first() +def test_web_bookings(get_test_db): + test = get_test_db.query(WebBookings).filter(WebBookings.id == 7).first() assert test.game == "Soccer"