21
21
f"postgresql+asyncpg://"
22
22
f"{ settings .DB_USER } :{ settings .DB_PASSWORD } @{ settings .DB_HOST } :{ settings .DB_PORT } /{ settings .DB_NAME } "
23
23
)
24
- engine_test = create_async_engine (DATABASE_URL_TEST , connect_args = {"server_settings" : {"jit" : "off" }})
24
+ engine_test = create_async_engine (
25
+ DATABASE_URL_TEST , connect_args = {"server_settings" : {"jit" : "off" }}
26
+ )
25
27
autocommit_engine = engine_test .execution_options (isolation_level = "AUTOCOMMIT" )
26
28
27
- async_session_maker = sessionmaker (autocommit_engine , class_ = AsyncSession , expire_on_commit = False )
29
+ async_session_maker = sessionmaker (
30
+ autocommit_engine , class_ = AsyncSession , expire_on_commit = False
31
+ )
28
32
metadata .bind = engine_test
29
33
30
34
@@ -36,7 +40,7 @@ async def override_get_async_session() -> AsyncGenerator[AsyncSession, None]:
36
40
app .dependency_overrides [get_async_session ] = override_get_async_session
37
41
38
42
39
- @pytest .fixture (scope = "session" )
43
+ @pytest .fixture ()
40
44
async def db_session ():
41
45
async with autocommit_engine .begin () as conn :
42
46
await conn .execute (text (f"CREATE SCHEMA IF NOT EXISTS { settings .DB_SCHEMA } " ))
@@ -140,31 +144,43 @@ def authenticated_doug_client(async_client: AsyncClient, doug_user: User):
140
144
141
145
142
146
@pytest .fixture
143
- async def bob_emily_chat (db_session : AsyncSession , bob_user : User , emily_user : User ) -> Chat :
147
+ async def bob_emily_chat (
148
+ db_session : AsyncSession , bob_user : User , emily_user : User
149
+ ) -> Chat :
144
150
chat = Chat (chat_type = ChatType .DIRECT )
145
151
chat .users .append (bob_user )
146
152
chat .users .append (emily_user )
147
153
db_session .add (chat )
148
154
await db_session .flush ()
149
155
# make empty read statuses for both users last_read_message_id = 0
150
- initiator_read_status = ReadStatus (chat_id = chat .id , user_id = bob_user .id , last_read_message_id = 0 )
151
- recipient_read_status = ReadStatus (chat_id = chat .id , user_id = emily_user .id , last_read_message_id = 0 )
156
+ initiator_read_status = ReadStatus (
157
+ chat_id = chat .id , user_id = bob_user .id , last_read_message_id = 0
158
+ )
159
+ recipient_read_status = ReadStatus (
160
+ chat_id = chat .id , user_id = emily_user .id , last_read_message_id = 0
161
+ )
152
162
db_session .add_all ([initiator_read_status , recipient_read_status ])
153
163
await db_session .commit ()
154
164
155
165
return chat
156
166
157
167
158
168
@pytest .fixture
159
- async def bob_doug_chat (db_session : AsyncSession , doug_user : User , bob_user : User ) -> Chat :
169
+ async def bob_doug_chat (
170
+ db_session : AsyncSession , doug_user : User , bob_user : User
171
+ ) -> Chat :
160
172
chat = Chat (chat_type = ChatType .DIRECT )
161
173
chat .users .append (doug_user )
162
174
chat .users .append (bob_user )
163
175
db_session .add (chat )
164
176
await db_session .flush ()
165
177
# make empty read statuses for both users last_read_message_id = 0
166
- initiator_read_status = ReadStatus (chat_id = chat .id , user_id = bob_user .id , last_read_message_id = 0 )
167
- recipient_read_status = ReadStatus (chat_id = chat .id , user_id = doug_user .id , last_read_message_id = 0 )
178
+ initiator_read_status = ReadStatus (
179
+ chat_id = chat .id , user_id = bob_user .id , last_read_message_id = 0
180
+ )
181
+ recipient_read_status = ReadStatus (
182
+ chat_id = chat .id , user_id = doug_user .id , last_read_message_id = 0
183
+ )
168
184
db_session .add_all ([initiator_read_status , recipient_read_status ])
169
185
170
186
await db_session .commit ()
@@ -199,12 +215,16 @@ async def bob_emily_chat_messages_history(
199
215
200
216
@pytest .fixture
201
217
async def bob_read_status (
202
- db_session : AsyncSession , bob_user : User , bob_emily_chat_messages_history : list [Message ]
218
+ db_session : AsyncSession ,
219
+ bob_user : User ,
220
+ bob_emily_chat_messages_history : list [Message ],
203
221
) -> ReadStatus :
204
222
# bob read 10 messages
205
223
last_read_message = bob_emily_chat_messages_history [9 ]
206
224
read_status = ReadStatus (
207
- user_id = bob_user .id , chat_id = last_read_message .chat .id , last_read_message_id = last_read_message .id
225
+ user_id = bob_user .id ,
226
+ chat_id = last_read_message .chat .id ,
227
+ last_read_message_id = last_read_message .id ,
208
228
)
209
229
db_session .add (read_status )
210
230
await db_session .commit ()
@@ -214,12 +234,16 @@ async def bob_read_status(
214
234
215
235
@pytest .fixture
216
236
async def emily_read_status (
217
- db_session : AsyncSession , emily_user : User , bob_emily_chat_messages_history : list [Message ]
237
+ db_session : AsyncSession ,
238
+ emily_user : User ,
239
+ bob_emily_chat_messages_history : list [Message ],
218
240
) -> ReadStatus :
219
241
# emily read 15 messages
220
242
last_read_message = bob_emily_chat_messages_history [14 ]
221
243
read_status = ReadStatus (
222
- user_id = emily_user .id , chat_id = last_read_message .chat .id , last_read_message_id = last_read_message .id
244
+ user_id = emily_user .id ,
245
+ chat_id = last_read_message .chat .id ,
246
+ last_read_message_id = last_read_message .id ,
223
247
)
224
248
db_session .add (read_status )
225
249
await db_session .commit ()
0 commit comments