@@ -87,13 +87,9 @@ void testTimeoutOccursBeforeSqsResponds() throws Exception {
87
87
void testResponseReceivedBeforeTimeout () throws Exception {
88
88
setupBatchManager ();
89
89
90
- // Delays for testing
91
- int queueAttributesApiDelay = 5 ;
92
- int receiveMessagesDelay = 5 ;
93
-
94
- // Set short delays to ensure response before timeout
95
- mockQueueAttributes (queueAttributesApiDelay );
96
- mockReceiveMessages (receiveMessagesDelay , 2 );
90
+ // No delays set since we mock quick response from SQS.
91
+ mockQueueAttributes ();
92
+ mockReceiveMessages (2 );
97
93
98
94
CompletableFuture <ReceiveMessageResponse > future = batchManagerReceiveMessage ();
99
95
assertThat (future .get (5 , TimeUnit .SECONDS ).messages ()).hasSize (2 );
@@ -179,6 +175,22 @@ private void mockReceiveMessages(int delay, int numMessages) {
179
175
.withFixedDelay (delay )));
180
176
}
181
177
178
+ private void mockReceiveMessages (int numMessages ) {
179
+ stubFor (post (urlEqualTo ("/" ))
180
+ .withHeader ("x-amz-target" , equalTo ("AmazonSQS.ReceiveMessage" ))
181
+ .willReturn (aResponse ()
182
+ .withStatus (200 )
183
+ .withBody (generateMessagesJson (numMessages ))));
184
+ }
185
+
186
+ private void mockQueueAttributes ( ) {
187
+ stubFor (post (urlEqualTo ("/" ))
188
+ .withHeader ("x-amz-target" , equalTo ("AmazonSQS.GetQueueAttributes" ))
189
+ .willReturn (aResponse ()
190
+ .withStatus (200 )
191
+ .withBody (String .format (QUEUE_ATTRIBUTE_RESPONSE , "0" , "30" ))));
192
+ }
193
+
182
194
private CompletableFuture <ReceiveMessageResponse > batchManagerReceiveMessage () {
183
195
return receiveMessageBatchManager .receiveMessage (r -> r .queueUrl ("test" ));
184
196
}
0 commit comments