in src/it/java/com/epam/digital/data/platform/langserver/XmlLangServerIT.java [71:100]
void emptyDiagnosticMessagesTest() {
var initializeRequest = getResourceContent("xml/xml-initialize-request.json");
var resourceContent = getResourceContent("xml/xml-request-correct.json");
var didOpenRequest = getResourceContent("xml/xml-did-open-request.json");
var webSocketClient = new StandardWebSocketClient();
var errors = new ArrayList<>();
var webSocketSessionListenableFuture = webSocketClient.doHandshake(
new TextWebSocketHandler() {
@Override
protected void handleTextMessage(@NonNull WebSocketSession session,
@NonNull TextMessage message) {
Map<String, List<String>> params = JsonPath.read(message.getPayload(),
"$.params");
List<String> diagnostics = params.get("diagnostics");
if (Objects.nonNull(diagnostics)) {
errors.addAll(diagnostics);
}
}
},
new WebSocketHttpHeaders(),
URI.create("ws://localhost:" + port + "/xml"));
var webSocketSession = webSocketSessionListenableFuture.get();
sendMessage(initializeRequest, webSocketSession);
sendMessage(didOpenRequest, webSocketSession);
sendMessage(resourceContent, webSocketSession);
Assertions.assertThat(errors).isEmpty();
}