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 {