Настройка параметров запроса для тестирования mountebank

Я хочу настроить mountebank для конечной точки /trends?param1=PT-31. Следуя этому пути, я устанавливаю предикаты в импостере. Однако, похоже, совпадения нет, и я не получаю ответа.

Что мне не хватает?

        "predicates": [
            {
                "and": [
                    {
                        "deepEquals": {
                            "path": "/trends",
                            "query": {
                                "param1" : [
                                    "PT-31", "PT-32"
                                ]
                            },
                            "method": "GET",
                            "headers": {
                                "Content-Type": "application/json"
                            }
                        }
                    }
                ]
            }
        ]

person cogitoergosum    schedule 10.04.2018    source источник
comment
Путь /test или /trends?   -  person    schedule 10.04.2018
comment
Извиняюсь. Должно быть /trends   -  person cogitoergosum    schedule 10.04.2018
comment
Тогда, пожалуйста, отредактируйте свой вопрос и исправьте эту опечатку.   -  person    schedule 10.04.2018
comment
Сделанный. Обновил указанный путь.   -  person cogitoergosum    schedule 10.04.2018


Ответы (1)


Похоже, ваша проблема заключается в том, что вам требуются два параметра в вашем предикате — PT-31 и PT-32 — которые соответствуют пути /trends?param1=PT-31¶m1=PT32, но не /trends?param1=PT-31.

Пара других предложений, в надежде, что они будут полезны:

  • Поскольку вы используете deepEquals, он даже не будет соответствовать /trends?param1=PT-31¶m1=PT-32¶m1=PT-33. Требуется точное совпадение. Если вы хотите быть немного более гибким, я бы предложил вместо этого использовать equals
  • Самый внешний предикат «и» не нужен. Все предикаты внутри одного оператора ("deepEquals") автоматически объединяются по И.
person bbyars    schedule 11.04.2018
comment
Понял, спасибо! Любые мысли о том, как сопоставить либо из PT-31 и PT-32 для param1? - person cogitoergosum; 11.04.2018
comment
Да, это и есть предикат or, так что это будет примерно так: { or: [ { equals: { query: { param1: PT-31 } } }, { equals: { query: { param1: PT-32 } } } ] } - person bbyars; 12.04.2018