99from alembic import command
1010from alembic .config import Config as AlembicConfig
1111from fastapi .testclient import TestClient
12- from sqlalchemy import create_engine
13-
14- from sqlalchemy import event
1512from fastapi_sqlalchemy import db
16-
13+ from sqlalchemy import create_engine , event
1714from sqlalchemy .orm import sessionmaker
1815from testcontainers .postgres import PostgresContainer
1916
2017from rating_api .models .db import *
2118from rating_api .routes import app
2219from rating_api .settings import Settings , get_settings
2320
24- from auth_lib .fastapi import UnionAuth
2521
2622class PostgresConfig :
2723 """Дата-класс со значениями для контейнера с тестовой БД и alembic-миграции."""
@@ -100,35 +96,34 @@ def dbsession(db_container):
10096def logging_sql_req_before_execute (dbsession ):
10197 """
10298 Фикстура для логирования всех сформированных в рамках одной транзакции
103- SQL-запросов, до их отправки в бд, то есть до Session.flush() или
99+ SQL-запросов, до их отправки в бд, то есть до Session.flush() или
104100 до Session.commit(), а так же событий сессии BEGIN, COMMIT и ROLLBACK
105101 """
106102 engine = dbsession .get_bind ()
107103
108104 @event .listens_for (engine , "before_execute" , named = True )
109105 def sql_requests_listener (** kw_entities_of_executing ):
110106 print ("\n ========= SQL command =========\n " )
111- print (f"SQL was sended: { kw_entities_of_executing .get (" clauseelement" )} \n " )
107+ print (f"SQL was sended: { kw_entities_of_executing .get (' clauseelement' )} \n " )
112108 print ("===============================\n " )
113109
114110 @event .listens_for (dbsession , "after_begin" , named = True )
115111 def begin_listener (** kw ):
116112 print ("\n ========= BEGIN =========\n " )
117113 print (f"BEGIN was executed\n " )
118- print ("===============================\n " )
114+ print ("===============================\n " )
119115
120116 @event .listens_for (dbsession , "after_rollback" , named = True )
121117 def begin_listener (** kw ):
122118 print ("\n ========= ROLLBACK =========\n " )
123119 print (f"ROLLBACK was executed\n " )
124- print ("===============================\n " )
120+ print ("===============================\n " )
125121
126122 @event .listens_for (dbsession , "after_commit" , named = True )
127123 def begin_listener (** kw ):
128124 print ("\n ========= COMMIT =========\n " )
129125 print (f"COMMIT was executed\n " )
130- print ("===============================\n " )
131-
126+ print ("===============================\n " )
132127
133128
134129@pytest .fixture ()
@@ -144,28 +139,32 @@ def authlib_user():
144139 """
145140 Данные о пользователе, возвращаемые сервисом auth.
146141 """
147- return {"auth_methods" :["email" ,"github_auth" ],
148- "session_scopes" :[
149- {"id" :145 ,"name" :"auth.session.create" },
150- {"id" :146 ,"name" :"auth.session.update" },
151- {"id" :165 ,"name" :"auth.user.selfdelete" }
152- ],
153- "user_scopes" :[
154- {"id" :145 ,"name" :"auth.session.create" },
155- {"id" :146 ,"name" :"auth.session.update" },
156- {"id" :165 ,"name" :"auth.user.selfdelete" }
157- ],
158- "indirect_groups" :[99 ],
159- "groups" :[99 ],
160- "id" :0 ,
161- "email" :"aslimbo2001@gmail.com" ,
162- "userdata" :[
163- {"category" :"Личная информация" ,"param" :"Полное имя" ,"value" :"Namazov Maksim" },
164- {"category" :"Личная информация" ,"param" :"Фото" ,"value" :"https://avatars.githubusercontent.com/u/192724282?v=4" },
165- {"category" :"Контакты" ,"param" :"Имя пользователя GitHub" ,"value" :"CaseAsLimbo" }
166- ]
167- }
168-
142+ return {
143+ "auth_methods" : ["email" , "github_auth" ],
144+ "session_scopes" : [
145+ {"id" : 145 , "name" : "auth.session.create" },
146+ {"id" : 146 , "name" : "auth.session.update" },
147+ {"id" : 165 , "name" : "auth.user.selfdelete" },
148+ ],
149+ "user_scopes" : [
150+ {"id" : 145 , "name" : "auth.session.create" },
151+ {"id" : 146 , "name" : "auth.session.update" },
152+ {"id" : 165 , "name" : "auth.user.selfdelete" },
153+ ],
154+ "indirect_groups" : [99 ],
155+ "groups" : [99 ],
156+ "id" : 0 ,
157+ "email" : "aslimbo2001@gmail.com" ,
158+ "userdata" : [
159+ {"category" : "Личная информация" , "param" : "Полное имя" , "value" : "Namazov Maksim" },
160+ {
161+ "category" : "Личная информация" ,
162+ "param" : "Фото" ,
163+ "value" : "https://avatars.githubusercontent.com/u/192724282?v=4" ,
164+ },
165+ {"category" : "Контакты" , "param" : "Имя пользователя GitHub" , "value" : "CaseAsLimbo" },
166+ ],
167+ }
169168
170169
171170@pytest .fixture ()
0 commit comments