diff --git a/db.sqlite b/db.sqlite index 6108c74..659559a 100644 Binary files a/db.sqlite and b/db.sqlite differ diff --git a/library_backend/database.py b/library_backend/database.py index 8297b01..9943901 100644 --- a/library_backend/database.py +++ b/library_backend/database.py @@ -1,5 +1,8 @@ import random +import sqlalchemy import uuid + + from datetime import date from functools import wraps from faker import Faker @@ -39,6 +42,7 @@ def __init__(self): self.engine = create_engine("sqlite:///db.sqlite", echo=False) self.session = None self.connection_name = None + self.inspect = sqlalchemy.inspect(self.engine) def __enter__(self): self.session = sessionmaker(bind=self.engine)() @@ -46,9 +50,9 @@ def __enter__(self): @check_session() def create_tables_if_not_exists(self): try: - if not (self.engine.dialect.has_table(self.engine, UsersDBModel.__tablename__) - and self.engine.dialect.has_table(self.engine, BooksDBModel.__tablename__) - and self.engine.dialect.has_table(self.engine, ReservationsDBModel.__tablename__)): + if not (self.inspect.has_table(UsersDBModel.__tablename__, schema=None) + and self.inspect.has_table(BooksDBModel.__tablename__, schema=None) + and self.inspect.has_table(ReservationsDBModel.__tablename__, schema=None)): logger.info(f"Creating table {UsersDBModel.__tablename__}...") try: Base.metadata.create_all(self.engine) diff --git a/requirements.txt b/requirements.txt index b203acf..9f0967f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,5 @@ -flask -sqlalchemy -faker -pytest +mock==4.0.3 +flask==2.3.2 +sqlalchemy==1.4.35 +faker==13.3.4 +pytest==7.11.1 diff --git a/tests/books_endpoints/test_book_service.py b/tests/books_endpoints/test_book_service.py index 91d6d1b..6a4218a 100644 --- a/tests/books_endpoints/test_book_service.py +++ b/tests/books_endpoints/test_book_service.py @@ -1,8 +1,9 @@ import copy -import mock import pytest +from unittest import mock + from library_backend.exceptions import BookAlreadyExists, ResourceNotFound from library_backend.service import BookService, BooksDBModel