def select_user(cls, user_id: int = None, name: str = None) -> List[Users]: """ Select data in user entity by id and/or name :param - user_id: Id of the registry - name: User name :return - List with Users selected """ with DBConnectionHandler() as db_connection: query_data = None try: if user_id and not name: data = (db_connection.session.query(UsersModel).filter_by( id=user_id).one()) query_data = [data] elif not user_id and name: data = (db_connection.session.query(UsersModel).filter_by( name=name).one()) query_data = [data] elif user_id and name: data = (db_connection.session.query(UsersModel).filter_by( id=user_id, name=name).one()) query_data = [data] return query_data except NoResultFound: return [] except: db_connection.session.rollback() raise finally: db_connection.session.close()
def select_user(cls, user_id: int = None, name: str = None) -> List[Users]: """Select data in user entity Return: List User """ with DBConnectionHandler() as db_conn: try: query_data = None if user_id and not name: data = db_conn.session.query(UsersModel).filter_by( id=user_id).one() query_data = [data] elif not user_id and name: data = db_conn.session.query(UsersModel).filter_by( name=name).one() query_data = [data] elif user_id and name: data = (db_conn.session.query(UsersModel).filter_by( id=user_id, name=name).one()) query_data = [data] return query_data except: db_conn.session.rollback() raise finally: db_conn.session.close()
def insert_pet(cls, name: str, specie: str, age: int, user_id: int) -> Pets: """ Insert data in PetsEntity entity :param - name: name of the pet - specie: Enum with species acepted - age: pet age - user_id: id of the owner (FK) :return - tuple with new pet inserted """ with DBConnectionHandler() as db_connection: try: new_pet = PetsModel(name=name, specie=specie, age=age, user_id=user_id) db_connection.session.add(new_pet) db_connection.session.commit() return Pets( id=new_pet.id, name=new_pet.name, specie=new_pet.specie.value, age=new_pet.age, user_id=new_pet.user_id, ) except: db_connection.session.rollback() raise finally: db_connection.session.close() return None
def select_pet(cls, pet_id: int = None, user_id: int = None) -> List[Pets]: """ Select data in PetsEntity entity by id and/or user_id :param - pet_id: Id of the pet registry - user_ud: Id of the owner :return - List with Pets selected """ try: query_data = None if pet_id and not user_id: with DBConnectionHandler() as db_connection: data = (db_connection.session.query(PetsModel).filter_by( id=pet_id).one()) query_data = [data] elif not pet_id and user_id: with DBConnectionHandler() as db_connection: data = (db_connection.session.query(PetsModel).filter_by( user_id=user_id).all()) query_data = data elif pet_id and user_id: with DBConnectionHandler() as db_connection: data = (db_connection.session.query(PetsModel).filter_by( id=pet_id, user_id=user_id).one()) query_data = [data] return query_data except NoResultFound: return [] except: db_connection.session.rollback() raise finally: db_connection.session.close() return None
def insert_use(cls): with DBConnectionHandler() as db_connection: try: new_user = Users(name="Rose", password="******") db_connection.session.add(new_user) db_connection.session.commit() except: db_connection.session.rollback() raise finally: db_connection.session.close()
def insert_user(cls): """ Something """ with DBConnectionHandler() as db_connection: try: new_user = Users(name="Programador", password="******") db_connection.session.add(new_user) db_connection.session.commit() except: db_connection.session.rollback() raise finally: db_connection.session.close()
def insert_pet(cls, name: str, specie: str, age: int, user_id: int) -> Pets: """Insert data Pet Entiyy""" with DBConnectionHandler() as db_conn: try: new_pet = PetsModel(name=name, specie=specie, age=age, user_id=user_id) db_conn.session.add(new_pet) db_conn.session.commit() print(new_pet) return Pets( id=new_pet.id, name=new_pet.name, specie=new_pet.specie.value, age=new_pet.age, user_id=new_pet.user_id, ) except: db_conn.session.rollback() raise finally: db_conn.session.close()
def insert_user(cls, name: str, password: str) -> Users: """insert data in user entity :param - name: person name - password: user pasword :return - Users tuple with new user inserted """ with DBConnectionHandler() as db_connection: try: new_user = UsersModel(name=name, password=password) db_connection.session.add(new_user) db_connection.session.commit() return Users(id=new_user.id, name=new_user.name, password=new_user.password) except: db_connection.session.rollback() raise finally: db_connection.session.close() return None
def insert_user(cls, name: str, password: str) -> Users: """Insert data in user tables :return - tuple with new user :params - name, password """ with DBConnectionHandler() as db_conn: try: new_user = UsersModel(name=name, password=password) db_conn.session.add(new_user) db_conn.session.commit() return Users(id=new_user.id, name=new_user.name, password=new_user.password) except: db_conn.session.rollback() raise finally: db_conn.session.close()
def select_pet( cls, pet_id: int = None, user_id: int = None, ) -> List[Pets]: """Select pet entity :param - pet_id - Id of registered pet :param - user_id id of registered pet. """ with DBConnectionHandler() as db_conn: try: query_data = None if pet_id and not user_id: data = db_conn.session.query(PetsModel).filter_by(id=pet_id).one() query_data = [data] elif not pet_id and user_id: data = ( db_conn.session.query(PetsModel) .filter_by(user_id=user_id) .all() ) query_data = data elif pet_id and user_id: data = ( db_conn.session.query(PetsModel) .filter_by(id=pet_id, user_id=user_id) .one() ) query_data = [data] return query_data except: db_conn.session.rollback() raise finally: db_conn.session.close()
from faker import Faker from src.infra.entities import Users as UsersModel from src.infra.config import DBConnectionHandler from .user_repository import UserRepository faker = Faker() user_repository = UserRepository() db_connection_handler = DBConnectionHandler() def test_insert_user(): """ Should insert user """ name = faker.name() password = faker.word() engine = db_connection_handler.get_engine() # SQL Commands new_user = user_repository.insert_user(name, password) query_user = engine.execute("SELECT * FROM users WHERE id='{}';".format( new_user.id)).fetchone() engine.execute("DELETE FROM users WHERE id='{}';".format(new_user.id)) assert new_user.id == query_user.id assert new_user.name == query_user.name assert new_user.password == query_user.password def test_select_user(): """ Should select a user in Users table and compare it """
from faker import Faker from src.infra.config import DBConnectionHandler from src.infra.entities import Users as UsersModel from .users_repository import UsersRepository faker = Faker() user_repository = UsersRepository() db_conn = DBConnectionHandler() def test_insert_user(): """Should insert User""" name = faker.name() password = faker.word() engine = db_conn.get_engine() new_user = user_repository.insert_user(name, password) query_user = engine.execute("SELECT * FROM users WHERE id='{}';".format( new_user.id)).fetchone() engine.execute("DELETE FROM users WHERE id='{}';".format(new_user.id)) assert new_user.id == query_user.id assert new_user.name == query_user.name assert new_user.password == query_user.password def test_select_user(): """Should select a user with name and id passed""" user_id = faker.random_number(digits=5) name = faker.name() password = faker.word()