From d658d58845a2b56b291a7d0d3df567ebc90cc0f2 Mon Sep 17 00:00:00 2001 From: favonia Date: Thu, 11 Aug 2022 22:49:57 -0500 Subject: [PATCH] fix(config): separate printed domains with comma (#200) --- internal/config/config.go | 9 +++++---- internal/config/config_test.go | 16 ++++++++-------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/internal/config/config.go b/internal/config/config.go index aecc508c..6faad17b 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -1,6 +1,7 @@ package config import ( + "strings" "time" "github.com/favonia/cloudflare-ddns/internal/api" @@ -163,12 +164,12 @@ func ReadProviderMap(ppfmt pp.PP, field *map[ipnet.Type]provider.Provider) bool return true } -func describeDomains(domains []api.Domain) []string { +func describeDomains(domains []api.Domain) string { descriptions := make([]string, 0, len(domains)) for _, domain := range domains { descriptions = append(descriptions, domain.Describe()) } - return descriptions + return strings.Join(descriptions, ", ") } func (c *Config) Print(ppfmt pp.PP) { @@ -184,11 +185,11 @@ func (c *Config) Print(ppfmt pp.PP) { ppfmt.Infof(pp.EmojiConfig, "Policies:") inner.Infof(pp.EmojiBullet, "IPv4 provider: %s", provider.Name(c.Provider[ipnet.IP4])) if c.Provider[ipnet.IP4] != nil { - inner.Infof(pp.EmojiBullet, "IPv4 domains: %v", describeDomains(c.Domains[ipnet.IP4])) + inner.Infof(pp.EmojiBullet, "IPv4 domains: %s", describeDomains(c.Domains[ipnet.IP4])) } inner.Infof(pp.EmojiBullet, "IPv6 provider: %s", provider.Name(c.Provider[ipnet.IP6])) if c.Provider[ipnet.IP6] != nil { - inner.Infof(pp.EmojiBullet, "IPv6 domains: %v", describeDomains(c.Domains[ipnet.IP6])) + inner.Infof(pp.EmojiBullet, "IPv6 domains: %s", describeDomains(c.Domains[ipnet.IP6])) } ppfmt.Infof(pp.EmojiConfig, "Scheduling:") diff --git a/internal/config/config_test.go b/internal/config/config_test.go index 575be737..ec7d4ed5 100644 --- a/internal/config/config_test.go +++ b/internal/config/config_test.go @@ -345,16 +345,16 @@ func TestPrintDefault(t *testing.T) { mockPP := mocks.NewMockPP(mockCtrl) innerMockPP := mocks.NewMockPP(mockCtrl) - gomock.InOrder( + gomock.InOrder( //nolint:dupl mockPP.EXPECT().IsEnabledFor(pp.Info).Return(true), mockPP.EXPECT().Infof(pp.EmojiEnvVars, "Current settings:"), mockPP.EXPECT().IncIndent().Return(mockPP), mockPP.EXPECT().IncIndent().Return(innerMockPP), mockPP.EXPECT().Infof(pp.EmojiConfig, "Policies:"), innerMockPP.EXPECT().Infof(pp.EmojiBullet, "IPv4 provider: %s", "cloudflare.trace"), - innerMockPP.EXPECT().Infof(pp.EmojiBullet, "IPv4 domains: %v", []string{}), + innerMockPP.EXPECT().Infof(pp.EmojiBullet, "IPv4 domains: %s", ""), innerMockPP.EXPECT().Infof(pp.EmojiBullet, "IPv6 provider: %s", "cloudflare.trace"), - innerMockPP.EXPECT().Infof(pp.EmojiBullet, "IPv6 domains: %v", []string{}), + innerMockPP.EXPECT().Infof(pp.EmojiBullet, "IPv6 domains: %s", ""), mockPP.EXPECT().Infof(pp.EmojiConfig, "Scheduling:"), innerMockPP.EXPECT().Infof(pp.EmojiBullet, "Timezone: %s", Some("UTC (UTC+00 now)", "Local (UTC+00 now)")), innerMockPP.EXPECT().Infof(pp.EmojiBullet, "Update frequency: %v", cron.MustNew("@every 5m")), @@ -380,16 +380,16 @@ func TestPrintDomains(t *testing.T) { mockPP := mocks.NewMockPP(mockCtrl) innerMockPP := mocks.NewMockPP(mockCtrl) - gomock.InOrder( + gomock.InOrder( //nolint:dupl mockPP.EXPECT().IsEnabledFor(pp.Info).Return(true), mockPP.EXPECT().Infof(pp.EmojiEnvVars, "Current settings:"), mockPP.EXPECT().IncIndent().Return(mockPP), mockPP.EXPECT().IncIndent().Return(innerMockPP), mockPP.EXPECT().Infof(pp.EmojiConfig, "Policies:"), innerMockPP.EXPECT().Infof(pp.EmojiBullet, "IPv4 provider: %s", "cloudflare.trace"), - innerMockPP.EXPECT().Infof(pp.EmojiBullet, "IPv4 domains: %v", []string{"test4.org", "*.test4.org"}), + innerMockPP.EXPECT().Infof(pp.EmojiBullet, "IPv4 domains: %s", "test4.org, *.test4.org"), innerMockPP.EXPECT().Infof(pp.EmojiBullet, "IPv6 provider: %s", "cloudflare.trace"), - innerMockPP.EXPECT().Infof(pp.EmojiBullet, "IPv6 domains: %v", []string{"test6.org", "*.test6.org"}), + innerMockPP.EXPECT().Infof(pp.EmojiBullet, "IPv6 domains: %s", "test6.org, *.test6.org"), mockPP.EXPECT().Infof(pp.EmojiConfig, "Scheduling:"), innerMockPP.EXPECT().Infof(pp.EmojiBullet, "Timezone: %s", Some("UTC (UTC+00 now)", "Local (UTC+00 now)")), innerMockPP.EXPECT().Infof(pp.EmojiBullet, "Update frequency: %v", cron.MustNew("@every 5m")), @@ -464,9 +464,9 @@ func TestPrintMonitors(t *testing.T) { mockPP.EXPECT().IncIndent().Return(innerMockPP), mockPP.EXPECT().Infof(pp.EmojiConfig, "Policies:"), innerMockPP.EXPECT().Infof(pp.EmojiBullet, "IPv4 provider: %s", "cloudflare.trace"), - innerMockPP.EXPECT().Infof(pp.EmojiBullet, "IPv4 domains: %v", []string{}), + innerMockPP.EXPECT().Infof(pp.EmojiBullet, "IPv4 domains: %s", ""), innerMockPP.EXPECT().Infof(pp.EmojiBullet, "IPv6 provider: %s", "cloudflare.trace"), - innerMockPP.EXPECT().Infof(pp.EmojiBullet, "IPv6 domains: %v", []string{}), + innerMockPP.EXPECT().Infof(pp.EmojiBullet, "IPv6 domains: %s", ""), mockPP.EXPECT().Infof(pp.EmojiConfig, "Scheduling:"), innerMockPP.EXPECT().Infof(pp.EmojiBullet, "Timezone: %s", Some("UTC (UTC+00 now)", "Local (UTC+00 now)")), innerMockPP.EXPECT().Infof(pp.EmojiBullet, "Update frequency: %v", cron.MustNew("@every 5m")),