Java 支持服务器发送事件(SSE)的模拟库

Java 支持服务器发送事件(SSE)的模拟库,java,testing,simulator,server-sent-events,wiremock,Java,Testing,Simulator,Server Sent Events,Wiremock,我正在考虑使用“WireMock”实用程序,以便为我的自动测试创建基于HTTP的API的简单模拟器。我的问题是,有些测试需要服务器发送事件(SSE),而这(据我在github注释中所读到的)目前不受支持,至少不是现成的。有人知道我是否可以使用WireMock库的现有功能实现简单的SSE模拟器,或者可能知道一些支持SSE的同类库吗?作为一个选项,您可以手动构建事件流并模拟来自SSE端点的响应,如下所示(我使用的是WireMock-jre8-standalone:2.27.1): ... impor

我正在考虑使用“WireMock”实用程序,以便为我的自动测试创建基于HTTP的API的简单模拟器。我的问题是,有些测试需要服务器发送事件(SSE),而这(据我在github注释中所读到的)目前不受支持,至少不是现成的。有人知道我是否可以使用WireMock库的现有功能实现简单的SSE模拟器,或者可能知道一些支持SSE的同类库吗?

作为一个选项,您可以手动构建事件流并模拟来自SSE端点的响应,如下所示(我使用的是WireMock-jre8-standalone:2.27.1):

...
import static com.github.tomakehurst.wiremock.client.WireMock.get;
import static com.github.tomakehurst.wiremock.client.WireMock.givenThat;
import static com.github.tomakehurst.wiremock.client.WireMock.notFound;
import static com.github.tomakehurst.wiremock.client.WireMock.okForContentType;
import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo;
...
String eventStream =
            "id:id1\nevent:event1\ndata:data1\n\n" +
            "id:id2\nevent:event2\ndata:data2\n\n" +
            "id:id3\nevent:event3\ndata:data3\n\n";
givenThat(get(urlPathEqualTo("/sse"))
            .willReturn(okForContentType("text/event-stream", eventStream)));