Как изменить тело запроса в POST при проверке поставщика Pact? - PullRequest
0 голосов
/ 21 марта 2019

Можно ли изменить значения параметров, определенные в теле, при проверке поставщика?

Pact Wiki (https://github.com/DiUS/pact-jvm/tree/master/pact-jvm-provider-junit#modifying-the-requests-before-they-are-sent-version-323245) предоставляет возможность изменить запрос:

@TargetRequestFilter
public void exampleRequestFilter(HttpRequest request) {
    request.addHeader("Authorization", "OAUTH hdsagasjhgdjashgdah...");
}

, но org.apache.http.HttpRequest может изменять только headers, но не body.

Это моя соответствующая информация о пакте:

"request": {
    "method": "POST",
    "path": "/testApi",
    "headers": {
        "Content-Type": "application/json"
    },
    "body": {
        "fileName": {
            "s3ObjectKey": "1649a6d0-4aee-11e9-8646-d663bd873d93"
        }
    },
    "matchingRules": {
        "body": {
            "$['fileName'].s3ObjectKey": {
                "matchers": [
                    {
                        "match": "regex",
                        "regex": "([a-f0-9]{8}(-[a-f0-9]{4}){3}-[a-f0-9]{12})"
                    }
                ]
            }
        }
    }
},

В приведенном выше примере я хотел бы изменить s3ObjectKey на другой UUID.

В этом ответе (https://stackoverflow.com/a/46377050/3714922) сказано, что вы можете изменить URL (я думаю, что это относится к path в моем договоре выше), но я не мог понять, как изменить URL или тело.

...