Skip to content

Commit

Permalink
fix(config): separate printed domains with comma (#200)
Browse files Browse the repository at this point in the history
  • Loading branch information
favonia committed Aug 12, 2022
1 parent a7d0ac4 commit d658d58
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 12 deletions.
9 changes: 5 additions & 4 deletions internal/config/config.go
@@ -1,6 +1,7 @@
package config

import (
"strings"
"time"

"github.com/favonia/cloudflare-ddns/internal/api"
Expand Down Expand Up @@ -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) {
Expand All @@ -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:")
Expand Down
16 changes: 8 additions & 8 deletions internal/config/config_test.go
Expand Up @@ -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")),
Expand All @@ -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")),
Expand Down Expand Up @@ -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")),
Expand Down

0 comments on commit d658d58

Please sign in to comment.