fix(agent): list all compose profiles and fail closed on unknown services (#7)
This commit is contained in:
@@ -290,3 +290,22 @@ func TestSnapshot_BuildCheckFailureIsNotFatalAndRetriesLater(t *testing.T) {
|
||||
assert.Equal(t, 2, check.calls)
|
||||
assert.Equal(t, 1, strings.Count(logs.String(), "compose_build_check_failed"), "logged once per project")
|
||||
}
|
||||
|
||||
func TestSnapshot_ServiceAbsentFromConfigFailsClosed(t *testing.T) {
|
||||
check := &fakeBuildCheck{built: map[string]bool{"db": false}} // "web" is missing
|
||||
c, _ := buildCollector(t, check, "/s/app/compose.yaml")
|
||||
var logs bytes.Buffer
|
||||
c.log = slog.New(slog.NewTextHandler(&logs, nil))
|
||||
|
||||
for range 2 {
|
||||
got, err := c.Snapshot(context.Background())
|
||||
require.NoError(t, err)
|
||||
byName := map[string]protocol.Service{}
|
||||
for _, s := range got {
|
||||
byName[s.ComposeService] = s
|
||||
}
|
||||
assert.True(t, byName["web"].Built, "an unknown service is not offered for update")
|
||||
assert.False(t, byName["db"].Built)
|
||||
}
|
||||
assert.Equal(t, 1, strings.Count(logs.String(), "compose_service_not_in_config"), "logged once per project")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user