Ребят привет! Кто-нибудь сталкивался с общением с rabbitMQ в процессе тестов?
Задача: запаблишить сообщение в один эксчендж —> дождаться сообщений в другом эксчендже —> поассертить сообщение
Я юзаю node.js+jest+amqp для всего этого, разобрался с апи либы amqp, но не представляю как спроектировать тест. С разными апишками все было ясно, отправил запрос, дождался ответа, поассертил его, ну или если надо в бд залез посмотреть результат
С кролем же все совсем неочевидно, по хорошему нужно в один коннекшн обернуть и сабскрайб и паблиш, обернуть это все тестом и вытащить в тест сьеденные сообщения.
Вообщем, если есть у кого пример чего то подобного, был бы рад взглянуть и чуть чуть помучать вопросами
Я подобное реализовывал для Kafka. У меня компонент для вычитки сообщений из топика Кафки. Перед всеми тестами выполняю подписку, при этом при получении ивента о новом сообщении, я сохранял сообщение в массив. В этом компоненте у меня был метод, который проверял массив на ожидаемое сообщение, при этом этот метод с ожиданием. На это все ещё накрутил генератор ожидаемых сообщений и логирование в аллюре и получилось очень удобно и легко поддерживаемо