From 24696a6f1bc100ab1a10a4934ea6f75df37c03fb Mon Sep 17 00:00:00 2001 From: Tim Lee Date: Thu, 2 May 2024 14:10:13 -0600 Subject: [PATCH] bugfix: 18703 policies filter (#18706) #18703 --- server/datastore/mysql/policies.go | 2 +- server/datastore/mysql/policies_test.go | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/server/datastore/mysql/policies.go b/server/datastore/mysql/policies.go index df1ca09310..bff19b5b0d 100644 --- a/server/datastore/mysql/policies.go +++ b/server/datastore/mysql/policies.go @@ -642,7 +642,7 @@ func (ds *Datastore) ListMergedTeamPolicies(ctx context.Context, teamID uint, op LEFT JOIN users u ON p.author_id = u.id LEFT JOIN policy_stats ps ON p.id = ps.policy_id AND ps.inherited_team_id = COALESCE(p.team_id, 0) - WHERE p.team_id = ? OR p.team_id IS NULL + WHERE (p.team_id = ? OR p.team_id IS NULL) ` args = append(args, teamID) diff --git a/server/datastore/mysql/policies_test.go b/server/datastore/mysql/policies_test.go index a784f3a37b..b5be1af776 100644 --- a/server/datastore/mysql/policies_test.go +++ b/server/datastore/mysql/policies_test.go @@ -762,6 +762,21 @@ func testListMergedTeamPolicies(t *testing.T, ds *Datastore) { require.Len(t, merged, 2) assert.Equal(t, p.ID, merged[0].ID) assert.Equal(t, gpol.ID, merged[1].ID) + + // Test filter + merged, err = ds.ListMergedTeamPolicies(ctx, team1.ID, fleet.ListOptions{ + MatchQuery: "query1", + }) + require.NoError(t, err) + require.Len(t, merged, 1) + assert.Equal(t, gpol.ID, merged[0].ID) + + merged, err = ds.ListMergedTeamPolicies(ctx, team1.ID, fleet.ListOptions{ + MatchQuery: "query2", + }) + require.NoError(t, err) + require.Len(t, merged, 1) + assert.Equal(t, p.ID, merged[0].ID) } func newTestHostWithPlatform(t *testing.T, ds *Datastore, hostname, platform string, teamID *uint) *fleet.Host {