В настоящее время у меня есть система с REST API, но она также публикует сообщения rabbitmq в другой системе.
В настоящее время у меня есть отдельные файлы groovy с контрактами для http и amqp, но я хочу сделать это в одномотдельный файл.То есть я могу проверить, что http запрос / ответ на API работает нормально, но я не могу проверить, было ли опубликовано сообщение amqp.Мне нужно создать дополнительный файл groovy с контрактом, который отправляет данные в контроллер с тем же вводом, что и в предыдущем тесте, и проверяет, действительно ли сообщение опубликовано.
Так что в настоящее время у меня есть один файл groovy, напримерэто для части REST:
Contract.make {
name("http_event_with_valid_token")
description ('A event is received with a valid token.')
request {
method 'POST'
url '/events/token'
headers {
contentType(applicationJson())
}
body("""
{
"parameter": "value"
}
""")
}
response {
status 202
}
}
И еще для части AMQP:
Contract.make {
name("amqp_event_with_valid_token")
description( "A event is received with a valid token.")
input {
triggeredBy('controller.event("token", "{\\"parameter\\":\\"value\\"}")')
}
outputMessage {
sentTo 'exchange.events.events'
body("""
{
"parameter": "value"
}
""")
headers {
header('token': 'token')
}
}
}
Я хотел бы выполнить обе проверки в одном отдельном файле groovy, не создавая два отдельных теста.Это возможно?