1- import asyncio
2-
31import pytest
42
53from replit_river .seq_manager import (
6- IgnoreMessageException ,
4+ IgnoreMessage ,
75 OutOfOrderMessageException ,
86 SeqManager ,
97)
1412@pytest .mark .asyncio
1513async def test_initial_sequence_and_ack_numbers (no_logging_error : NoErrors ) -> None :
1614 manager = SeqManager ()
17- assert await manager .get_seq () == 0 , "Initial sequence number should be 0"
18- assert await manager .get_ack () == 0 , "Initial acknowledgment number should be 0"
15+ assert manager .get_seq () == 0 , "Initial sequence number should be 0"
16+ assert manager .get_ack () == 0 , "Initial acknowledgment number should be 0"
1917 no_logging_error ()
2018
2119
2220@pytest .mark .asyncio
2321async def test_sequence_number_increment (no_logging_error : NoErrors ) -> None :
2422 manager = SeqManager ()
25- initial_seq = await manager .get_seq_and_increment ()
23+ initial_seq = manager .get_seq_and_increment ()
2624 assert initial_seq == 0 , "Sequence number should start at 0"
27- new_seq = await manager .get_seq ()
25+ new_seq = manager .get_seq ()
2826 assert new_seq == 1 , "Sequence number should increment to 1"
2927 no_logging_error ()
3028
@@ -33,42 +31,40 @@ async def test_sequence_number_increment(no_logging_error: NoErrors) -> None:
3331async def test_message_reception (no_logging_error : NoErrors ) -> None :
3432 manager = SeqManager ()
3533 msg = transport_message (seq = 0 , ack = 0 , from_ = "client" )
36- await manager .check_seq_and_update (
34+ manager .check_seq_and_update (
3735 msg
3836 ) # No error should be raised for the correct sequence
39- assert await manager .get_ack () == 1 , "Acknowledgment should be set to 1"
37+ assert manager .get_ack () == 1 , "Acknowledgment should be set to 1"
4038
4139 # We assert no errors before we send out-of-order messages
4240 no_logging_error ()
4341
4442 # Test duplicate message
45- with pytest .raises (IgnoreMessageException ):
46- await manager .check_seq_and_update (msg )
43+ assert isinstance (manager .check_seq_and_update (msg ), IgnoreMessage )
4744
4845 # Test out of order message
4946 msg .seq = 2
5047 with pytest .raises (OutOfOrderMessageException ):
51- await manager .check_seq_and_update (msg )
48+ manager .check_seq_and_update (msg )
5249
5350
5451@pytest .mark .asyncio
5552async def test_acknowledgment_setting (no_logging_error : NoErrors ) -> None :
5653 manager = SeqManager ()
5754 msg = transport_message (seq = 0 , ack = 0 , from_ = "client" )
58- await manager .check_seq_and_update (msg )
59- assert await manager .get_ack () == 1 , "Acknowledgment number should be updated"
55+ manager .check_seq_and_update (msg )
56+ assert manager .get_ack () == 1 , "Acknowledgment number should be updated"
6057 no_logging_error ()
6158
6259
6360@pytest .mark .asyncio
6461async def test_concurrent_access_to_sequence (no_logging_error : NoErrors ) -> None :
6562 manager = SeqManager ()
66- tasks = [manager .get_seq_and_increment () for _ in range (10 )]
67- results = await asyncio .gather (* tasks )
63+ results = [manager .get_seq_and_increment () for _ in range (10 )]
6864 assert len (set (results )) == 10 , (
6965 "Each increment call should return a unique sequence number"
7066 )
71- assert await manager .get_seq () == 10 , (
67+ assert manager .get_seq () == 10 , (
7268 "Final sequence number should be 10 after 10 increments"
7369 )
7470 no_logging_error ()
0 commit comments