11package io .quarkiverse .langchain4j .azure .openai .test ;
22
33import static com .github .tomakehurst .wiremock .client .WireMock .*;
4- import static com .github .tomakehurst .wiremock .core .WireMockConfiguration .options ;
54import static org .assertj .core .api .Assertions .assertThat ;
65import static org .awaitility .Awaitility .await ;
76import static org .junit .jupiter .api .Assertions .fail ;
1413
1514import org .jboss .shrinkwrap .api .ShrinkWrap ;
1615import org .jboss .shrinkwrap .api .spec .JavaArchive ;
17- import org .junit .jupiter .api .AfterAll ;
18- import org .junit .jupiter .api .BeforeAll ;
19- import org .junit .jupiter .api .BeforeEach ;
2016import org .junit .jupiter .api .Test ;
2117import org .junit .jupiter .api .extension .RegisterExtension ;
2218
23- import com .github .tomakehurst .wiremock .WireMockServer ;
24-
2519import dev .langchain4j .data .message .AiMessage ;
2620import dev .langchain4j .model .chat .StreamingChatModel ;
2721import dev .langchain4j .model .chat .response .ChatResponse ;
2822import dev .langchain4j .model .chat .response .StreamingChatResponseHandler ;
2923import io .quarkiverse .langchain4j .azure .openai .AzureOpenAiStreamingChatModel ;
30- import io .quarkiverse .langchain4j .openai . testing .internal .OpenAiBaseTest ;
24+ import io .quarkiverse .langchain4j .testing .internal .WiremockAware ;
3125import io .quarkus .arc .ClientProxy ;
3226import io .quarkus .test .QuarkusUnitTest ;
3327
34- public class AzureOpenAiStreamingChatModelTest extends OpenAiBaseTest {
35-
36- private static final int WIREMOCK_PORT = 8089 ;
37- private static WireMockServer wireMockServer ;
28+ public class AzureOpenAiStreamingChatModelTest extends WiremockAware {
3829
3930 @ RegisterExtension
4031 static final QuarkusUnitTest unitTest = new QuarkusUnitTest ()
4132 .setArchiveProducer (() -> ShrinkWrap .create (JavaArchive .class ))
4233 .overrideRuntimeConfigKey ("quarkus.langchain4j.azure-openai.api-key" , "api-key" )
43- .overrideRuntimeConfigKey ("quarkus.langchain4j.azure-openai.endpoint" ,
44- "http://localhost:%d" .formatted (WIREMOCK_PORT ))
34+ .overrideRuntimeConfigKey ("quarkus.langchain4j.azure-openai.endpoint" , WiremockAware .wiremockUrlForConfig ())
4535 .overrideRuntimeConfigKey ("quarkus.langchain4j.azure-openai.log-requests" , "true" )
4636 .overrideRuntimeConfigKey ("quarkus.langchain4j.azure-openai.log-responses" , "true" );
4737
48- @ BeforeAll
49- static void beforeAll () {
50- wireMockServer = new WireMockServer (options ().port (WIREMOCK_PORT ));
51- wireMockServer .start ();
52- }
53-
54- @ AfterAll
55- static void afterAll () {
56- wireMockServer .stop ();
57- }
58-
59- @ BeforeEach
60- void setup () {
61- wireMockServer .resetAll ();
62- }
63-
6438 @ Inject
6539 StreamingChatModel streamingChatModel ;
6640
@@ -86,7 +60,7 @@ void test() {
8660 data: [DONE]
8761 """ ;
8862
89- wireMockServer . stubFor (
63+ wiremock (). register (
9064 post (urlMatching ("/chat/completions.*" ))
9165 .willReturn (okForContentType (MediaType .SERVER_SENT_EVENTS , eventStream )));
9266 var streamingResponse = new AtomicReference <AiMessage >();
0 commit comments