【发布时间】:2020-08-11 15:20:54
【问题描述】:
我尝试了他们的文档,但它非常“基本”,所以希望这里有人能发现我的问题?我有 2 个谓词,一个使用错误的用户,一个使用正确的用户。
用户的 base64 是通过 post-body 发送的,但似乎 Mountebank 的 contains 只是简单地忽略它并选择具有另一个包含值的谓词......这是为什么呢?
我的请求是 dX...2g=:
"body":"{\"auth\":\"dXNlcjpmYWxzY2g=\"}"
但 Mountebank 将谓词与 dX...Gln 匹配:
using predicate match: [{
"equals":{"method":"POST","path":"/new"},
"contains":{"body":"{\"auth\":\"dXNlcjpyaWNodGln\""}
}]
contains 不匹配,它仍然使用那个谓词, 即使我的存根确实包含匹配的谓词,但它没有被使用:
{
"path": "/new",
"predicates": [{
"equals": {
"method": "POST",
"path": "/new"
},
"contains": {
"body": "{\"auth\":\"dXNlcjpyaWNodGln\""
}
}],
"responses": [{
"is": {
"statusCode": 200,
"body": {}
}
}
}]
}
,
{
"path": "/new",
"predicates": [{
"equals": {
"method": "POST",
"path": "/new"
},
"contains": {
"body": "{\"auth\":\"dXNlcjpmYWxzY2g=\""
}
}],
"responses": [{
"is": {
"statusCode": 401,
"body": {}
}
}
}]
}
我的语法错了吗?它匹配第一个谓词,即使它不包含 dXNlcjpmYWxzY2g=
它使用equals 确实有效,我只是好奇为什么contains 不是。
【问题讨论】:
标签: predicate stub mountebank