Skip to content

Commit

Permalink
test cfg defaults
Browse files Browse the repository at this point in the history
+ fix pointer reciever
  • Loading branch information
amirylm committed Nov 27, 2023
1 parent a8c4791 commit 285d197
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 2 deletions.
2 changes: 1 addition & 1 deletion commons/config_pubsub.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ type MsgValidationConfig struct {
Concurrency int `json:"concurrency,omitempty" yaml:"concurrency,omitempty"`
}

func (mvc MsgValidationConfig) Defaults(other *MsgValidationConfig) MsgValidationConfig {
func (mvc *MsgValidationConfig) Defaults(other *MsgValidationConfig) *MsgValidationConfig {
if mvc.Timeout.Milliseconds() == 0 {
mvc.Timeout = time.Second * 5
}
Expand Down
48 changes: 48 additions & 0 deletions commons/config_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package commons

import (
"testing"
"time"

"github.com/stretchr/testify/require"
)

func TestDefaults(t *testing.T) {
t.Run("Config", func(t *testing.T) {
cfg := &Config{}
cfg.Defaults()
require.Equal(t, 15*time.Second, cfg.DialTimeout)
require.Equal(t, 1024, cfg.MsgRouterQueueSize)
require.Equal(t, 10, cfg.MsgRouterWorkers)
require.Empty(t, cfg.ListenAddrs)
require.Empty(t, cfg.PSK)
})

t.Run("ConnManagerConfig", func(t *testing.T) {
cfg := &ConnManagerConfig{}
cfg.Defaults()
require.Equal(t, 5, cfg.LowWaterMark)
require.Equal(t, 25, cfg.HighWaterMark)
require.Equal(t, time.Minute, cfg.GracePeriod)
})

t.Run("DiscoveryConfig", func(t *testing.T) {
cfg := &DiscoveryConfig{}
cfg.Defaults()
require.Equal(t, ModeServer, cfg.Mode)
require.Equal(t, "p2pmq", cfg.ProtocolPrefix)
})

t.Run("MsgValidationConfig", func(t *testing.T) {
cfg := &MsgValidationConfig{}
cfg.Defaults(nil)
require.Equal(t, time.Second*5, cfg.Timeout)
require.Equal(t, 10, cfg.Concurrency)

cfg.Concurrency = 4
cfg2 := &MsgValidationConfig{}
cfg2.Defaults(cfg)
require.Equal(t, time.Second*5, cfg2.Timeout)
require.Equal(t, 4, cfg2.Concurrency)
})
}
2 changes: 1 addition & 1 deletion core/pubsub.go
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ func (c *Controller) tryJoin(topicName string) (*pubsub.Topic, error) {
c.topicManager.upgradeTopic(topicName, topic)

if cfg.MsgValidator != nil || c.cfg.Pubsub.MsgValidator != nil {
msgValConfig := commons.MsgValidationConfig{}.Defaults(c.cfg.Pubsub.MsgValidator)
msgValConfig := (&commons.MsgValidationConfig{}).Defaults(c.cfg.Pubsub.MsgValidator)
if cfg.MsgValidator != nil {
msgValConfig = msgValConfig.Defaults(cfg.MsgValidator)
}
Expand Down

0 comments on commit 285d197

Please sign in to comment.