Fix failing MySQL tests for packs (#457)

This commit is contained in:
Zachary Wasserman 2016-11-09 15:31:47 -08:00 committed by GitHub
parent 42f055eaa3
commit c8b9b15ef2
2 changed files with 17 additions and 49 deletions

View file

@ -144,35 +144,36 @@ func testManagingLabelsOnPacks(t *testing.T, ds kolide.Datastore) {
Name: "monitoring",
}
err := ds.NewPack(monitoringPack)
assert.Nil(t, err)
require.Nil(t, err)
mysqlLabel := &kolide.Label{
Name: "MySQL Monitoring",
Query: "select pid from processes where name = 'mysqld';",
}
mysqlLabel, err = ds.NewLabel(mysqlLabel)
assert.Nil(t, err)
require.Nil(t, err)
err = ds.AddLabelToPack(mysqlLabel.ID, monitoringPack.ID)
assert.Nil(t, err)
require.Nil(t, err)
labels, err := ds.ListLabelsForPack(monitoringPack)
assert.Nil(t, err)
assert.Len(t, labels, 1)
assert.Equal(t, "MySQL Monitoring", labels[0].Name)
require.Nil(t, err)
if assert.Len(t, labels, 1) {
assert.Equal(t, "MySQL Monitoring", labels[0].Name)
}
osqueryLabel := &kolide.Label{
Name: "Osquery Monitoring",
Query: "select pid from processes where name = 'osqueryd';",
}
osqueryLabel, err = ds.NewLabel(osqueryLabel)
assert.Nil(t, err)
require.Nil(t, err)
err = ds.AddLabelToPack(osqueryLabel.ID, monitoringPack.ID)
assert.Nil(t, err)
require.Nil(t, err)
labels, err = ds.ListLabelsForPack(monitoringPack)
assert.Nil(t, err)
require.Nil(t, err)
assert.Len(t, labels, 2)
}

View file

@ -65,7 +65,6 @@ func (orm gormDB) AddQueryToPack(qid uint, pid uint) error {
}
func (orm gormDB) ListQueriesInPack(pack *kolide.Pack) ([]*kolide.Query, error) {
var queries []*kolide.Query
if pack == nil {
return nil, errors.New(
"error getting queries in pack",
@ -73,18 +72,10 @@ func (orm gormDB) ListQueriesInPack(pack *kolide.Pack) ([]*kolide.Query, error)
)
}
rows, err := orm.DB.Raw(`
results := []*kolide.Query{}
err := orm.DB.Raw(`
SELECT
q.id,
q.created_at,
q.updated_at,
q.name,
q.query,
q.interval,
q.snapshot,
q.differential,
q.platform,
q.version
q.*
FROM
queries q
JOIN
@ -93,33 +84,13 @@ ON
pq.query_id = q.id
AND
pq.pack_id = ?;
`, pack.ID).Rows()
`, pack.ID).Scan(&results).Error
if err != nil && err != gorm.ErrRecordNotFound {
return nil, errors.DatabaseError(err)
}
defer rows.Close()
for rows.Next() {
query := new(kolide.Query)
err = rows.Scan(
&query.ID,
&query.CreatedAt,
&query.UpdatedAt,
&query.Name,
&query.Query,
&query.Interval,
&query.Snapshot,
&query.Differential,
&query.Platform,
&query.Version,
)
if err != nil {
return nil, err
}
queries = append(queries, query)
}
return queries, nil
return results, nil
}
func (orm gormDB) RemoveQueryFromPack(query *kolide.Query, pack *kolide.Pack) error {
@ -159,11 +130,7 @@ func (orm gormDB) ListLabelsForPack(pack *kolide.Pack) ([]*kolide.Label, error)
results := []*kolide.Label{}
err := orm.DB.Raw(`
SELECT
l.id,
l.created_at,
l.updated_at,
l.name,
l.query_id
l.*
FROM
labels l
JOIN