Skip to content

Commit 0b4f90e

Browse files
committed
wip
1 parent 4ad7650 commit 0b4f90e

File tree

1 file changed

+20
-2
lines changed

1 file changed

+20
-2
lines changed

models/spring-ai-openai/src/test/java/org/springframework/ai/openai/chat/OpenAiRetryTests.java

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package org.springframework.ai.openai.chat;
1818

19+
import java.time.Duration;
1920
import java.util.List;
2021
import java.util.Optional;
2122

@@ -25,6 +26,8 @@
2526
import org.junit.jupiter.api.extension.ExtendWith;
2627
import org.mockito.Mock;
2728
import org.mockito.junit.jupiter.MockitoExtension;
29+
import org.slf4j.Logger;
30+
import org.slf4j.LoggerFactory;
2831
import reactor.core.publisher.Flux;
2932

3033
import org.springframework.ai.audio.transcription.AudioTranscriptionPrompt;
@@ -59,7 +62,6 @@
5962
import org.springframework.ai.openai.api.OpenAiImageApi.Data;
6063
import org.springframework.ai.openai.api.OpenAiImageApi.OpenAiImageRequest;
6164
import org.springframework.ai.openai.api.OpenAiImageApi.OpenAiImageResponse;
62-
import org.springframework.ai.retry.RetryUtils;
6365
import org.springframework.ai.retry.TransientAiException;
6466
import org.springframework.core.io.ClassPathResource;
6567
import org.springframework.http.ResponseEntity;
@@ -81,6 +83,8 @@
8183
@ExtendWith(MockitoExtension.class)
8284
public class OpenAiRetryTests {
8385

86+
private static final Logger logger = LoggerFactory.getLogger(OpenAiRetryTests.class);
87+
8488
private TestRetryListener retryListener;
8589

8690
private RetryTemplate retryTemplate;
@@ -99,9 +103,23 @@ public class OpenAiRetryTests {
99103

100104
private OpenAiImageModel imageModel;
101105

106+
public static final RetryTemplate SHORT_RETRY_TEMPLATE = RetryTemplate.builder()
107+
.maxAttempts(10)
108+
.retryOn(TransientAiException.class)
109+
.fixedBackoff(Duration.ofMillis(100))
110+
.withListener(new RetryListener() {
111+
112+
@Override
113+
public <T extends Object, E extends Throwable> void onError(RetryContext context,
114+
RetryCallback<T, E> callback, Throwable throwable) {
115+
logger.warn("Retry error. Retry count:" + context.getRetryCount(), throwable);
116+
}
117+
})
118+
.build();
119+
102120
@BeforeEach
103121
public void beforeEach() {
104-
this.retryTemplate = RetryUtils.DEFAULT_RETRY_TEMPLATE;
122+
this.retryTemplate = SHORT_RETRY_TEMPLATE;
105123
this.retryListener = new TestRetryListener();
106124
this.retryTemplate.registerListener(this.retryListener);
107125

0 commit comments

Comments
 (0)