При отправке ложных сообщений на удаленный сервер Wiremock возникает ошибка «JSON Parsing» - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь опубликовать сопоставления на удаленном сервере из весеннего приложения. Во время отладки я обнаружил, что мой JSON преобразуется в «StubMapping», и в этом месте происходит сбой кода со следующей ошибкой.

Error creating bean with name 'wiremockConfig' defined in file [C:\Users\Addy\school-impl-api\target\classes\com\test\school\project\wiremock\WiremockConfig.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.test.order.implementation.product.wiremock.WiremockConfig$$EnhancerBySpringCGLIB$$b100848d]: Constructor threw exception; nested exception is com.github.tomakehurst.wiremock.common.JsonException: {
  "errors" : [ {
    "code" : 10,
    "source" : {
      "pointer" : "/mappings"
    },
    "title" : "Error parsing JSON",
    "detail" : "Unrecognized field \"mappings\" (class com.github.tomakehurst.wiremock.stubbing.StubMapping), not marked as ignorable"
  } ]
}

У меня есть данные для отправки на удаленный автономный сервер. сервер из следующего выпуска (последний комментарий).

https://github.com/tomakehurst/wiremock/issues/1138

Мой код для отправки на удаленный сервер выглядит так:

WireMock wm = new WireMock("https", "wiremock-poc.apps.pcf.sample.int", 443);
wm.loadMappingsFrom("src/main/resources"); // Root dir contains mappings and __files

Это загружается, когда я запускаю локальный профиль.

Пожалуйста, предоставьте свое руководство, как решить эту проблему и двигаться дальше.

С уважением

Обновление : Пример файла сопоставления.

        {
  "mappings": [
    {
      "request": {
        "method": "GET",
        "urlPathPattern": "/school/admin/rest/users/([0-9]*)?([a-zA-Z0-9_\\-\\=\\?\\.]*)"
      },
      "response": {
        "status": 200,
        "headers": {
          "Content-Type": "application/json"
        },
        "bodyFileName": "./mockResponses/School-getUser.json"
      }
    }
  ]
}

1 Ответ

0 голосов
/ 30 апреля 2020

После обсуждения в чате выяснилось, что поддерживается сохранение каждого отображения в отдельном файле. Вот исходный код , который отвечает за это: RemoteMappingsLoader#load

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...