Citrus Framework: запрос graphql дает 400 неправильных ответов на запросы - PullRequest
1 голос
/ 24 февраля 2020

У кого-нибудь есть пример помещения запроса graphql в Citrus? У меня есть запрос graphql, который отлично работает в Postman и JMeter, но я не могу заставить его работать в Citrus. Я сравнил свою конечную точку и настройки в Postman / JMeter с Citrus. В журналах Citrus конечная точка отображается так же, как и мой запрос в Postman / JMeter.

From citrus-context.xml:
<citrus-http:client id="myRestAPIEndpoint" 
request-url="${endpoint}"
request-method="POST" 
content-type="application/graphql"
charset="UTF-8"
timeout="60000" />

From step definition:
designer.http()
        .client("myRestAPIEndpoint")
        .send()
        .post("/myrestapi")
        .payload(new ClassPathResource("citrus/payloads/graphqlRequest.txt"))
        .header("Authorization", "Bearer ${BEARER_TOKEN}");

Here's what I’ve tried in Citrus:
Within citrus-context.xml I’ve tried both content-type="application/graphql" and content-type="application/json" (Note: In Postman and JMeter I have application/graphql)
Within citrus-context I also tried adding default-accept-header="false" (don’t think this really matters, but tried it anyway)
Within step definitions I’ve tried specifying a messageType - both .messageType(MessageType.PLAINTEXT) and .messageType(MessageType.JSON)
For my actual file, tried both .json and .txt extensions (I don’t think this matters since it’s purely reading in contents of the file and it’s the same either way, but tried it anyway)

У кого-нибудь есть идеи?

1 Ответ

0 голосов
/ 24 февраля 2020

Мы поняли это. В Почтальоне он имеет кодовую ссылку оранжевого цвета (справа от Params, Auth, Headers, Body ....). Это вызывает окно «Создать фрагменты кода». Если вы щелкнете по фрагментам java, отобразятся примеры сгенерированного кода java. Он в основном добавил {\ "query \": в начало, а затем поместил мой запрос graphql в качестве парного значения запроса. Как только я обновил это, мой запрос Citrus работает нормально. :)

...