From 4800856bf7c1958441a8ce40ed67ce7946e6498c Mon Sep 17 00:00:00 2001 From: Zach Wasserman Date: Tue, 22 Jun 2021 16:41:25 -0700 Subject: [PATCH] Add label ID to get labels response (#1164) Fixes #1065 --- server/datastore/datastore_labels.go | 14 +++++++------- server/datastore/mysql/labels.go | 2 +- server/fleet/labels.go | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/server/datastore/datastore_labels.go b/server/datastore/datastore_labels.go index ae14dfd911..d1f54946ee 100644 --- a/server/datastore/datastore_labels.go +++ b/server/datastore/datastore_labels.go @@ -404,27 +404,27 @@ func setupLabelSpecsTest(t *testing.T, ds fleet.Datastore) []*fleet.LabelSpec { } expectedSpecs := []*fleet.LabelSpec{ - &fleet.LabelSpec{ + { Name: "foo", Query: "select * from foo", Description: "foo description", Platform: "darwin", }, - &fleet.LabelSpec{ + { Name: "bar", Query: "select * from bar", }, - &fleet.LabelSpec{ + { Name: "bing", Query: "select * from bing", }, - &fleet.LabelSpec{ + { Name: "All Hosts", Query: "SELECT 1", LabelType: fleet.LabelTypeBuiltIn, LabelMembershipType: fleet.LabelMembershipTypeManual, }, - &fleet.LabelSpec{ + { Name: "Manual Label", LabelMembershipType: fleet.LabelMembershipTypeManual, Hosts: []string{ @@ -453,14 +453,14 @@ func testApplyLabelSpecsRoundtrip(t *testing.T, ds fleet.Datastore) { specs, err := ds.GetLabelSpecs() require.Nil(t, err) - assert.Equal(t, expectedSpecs, specs) + test.ElementsMatchSkipTimestampsID(t, expectedSpecs, specs) // Should be idempotent err = ds.ApplyLabelSpecs(expectedSpecs) require.Nil(t, err) specs, err = ds.GetLabelSpecs() require.Nil(t, err) - assert.Equal(t, expectedSpecs, specs) + test.ElementsMatchSkipTimestampsID(t, expectedSpecs, specs) } func testLabelIDsByName(t *testing.T, ds fleet.Datastore) { diff --git a/server/datastore/mysql/labels.go b/server/datastore/mysql/labels.go index 2ae509ae9b..65acd7745e 100644 --- a/server/datastore/mysql/labels.go +++ b/server/datastore/mysql/labels.go @@ -113,7 +113,7 @@ func batchHostnames(hostnames []string) [][]string { func (d *Datastore) GetLabelSpecs() ([]*fleet.LabelSpec, error) { var specs []*fleet.LabelSpec // Get basic specs - query := "SELECT name, description, query, platform, label_type, label_membership_type FROM labels" + query := "SELECT id, name, description, query, platform, label_type, label_membership_type FROM labels" if err := d.db.Select(&specs, query); err != nil { return nil, errors.Wrap(err, "get labels") } diff --git a/server/fleet/labels.go b/server/fleet/labels.go index 43aecf54bb..0126b6144e 100644 --- a/server/fleet/labels.go +++ b/server/fleet/labels.go @@ -190,7 +190,7 @@ type LabelQueryExecution struct { } type LabelSpec struct { - ID uint + ID uint `json:"id"` Name string `json:"name"` Description string `json:"description"` Query string `json:"query"`