как использовать шаблон тела в отображении запроса в каркас - PullRequest
1 голос
/ 26 марта 2019

У меня есть два xml-запроса, как показано ниже, я просто хотел получить ответ. Response1, если тело запроса содержит узлы A, B, C и не содержит D. Response2, если все A, B, C, D содержатся в запросе.

Может кто-нибудь, пожалуйста, помогите мне в этом.

Также было бы полезно, если бы кто-то мог помочь мне получить хорошие статьи по запросу, используя шаблон тела или какие варианты доступны для шаблона тела.

Заранее спасибо !!

Я пробовал содержать и приоритет, но это не помогло.

Req1:

<TestService>
    <A> test </A>
    <B> testB</B>
    <C> testC </C>
    <XYZ> test </XYZ>
</TestService>

req2:

<TestService>
    <A> test </A>
    <B> testB</B>
    <C> testC </C>
    <XYZQ> test test</XYZQ>
   <D> testD</D>
</TestService>

1 Ответ

0 голосов
/ 26 марта 2019

В WireMock, скорее всего, в итоге появятся 2 правила, по одному для каждого сценария:

Правило, когда есть тег:

{
"request": {
 "method": "ANY",
 "url": "/xmltag",
 "bodyPatterns" : [ {
   "matchesXPath" : "/TestService[count(//D) = 1]"
 } ]  
},
"response": {
 "status": 200,
 "body": "<root><tag>D</tag></root>"
}
}

затем еще один, когда нет тега D:

{
"request": {
 "method": "ANY",
 "url": "/xmltag",
 "bodyPatterns" : [ {
   "matchesXPath" : "/TestService[count(//D) = 0]"
 } ]  
},
"response": {
 "status": 200,
 "body": "<root><tag>No D found</tag></root>"
}
}
...