Skip to content

Commit 2995dbe

Browse files
committed
[-] monitor all sources if --group cmdopt is omitted, fixes #843 (#847)
When not using the `--group` cmdopt (or envvar `PW_GROUP`), pgwatch should monitor all sources by design
1 parent fb18d47 commit 2995dbe

File tree

3 files changed

+15
-5
lines changed

3 files changed

+15
-5
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212
*.out
1313
*.txt
1414

15+
# Protobuf files
16+
*.pb.go
17+
1518
# Packages ouput folder
1619
dist
1720
docs/godoc

internal/reaper/reaper.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -379,7 +379,7 @@ func (r *Reaper) LoadSources() (err error) {
379379
return err
380380
}
381381
srcs = slices.DeleteFunc(srcs, func(s sources.Source) bool {
382-
return !s.IsEnabled || !s.IsDefaultGroup() && !slices.Contains(r.Sources.Groups, s.Group)
382+
return !s.IsEnabled || len(r.Sources.Groups) > 0 && !s.IsDefaultGroup() && !slices.Contains(r.Sources.Groups, s.Group)
383383
})
384384
if newSrcs, err = srcs.ResolveDatabases(); err != nil {
385385
return err

internal/reaper/reaper_test.go

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,13 +77,20 @@ func TestReaper_LoadSources(t *testing.T) {
7777
source2 := sources.Source{Name: "Source 2", IsEnabled: true, Kind: sources.SourcePostgres, Group: "group1"}
7878
source3 := sources.Source{Name: "Source 3", IsEnabled: true, Kind: sources.SourcePostgres, Group: "group2"}
7979
source4 := sources.Source{Name: "Source 4", IsEnabled: true, Kind: sources.SourcePostgres, Group: "default"} // Default group should not filter
80-
reader := &mockReader{toReturn: sources.Sources{source1, source2, source3, source4}}
81-
r := NewReaper(ctx, &cmdopts.Options{SourcesReaderWriter: reader, Sources: sources.CmdOpts{Groups: []string{"group1", "group2"}}})
80+
newReader := func() sources.ReaderWriter {
81+
return &mockReader{toReturn: sources.Sources{source1, source2, source3, source4}}
82+
}
83+
84+
r := NewReaper(ctx, &cmdopts.Options{SourcesReaderWriter: newReader(), Sources: sources.CmdOpts{Groups: []string{"group1", "group2"}}})
8285
assert.NoError(t, r.LoadSources())
83-
assert.Equal(t, 4, len(r.monitoredSources), "Expected three monitored sources after load")
86+
assert.Equal(t, 4, len(r.monitoredSources), "Expected four monitored sources after load")
8487

85-
r.Sources.Groups = []string{"group1"}
88+
r = NewReaper(ctx, &cmdopts.Options{SourcesReaderWriter: newReader(), Sources: sources.CmdOpts{Groups: []string{"group1"}}})
8689
assert.NoError(t, r.LoadSources())
8790
assert.Equal(t, 3, len(r.monitoredSources), "Expected three monitored sources after group filtering")
91+
92+
r = NewReaper(ctx, &cmdopts.Options{SourcesReaderWriter: newReader()})
93+
assert.NoError(t, r.LoadSources())
94+
assert.Equal(t, 4, len(r.monitoredSources), "Expected four monitored sources after resetting groups")
8895
})
8996
}

0 commit comments

Comments
 (0)