From 2d1d6f199ca392ce59f75b41ad0791d5d8128ed7 Mon Sep 17 00:00:00 2001 From: Gabriele Santomaggio Date: Fri, 11 Jul 2025 11:02:05 +0200 Subject: [PATCH] refactor Signed-off-by: Gabriele Santomaggio --- pkg/rabbitmqamqp/amqp_binding.go | 20 ++++++++++---------- pkg/rabbitmqamqp/amqp_binding_test.go | 5 +++++ pkg/rabbitmqamqp/amqp_management.go | 4 ++-- pkg/rabbitmqamqp/amqp_queue.go | 2 +- 4 files changed, 18 insertions(+), 13 deletions(-) diff --git a/pkg/rabbitmqamqp/amqp_binding.go b/pkg/rabbitmqamqp/amqp_binding.go index e09ed87..f062f96 100644 --- a/pkg/rabbitmqamqp/amqp_binding.go +++ b/pkg/rabbitmqamqp/amqp_binding.go @@ -10,12 +10,12 @@ type AMQPBindingInfo struct { } type AMQPBinding struct { - sourceName string - destinationName string - toQueue bool - bindingKey string - management *AmqpManagement - additionalArguments map[string]any + sourceName string + destinationName string + toQueue bool + bindingKey string + management *AmqpManagement + arguments map[string]any } func newAMQPBinding(management *AmqpManagement) *AMQPBinding { @@ -38,8 +38,8 @@ func (b *AMQPBinding) Destination(name string, isQueue bool) { b.toQueue = isQueue } -func (b *AMQPBinding) AdditionalArguments(args map[string]any) { - b.additionalArguments = args +func (b *AMQPBinding) Arguments(arguments map[string]any) { + b.arguments = arguments } // Bind creates a binding between an exchange and a queue or exchange @@ -61,8 +61,8 @@ func (b *AMQPBinding) Bind(ctx context.Context) (string, error) { kv["binding_key"] = b.bindingKey kv["source"] = b.sourceName kv[destination] = b.destinationName - if b.additionalArguments != nil { - kv["arguments"] = b.additionalArguments + if b.arguments != nil { + kv["arguments"] = b.arguments } else { kv["arguments"] = make(map[string]any) } diff --git a/pkg/rabbitmqamqp/amqp_binding_test.go b/pkg/rabbitmqamqp/amqp_binding_test.go index 090ebfd..a6a2dd7 100644 --- a/pkg/rabbitmqamqp/amqp_binding_test.go +++ b/pkg/rabbitmqamqp/amqp_binding_test.go @@ -69,6 +69,7 @@ var _ = Describe("AMQP Bindings test ", func() { bindingPath, err := management.Bind(context.TODO(), &ExchangeToExchangeBindingSpecification{ SourceExchange: exchangeName, DestinationExchange: exchangeName2, + Arguments: map[string]any{}, }) Expect(err).To(BeNil()) @@ -82,6 +83,7 @@ var _ = Describe("AMQP Bindings test ", func() { _, err := management.Bind(context.TODO(), &ExchangeToExchangeBindingSpecification{ SourceExchange: "", DestinationExchange: "destination", + Arguments: map[string]any{}, }) Expect(err).NotTo(BeNil()) Expect(err.Error()).To(ContainSubstring("source and destination names are required")) @@ -89,6 +91,7 @@ var _ = Describe("AMQP Bindings test ", func() { _, err = management.Bind(context.TODO(), &ExchangeToExchangeBindingSpecification{ SourceExchange: "source", DestinationExchange: "", + Arguments: map[string]any{}, }) Expect(err).NotTo(BeNil()) Expect(err.Error()).To(ContainSubstring("source and destination names are required")) @@ -96,6 +99,7 @@ var _ = Describe("AMQP Bindings test ", func() { _, err = management.Bind(context.TODO(), &ExchangeToQueueBindingSpecification{ SourceExchange: "", DestinationQueue: "destination", + Arguments: map[string]any{}, }) Expect(err).NotTo(BeNil()) Expect(err.Error()).To(ContainSubstring("source and destination names are required")) @@ -103,6 +107,7 @@ var _ = Describe("AMQP Bindings test ", func() { _, err = management.Bind(context.TODO(), &ExchangeToQueueBindingSpecification{ SourceExchange: "source", DestinationQueue: "", + Arguments: map[string]any{"binding_key": "key"}, }) Expect(err).NotTo(BeNil()) Expect(err.Error()).To(ContainSubstring("source and destination names are required")) diff --git a/pkg/rabbitmqamqp/amqp_management.go b/pkg/rabbitmqamqp/amqp_management.go index 62aa3ab..b3b9fda 100644 --- a/pkg/rabbitmqamqp/amqp_management.go +++ b/pkg/rabbitmqamqp/amqp_management.go @@ -182,7 +182,7 @@ func (a *AmqpManagement) DeclareQueue(ctx context.Context, specification IQueueS amqpQueue.AutoDelete(specification.isAutoDelete()) amqpQueue.Exclusive(specification.isExclusive()) amqpQueue.QueueType(specification.queueType()) - amqpQueue.SetArguments(specification.buildArguments()) + amqpQueue.Arguments(specification.buildArguments()) return amqpQueue.Declare(ctx) } @@ -217,7 +217,7 @@ func (a *AmqpManagement) Bind(ctx context.Context, bindingSpecification IBinding bind.SourceExchange(bindingSpecification.sourceExchange()) bind.Destination(bindingSpecification.destination(), bindingSpecification.isDestinationQueue()) bind.BindingKey(bindingSpecification.bindingKey()) - bind.AdditionalArguments(bindingSpecification.arguments()) + bind.Arguments(bindingSpecification.arguments()) return bind.Bind(ctx) } diff --git a/pkg/rabbitmqamqp/amqp_queue.go b/pkg/rabbitmqamqp/amqp_queue.go index 97af575..38c554f 100644 --- a/pkg/rabbitmqamqp/amqp_queue.go +++ b/pkg/rabbitmqamqp/amqp_queue.go @@ -88,7 +88,7 @@ type AmqpQueue struct { name string } -func (a *AmqpQueue) SetArguments(arguments map[string]any) { +func (a *AmqpQueue) Arguments(arguments map[string]any) { a.arguments = arguments }