首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Mountebank使用了错误的谓词并忽略了contains中的值

Mountebank使用了错误的谓词并忽略了contains中的值
EN

Stack Overflow用户
提问于 2020-08-11 23:20:55
回答 1查看 313关注 0票数 0

我试过他们的文档,但它是非常“基础”的,所以希望这里有人能发现我的问题?我有两个谓词,一个使用错误的用户,另一个使用正确的用户。用户的base64是通过post-body发送的,但似乎装载银行的contains只是忽略了它,而是选择一个带有另一个包含值的谓词...为什么会这样呢?

我的请求是与dX...2g=

代码语言:javascript
运行
复制
"body":"{\"auth\":\"dXNlcjpmYWxzY2g=\"}"

但是装载库匹配一个带有dX...Gln的谓词

代码语言:javascript
运行
复制
using predicate match: [{
   "equals":{"method":"POST","path":"/new"},
   "contains":{"body":"{\"auth\":\"dXNlcjpyaWNodGln\""}
}]

contains不匹配,它仍然使用该谓词,即使我的存根包含匹配的谓词,但它没有被使用:

代码语言:javascript
运行
复制
{
  "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不是。

EN

回答 1

Stack Overflow用户

发布于 2020-08-12 02:16:20

诀窍似乎是使用and,这很奇怪,但解决方案是:

代码语言:javascript
运行
复制
"predicates": [{
  "and": [
    { "equals": { "method": "POST", "path": "/new" }},
    { "contains": { "body": "{\"auth\":\"dXNlcjpyaWNodGln\"" }}
  ]
}],
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63361309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档