@@ -3012,17 +3012,22 @@ func createRabbitConnection(binary string) string {
3012
3012
3013
3013
func createRabbit (exchangeName , queueName , routingKey string ) error {
3014
3014
var err error
3015
+
3016
+ // Create exchange
3015
3017
cmd := exec .Command ("docker" , "exec" , "rabbitmq" , "rabbitmqadmin" , "declare" , "exchange" , "name=" + exchangeName , "type=topic" )
3016
3018
_ , err = cmd .CombinedOutput ()
3017
3019
if err != nil {
3018
3020
return err
3019
3021
}
3020
3022
3021
- cmd = exec .Command ("docker" , "exec" , "rabbitmq" , "rabbitmqadmin" , "declare" , "queue" , "name=" + queueName , "durable=false" )
3023
+ // Create queue
3024
+ cmd = exec .Command ("docker" , "exec" , "rabbitmq" , "rabbitmqadmin" , "declare" , "queue" , "name=" + queueName , "durable=false" , "auto_delete=true" )
3022
3025
_ , err = cmd .CombinedOutput ()
3023
3026
if err != nil {
3024
3027
return err
3025
3028
}
3029
+
3030
+ // Add binding
3026
3031
cmd = exec .Command ("docker" , "exec" , "rabbitmq" , "rabbitmqadmin" , "declare" , "binding" , "source=" + exchangeName , "destination=" + queueName , "routing_key=" + routingKey )
3027
3032
_ , err = cmd .CombinedOutput ()
3028
3033
if err != nil {
@@ -3032,16 +3037,11 @@ func createRabbit(exchangeName, queueName, routingKey string) error {
3032
3037
}
3033
3038
3034
3039
func deleteRabbit (exchangeName , queueName string ) error {
3035
- var err error
3036
3040
cmd := exec .Command ("docker" , "exec" , "rabbitmq" , "rabbitmqadmin" , "delete" , "exchange" , "name=" + exchangeName )
3037
- _ , err = cmd .CombinedOutput ()
3038
- if err != nil {
3039
- return err
3040
- }
3041
- cmd = exec .Command ("docker" , "exec" , "rabbitmq" , "rabbitmqadmin" , "delete" , "queue" , "name=" + queueName )
3042
- _ , err = cmd .CombinedOutput ()
3043
- if err != nil {
3044
- return err
3041
+
3042
+ if _ , err := cmd .CombinedOutput (); err != nil {
3043
+ return errors .Wrap (err , "unable to delete exchange" )
3045
3044
}
3045
+
3046
3046
return nil
3047
3047
}
0 commit comments