void emptyDiagnosticMessagesTest()

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();
  }