Невозможно проанализировать ожидание на mockserver-netty при добавлении заголовка Content-Type - PullRequest
0 голосов
/ 08 июня 2018

У меня есть интеграционный тест, в котором я использую mockserver-netty (v5.3.0) с приложением springboot 2.0. Все работает нормально, но если я пытаюсь добавить заголовок Content-Type, я получаю следующее исключение:

java.lang.IllegalArgumentException: Exception while parsing [{
  "httpRequest" : {
    "method" : "POST",
    "body" : {
      "type" : "XML",
      "xml" : "......"
  },
  "times" : {
    "remainingTimes" : 0,
    "unlimited" : true
  },
  "timeToLive" : {
    "unlimited" : true
  }
}] for Expectation

    at org.mockserver.client.AbstractClient.sendRequest(AbstractClient.java:95)
    at org.mockserver.client.AbstractClient.sendExpectation(AbstractClient.java:441)
    at org.mockserver.client.ForwardChainExpectation.respond(ForwardChainExpectation.java:25)

Ожидается следующее:

{
    "method" : "POST",
    "body" : {
      "type" : "XML",
      "xml" : "......"
    }
  },
  "httpResponse" : {
    "statusCode" : 200,
    "headers" : {
      "Content-Type" : [ "text/xml" ]
    },
    "body" : "......."
  },
  "times" : {
    "remainingTimes" : 0,
    "unlimited" : true
  },
  "timeToLive" : {
    "unlimited" : true
  }
}

Я создаю его с помощью следующего кода:

private static HttpResponse responseWithBody(String responseBody, int statusCode, String contentType) {
    return HttpResponse.response()
            .withStatusCode(statusCode)
            .withHeader("Content-Type",contentType)
            .withBody(responseBody);
}

Если я просто закомментирую строку с .withHeader(«Content-Type», contentType), все работает нормально.Есть какие-нибудь подсказки по этому поводу?Большое спасибо

1 Ответ

0 голосов
/ 06 ноября 2018

У меня такая же проблема.Похоже, это было вызвано ошибкой в ​​анализаторе xml, используемом ниже, см. https://github.com/jamesdbloom/mockserver/issues/451

Обновитесь до mockserver 5.4.1, и все будет в порядке:)

...