@@ -1099,25 +1099,24 @@ def test_approximate_number_of_messages_not_visible(self, sqs_create_queue, aws_
10991099 # receive 1 message (from message group 1), now 5 messages should be visible
11001100 aws_sqs_client .receive_message (QueueUrl = queue_url , MaxNumberOfMessages = 1 )
11011101
1102- if is_aws_cloud ():
1103- # wait for aws to propagate the attributes
1104- time .sleep (45 )
1102+ def _assert_attributes_before_visibility_timeout ():
1103+ _result = aws_sqs_client .get_queue_attributes (
1104+ QueueUrl = queue_url ,
1105+ AttributeNames = [
1106+ "ApproximateNumberOfMessages" ,
1107+ "ApproximateNumberOfMessagesNotVisible" ,
1108+ "ApproximateNumberOfMessagesDelayed" ,
1109+ ],
1110+ )
1111+ assert _result ["Attributes" ] == {
1112+ "ApproximateNumberOfMessages" : "5" ,
1113+ "ApproximateNumberOfMessagesNotVisible" : "1" ,
1114+ "ApproximateNumberOfMessagesDelayed" : "0" ,
1115+ }
11051116
1106- result = aws_sqs_client .get_queue_attributes (
1107- QueueUrl = queue_url ,
1108- AttributeNames = [
1109- "ApproximateNumberOfMessages" ,
1110- "ApproximateNumberOfMessagesNotVisible" ,
1111- "ApproximateNumberOfMessagesDelayed" ,
1112- ],
1113- )
1114- assert result ["Attributes" ] == {
1115- "ApproximateNumberOfMessages" : "5" ,
1116- "ApproximateNumberOfMessagesNotVisible" : "1" ,
1117- "ApproximateNumberOfMessagesDelayed" : "0" ,
1118- }
1117+ retry (_assert_attributes_before_visibility_timeout , retries = 60 , sleep = 1 )
11191118
1120- def _assert_after ():
1119+ def _assert_after_visibility_timeout ():
11211120 _result = aws_sqs_client .get_queue_attributes (
11221121 QueueUrl = queue_url ,
11231122 AttributeNames = [
@@ -1132,7 +1131,7 @@ def _assert_after():
11321131 "ApproximateNumberOfMessagesDelayed" : "0" ,
11331132 }
11341133
1135- retry (_assert_after , retries = 15 , sleep = 1 , sleep_before = 15 if is_aws_cloud () else 0 )
1134+ retry (_assert_after_visibility_timeout , retries = 60 , sleep = 1 )
11361135
11371136 @markers .aws .validated
11381137 def test_fifo_approximate_number_of_messages_not_visible (
@@ -1172,25 +1171,24 @@ def test_fifo_approximate_number_of_messages_not_visible(
11721171 assert message_1 ["Messages" ][0 ]["Attributes" ]["MessageGroupId" ] == "1"
11731172 assert message_2 ["Messages" ][0 ]["Attributes" ]["MessageGroupId" ] == "2"
11741173
1175- if is_aws_cloud ():
1176- # wait for aws to propagate the attributes
1177- time .sleep (45 )
1174+ def _assert_attributes_before_visibility_timeout ():
1175+ _result = aws_sqs_client .get_queue_attributes (
1176+ QueueUrl = queue_url ,
1177+ AttributeNames = [
1178+ "ApproximateNumberOfMessages" ,
1179+ "ApproximateNumberOfMessagesNotVisible" ,
1180+ "ApproximateNumberOfMessagesDelayed" ,
1181+ ],
1182+ )
1183+ assert _result ["Attributes" ] == {
1184+ "ApproximateNumberOfMessages" : "4" ,
1185+ "ApproximateNumberOfMessagesNotVisible" : "2" ,
1186+ "ApproximateNumberOfMessagesDelayed" : "0" ,
1187+ }
11781188
1179- result = aws_sqs_client .get_queue_attributes (
1180- QueueUrl = queue_url ,
1181- AttributeNames = [
1182- "ApproximateNumberOfMessages" ,
1183- "ApproximateNumberOfMessagesNotVisible" ,
1184- "ApproximateNumberOfMessagesDelayed" ,
1185- ],
1186- )
1187- assert result ["Attributes" ] == {
1188- "ApproximateNumberOfMessages" : "4" ,
1189- "ApproximateNumberOfMessagesNotVisible" : "2" ,
1190- "ApproximateNumberOfMessagesDelayed" : "0" ,
1191- }
1189+ retry (_assert_attributes_before_visibility_timeout , retries = 60 , sleep = 1 )
11921190
1193- def _assert_after ():
1191+ def _assert_after_visibility_timeout ():
11941192 _result = aws_sqs_client .get_queue_attributes (
11951193 QueueUrl = queue_url ,
11961194 AttributeNames = [
@@ -1205,7 +1203,7 @@ def _assert_after():
12051203 "ApproximateNumberOfMessagesDelayed" : "0" ,
12061204 }
12071205
1208- retry (_assert_after , retries = 15 , sleep = 1 , sleep_before = 15 if is_aws_cloud () else 0 )
1206+ retry (_assert_after_visibility_timeout , retries = 60 , sleep = 1 )
12091207
12101208 @markers .aws .validated
12111209 def test_receive_after_visibility_timeout (self , sqs_create_queue , aws_sqs_client ):
0 commit comments