From ead44c30d3312f1ef9438de2a529e4e7ae035628 Mon Sep 17 00:00:00 2001 From: Mark Sims Date: Mon, 21 Oct 2024 13:28:23 +0100 Subject: [PATCH] exports config properties --- config.go | 74 ++++++++++++++++++++-------------------- config_test.go | 66 +++++++++++++++++------------------ consumer_test.go | 16 ++++----- example_consumer_test.go | 24 ++++++------- publisher_test.go | 16 ++++----- 5 files changed, 98 insertions(+), 98 deletions(-) diff --git a/config.go b/config.go index 4bda5a4..4a0505a 100644 --- a/config.go +++ b/config.go @@ -53,20 +53,20 @@ type ConsumerConfig struct { } type NewPublisherConfig struct { URL string - exchangeName string - exchangeType ExchangeType - confirmable bool - logger logger + ExchangeName string + ExchangeType ExchangeType + Confirmable bool + Logger logger } // NewPublisherConfig returns a PublisherConfig derived from the consumer config. This config can be used to create a Publisher to Publish to this consumer func (c ConsumerConfig) NewPublisherConfig() PublisherConfig { nc := NewPublisherConfig{ URL: c.URL, - exchangeName: c.exchange.Name, - exchangeType: c.exchange.Type, - confirmable: false, - logger: c.Logger, + ExchangeName: c.exchange.Name, + ExchangeType: c.exchange.Type, + Confirmable: false, + Logger: c.Logger, } return nc.Config() } @@ -75,62 +75,62 @@ func (c ConsumerConfig) NewPublisherConfig() PublisherConfig { func (p *NewPublisherConfig) Config() PublisherConfig { return PublisherConfig{ - confirmable: p.confirmable, + confirmable: p.Confirmable, connectionConfig: connectionConfig{ URL: p.URL, - Logger: p.logger, + Logger: p.Logger, }, exchange: exchange{ - Name: p.exchangeName, - Type: p.exchangeType, + Name: p.ExchangeName, + Type: p.ExchangeType, }, } } type NewConsumerConfig struct { URL string - exchangeName string - exchangeType ExchangeType - patterns []string - logger logger - requeueTTL int16 - requeueLimit int - serviceName string - prefetch int - maxPriority uint8 // Optional + ExchangeName string + ExchangeType ExchangeType + Patterns []string + Logger logger + RequeueTTL int16 + RequeueLimit int + ServiceName string + Prefetch int + MaxPriority uint8 // Optional } // NewConsumerConfig config for establishing a RabbitMq consumer func (p *NewConsumerConfig) Config() ConsumerConfig { - if len(p.patterns) == 0 { - p.logger.Info("Executive decision made! You did not supply a pattern so we have added a default of '#'") - p.patterns = append(p.patterns, "#") //testme + if len(p.Patterns) == 0 { + p.Logger.Info("Executive decision made! You did not supply a pattern so we have added a default of '#'") + p.Patterns = append(p.Patterns, "#") //testme } - queueName := fmt.Sprintf("%s-for-%s", p.exchangeName, p.serviceName) + queueName := fmt.Sprintf("%s-for-%s", p.ExchangeName, p.ServiceName) return ConsumerConfig{ connectionConfig: connectionConfig{ URL: p.URL, - Logger: p.logger, + Logger: p.Logger, }, exchange: exchange{ - Name: p.exchangeName, - RetryNow: fmt.Sprintf("%s-for-%s-retry-now", p.exchangeName, p.serviceName), - RetryLater: fmt.Sprintf("%s-for-%s-retry-%dms-later", p.exchangeName, p.serviceName, p.requeueTTL), - DLE: fmt.Sprintf("%s-for-%s-dle", p.exchangeName, p.serviceName), - Type: p.exchangeType, + Name: p.ExchangeName, + RetryNow: fmt.Sprintf("%s-for-%s-retry-now", p.ExchangeName, p.ServiceName), + RetryLater: fmt.Sprintf("%s-for-%s-retry-%dms-later", p.ExchangeName, p.ServiceName, p.RequeueTTL), + DLE: fmt.Sprintf("%s-for-%s-dle", p.ExchangeName, p.ServiceName), + Type: p.ExchangeType, }, queue: queue{ Name: queueName, DLQ: queueName + "-dlq", - RetryLater: fmt.Sprintf("%s-retry-%dms-later", queueName, p.requeueTTL), - RequeueTTL: p.requeueTTL, - RetryLimit: p.requeueLimit, - Patterns: p.patterns, - MaxPriority: p.maxPriority, - PrefetchCount: p.prefetch, + RetryLater: fmt.Sprintf("%s-retry-%dms-later", queueName, p.RequeueTTL), + RequeueTTL: p.RequeueTTL, + RetryLimit: p.RequeueLimit, + Patterns: p.Patterns, + MaxPriority: p.MaxPriority, + PrefetchCount: p.Prefetch, }, } } diff --git a/config_test.go b/config_test.go index 609a6ef..3c952eb 100644 --- a/config_test.go +++ b/config_test.go @@ -14,14 +14,14 @@ func TestItDerivesConsumerExchanges(t *testing.T) { c := NewConsumerConfig{ URL: testRabbitURI, - exchangeName: "producer-stuff", - exchangeType: Fanout, - patterns: noPatterns, - logger: logger, - requeueTTL: 200, - requeueLimit: testRequeueLimit, - serviceName: "service", - prefetch: defaultPrefetch, + ExchangeName: "producer-stuff", + ExchangeType: Fanout, + Patterns: noPatterns, + Logger: logger, + RequeueTTL: 200, + RequeueLimit: testRequeueLimit, + ServiceName: "service", + Prefetch: defaultPrefetch, } consumerConfig := c.Config() @@ -70,14 +70,14 @@ func TestItSetsPatternToHashWhenNoneSupplied(t *testing.T) { c := NewConsumerConfig{ URL: testRabbitURI, - exchangeName: "exchange", - exchangeType: Fanout, - patterns: noPatterns, - logger: logger, - requeueTTL: 200, - requeueLimit: testRequeueLimit, - serviceName: "service", - prefetch: defaultPrefetch, + ExchangeName: "exchange", + ExchangeType: Fanout, + Patterns: noPatterns, + Logger: logger, + RequeueTTL: 200, + RequeueLimit: testRequeueLimit, + ServiceName: "service", + Prefetch: defaultPrefetch, } consumerConfig := c.Config() @@ -95,14 +95,14 @@ func TestItSetsPatternsOnQueue(t *testing.T) { pattern := "pretty.pattern" c := NewConsumerConfig{ URL: testRabbitURI, - exchangeName: "exchange", - exchangeType: Fanout, - patterns: []string{pattern}, - logger: logger, - requeueTTL: 200, - requeueLimit: testRequeueLimit, - serviceName: "service", - prefetch: defaultPrefetch, + ExchangeName: "exchange", + ExchangeType: Fanout, + Patterns: []string{pattern}, + Logger: logger, + RequeueTTL: 200, + RequeueLimit: testRequeueLimit, + ServiceName: "service", + Prefetch: defaultPrefetch, } consumerConfig := c.Config() @@ -123,15 +123,15 @@ func TestItSetsMaxPriority(t *testing.T) { pattern := "pretty.pattern" c := NewConsumerConfig{ URL: testRabbitURI, - exchangeName: "exchange", - exchangeType: Fanout, - patterns: []string{pattern}, - logger: logger, - requeueTTL: 200, - requeueLimit: testRequeueLimit, - serviceName: "service", - prefetch: defaultPrefetch, - maxPriority: 7, + ExchangeName: "exchange", + ExchangeType: Fanout, + Patterns: []string{pattern}, + Logger: logger, + RequeueTTL: 200, + RequeueLimit: testRequeueLimit, + ServiceName: "service", + Prefetch: defaultPrefetch, + MaxPriority: 7, } consumerConfig := c.Config() diff --git a/consumer_test.go b/consumer_test.go index 49b8c2f..96260ec 100644 --- a/consumer_test.go +++ b/consumer_test.go @@ -470,14 +470,14 @@ func newTestConsumerConfig(t *testing.T, config consumerConfigOptions) ConsumerC c := NewConsumerConfig{ URL: "amqp://guest:guest@rabbitmq:5672/", - exchangeName: config.ExchangeName, - exchangeType: config.ExchangeType, - patterns: config.Patterns, - logger: logger, - requeueTTL: config.RequeueTTL, - requeueLimit: config.Retries, - serviceName: config.ServiceName, - prefetch: defaultPrefetch, + ExchangeName: config.ExchangeName, + ExchangeType: config.ExchangeType, + Patterns: config.Patterns, + Logger: logger, + RequeueTTL: config.RequeueTTL, + RequeueLimit: config.Retries, + ServiceName: config.ServiceName, + Prefetch: defaultPrefetch, } return c.Config() } diff --git a/example_consumer_test.go b/example_consumer_test.go index 8ec08b7..25cf4d3 100644 --- a/example_consumer_test.go +++ b/example_consumer_test.go @@ -30,14 +30,14 @@ func ExampleConsumer() { c := NewConsumerConfig{ URL: testRabbitURI, - exchangeName: "test-example-exchange", - exchangeType: Fanout, - patterns: noPatterns, - logger: &SimpleLogger{io.Discard}, - requeueTTL: testRequeueTTL, - requeueLimit: testRequeueLimit, - serviceName: serviceName, - prefetch: defaultPrefetch, + ExchangeName: "test-example-exchange", + ExchangeType: Fanout, + Patterns: noPatterns, + Logger: &SimpleLogger{io.Discard}, + RequeueTTL: testRequeueTTL, + RequeueLimit: testRequeueLimit, + ServiceName: serviceName, + Prefetch: defaultPrefetch, } // Create a consumer config config := c.Config() @@ -62,10 +62,10 @@ func ExampleConsumer() { // We can now publish to the same exchange for fun pc := NewPublisherConfig{ URL: config.URL, - exchangeName: config.exchange.Name, - exchangeType: config.exchange.Type, - confirmable: false, - logger: config.Logger, + ExchangeName: config.exchange.Name, + ExchangeType: config.exchange.Type, + Confirmable: false, + Logger: config.Logger, } publisherConfig := pc.Config() publisher, err := NewPublisher(publisherConfig) diff --git a/publisher_test.go b/publisher_test.go index 5c3a60b..0f735b6 100644 --- a/publisher_test.go +++ b/publisher_test.go @@ -12,10 +12,10 @@ func TestNakedPublisher(t *testing.T) { expectedExchangeName := "chris-rulz" + randomString(5) c := NewPublisherConfig{ URL: testRabbitURI, - exchangeName: expectedExchangeName, - exchangeType: Fanout, - confirmable: true, - logger: helpers.NewTestLogger(t), + ExchangeName: expectedExchangeName, + ExchangeType: Fanout, + Confirmable: true, + Logger: helpers.NewTestLogger(t), } config := c.Config() @@ -38,10 +38,10 @@ func TestNotReadyPublisherErrorsOnPublish(t *testing.T) { expectedExchangeName := "chris-rulz" + randomString(5) c := NewPublisherConfig{ URL: testRabbitURI, - exchangeName: expectedExchangeName, - exchangeType: Fanout, - confirmable: true, - logger: helpers.NewTestLogger(t), + ExchangeName: expectedExchangeName, + ExchangeType: Fanout, + Confirmable: true, + Logger: helpers.NewTestLogger(t), } config := c.Config()