[RabbitMQ] Postman으로 RabbitMQ API 호출 테스트

Kim Dae Hyun·2022년 2월 20일
0

RabbitMQ

목록 보기
2/5

RabbitMQdocker를 이용해서 켜둔 상태로 테스트를 진행합니다.

RabbitMQ는 아래와 같이 여러 API를 제공합니다.

위 API들을 Postman을 이용해서 호출하며 동작을 테스트해보려 합니다.


📌 Postman workspace & Collection 생성

workspace 생성

Collection 생성

📌 환경변수 생성

RabbitMQ 서버의 urlvirtual host의 경우 여러 테스트에서 반복적으로 사용되므로 환경변수로 생성합니다.

virtual host는 최초 guest 계정을 사용한다면 / 입니다.

특수문자의 경우 url에 사용시 url 인코딩을 수행해야 하기 때문에 /의 인코딩 된 값을 넣어줍니다. (%2f)

📌 RabbitMQ 인증정보 설정 (인증헤더 추가)

RabbitMQbasic auth 방식으로 인증이 가능합니다.

basic authusernamepassword로 인증을 수행하는 것이고 RabbitMQ가 기본적으로 제공하는 admin 계정인 guest를 사용합니다.

Collection에 인증관련 정보(헤더)를 세팅하면 Collection이하 모든 request에서 사용 가능합니다.

📌 Exchange에 message 전송 API 호출 테스트

간단하게 fan-out 타입의 Exchange를 생성하고 위 API를 이용해서 메시지 하나를 전송합니다.

fan-out 타입 Exchange 생성

생성된 Exchange에 바인딩 시킬 Queue 하나를 생성하고 바인딩 합니다.

Exchange에 message를 보내는 API는 아래와 같습니다.

{{url}}/api/exchanges/{{vhosts}}/:exchangeName/publish

:exchangeName 부분은 path variable 입니다.
message를 보내고자 하는 Exchange의 이름을 넣습니다.

이제 API가 요구하는 body 부분을 JSON 형태로 구성합니다.

payload 부분이 message의 내용이 됩니다.

테스트하고자 하는 Exchage의 타입이 fan-out이므로 routing-key는 비워둡니다.

일단 응답은 true로 잘 왔습니다.
실제 Exchange에 바인딩 된 Queue로 message가 잘 들어갔는지 확인합니다.


이렇게 Postman을 이용하면 Collection 단위로 환경을 분리해가며 API의 동작을 손쉽게 테스트할 수 있습니다.

RabbitMQ의 API에 대해 알아보려고 했는데 오히려 postman을 잘 이용하는 방법을 알아가는 것 같습니다. 굉장히 자주 사용하는 툴인데 생각보다 제대로 활용을 하지 못한 것 같다는 생각이 듭니다..

profile
좀 더 천천히 까먹기 위해 기록합니다. 🧐

0개의 댓글