Removing sqlite from the codebase (#324)

This commit is contained in:
Mike Arpaia 2016-10-19 10:46:33 -04:00 committed by GitHub
parent 98ca32b783
commit bdee0516e6
14 changed files with 57 additions and 83 deletions

3
glide.lock generated
View file

@ -74,7 +74,6 @@ imports:
version: a646b13548ec0aa812fe805b2780f460dd2771b6
subpackages:
- dialects/mysql
- dialects/sqlite
- name: github.com/jinzhu/inflection
version: 8f4d3a0d04ce0b7c0cf3126fb98524246d00d102
- name: github.com/jordan-wright/email
@ -87,8 +86,6 @@ imports:
version: 61b492c03cf472e0c6419be5899b8e0dc28b1b88
- name: github.com/manucorporat/sse
version: ee05b128a739a0fb76c7ebd3ae4810c1de808d6d
- name: github.com/mattn/go-sqlite3
version: e118d4451349065b8e7ce0f0af32e033995363f8
- name: github.com/matttproud/golang_protobuf_extensions
version: c12348ce28de40eed0136aa2b644d0ee0650e56c
subpackages:

View file

@ -35,13 +35,10 @@ import:
version: a646b13548ec0aa812fe805b2780f460dd2771b6
subpackages:
- dialects/mysql
- dialects/sqlite
- package: github.com/jinzhu/inflection
version: 8f4d3a0d04ce0b7c0cf3126fb98524246d00d102
- package: github.com/manucorporat/sse
version: ee05b128a739a0fb76c7ebd3ae4810c1de808d6d
- package: github.com/mattn/go-sqlite3
version: e118d4451349065b8e7ce0f0af32e033995363f8
- package: github.com/pmezard/go-difflib
version: ~1.0.0
subpackages:

View file

@ -54,24 +54,6 @@ func New(driver, conn string, opts ...DBOption) (kolide.Datastore, error) {
return nil, err
}
return ds, nil
case "gorm-sqlite3":
db, err := openGORM("sqlite3", conn, opt.maxAttempts)
if err != nil {
return nil, err
}
ds := gormDB{
DB: db,
Driver: "sqlite3",
}
// configure logger
if opt.logger != nil {
db.SetLogger(opt.logger)
db.LogMode(opt.debug)
}
if err := ds.Migrate(); err != nil {
return nil, err
}
return ds, nil
case "inmem":
ds := &inmem{
Driver: "inmem",

View file

@ -5,7 +5,6 @@ import (
"time"
_ "github.com/go-sql-driver/mysql" // db driver
_ "github.com/mattn/go-sqlite3" // db driver
"github.com/jinzhu/gorm"
"github.com/kolide/kolide-ose/server/config"

View file

@ -107,20 +107,9 @@ func (orm gormDB) RecordLabelQueryExecutions(host *kolide.Host, results map[stri
}
insert := new(bytes.Buffer)
switch orm.Driver {
case "mysql":
insert.WriteString("INSERT ")
case "sqlite3":
insert.WriteString("REPLACE ")
default:
return errors.New(
"Unknown DB driver",
"Tried to use unknown DB driver in RecordLabelQueryExecutions: "+orm.Driver,
)
}
insert.WriteString(
"INTO label_query_executions (updated_at, matches, label_id, host_id) VALUES",
"INSERT INTO label_query_executions (updated_at, matches, label_id, host_id) VALUES",
)
// Build up all the values and the query string
@ -133,14 +122,11 @@ func (orm gormDB) RecordLabelQueryExecutions(host *kolide.Host, results map[stri
queryString := insert.String()
queryString = strings.TrimSuffix(queryString, ",")
switch orm.Driver {
case "mysql":
queryString += `
queryString += `
ON DUPLICATE KEY UPDATE
updated_at = VALUES(updated_at),
matches = VALUES(matches)
`
}
if err := orm.DB.Exec(queryString, vals...).Error; err != nil {
return errors.DatabaseError(err)

View file

@ -1,19 +1,28 @@
package datastore
import (
"fmt"
"os"
"testing"
"github.com/jinzhu/gorm"
"github.com/kolide/kolide-ose/server/kolide"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func setupGorm(t *testing.T) kolide.Datastore {
db, err := gorm.Open("sqlite3", ":memory:")
require.Nil(t, err)
user := "kolide"
password := "kolide"
dbName := "kolide"
ds := gormDB{DB: db, Driver: "sqlite3"}
// try container first
host := os.Getenv("MYSQL_PORT_3306_TCP_ADDR")
if host == "" {
host = "127.0.0.1"
}
host = fmt.Sprintf("%s:3306", host)
connString := fmt.Sprintf("%s:%s@(%s)/%s?charset=utf8&parseTime=True&loc=Local", user, password, host, dbName)
ds, err := New("gorm-mysql", connString)
err = ds.Migrate()
assert.Nil(t, err)
@ -26,6 +35,10 @@ func teardownGorm(t *testing.T, ds kolide.Datastore) {
}
func TestGorm(t *testing.T) {
address := os.Getenv("MYSQL_ADDR")
if address == "" {
t.SkipNow()
}
for _, f := range testFunctions {
t.Run(functionName(f), func(t *testing.T) {
ds := setupGorm(t)

View file

@ -184,7 +184,7 @@ func TestGetNodeKey(t *testing.T) {
}
func TestAuthenticatedHost(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", "")
ds, err := datastore.New("inmem", "")
require.Nil(t, err)
svc, err := newTestService(ds)
require.Nil(t, err)

View file

@ -12,7 +12,7 @@ import (
)
func TestAPIRoutes(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
svc, err := newTestService(ds)

View file

@ -10,7 +10,7 @@ import (
)
func TestListHosts(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
svc, err := newTestService(ds)
@ -33,7 +33,7 @@ func TestListHosts(t *testing.T) {
}
func TestGetHost(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
svc, err := newTestService(ds)
@ -54,7 +54,7 @@ func TestGetHost(t *testing.T) {
}
func TestDeleteHost(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
svc, err := newTestService(ds)

View file

@ -10,7 +10,7 @@ import (
)
func TestListLabels(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
svc, err := newTestService(ds)
@ -35,7 +35,7 @@ func TestListLabels(t *testing.T) {
}
func TestGetLabel(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
svc, err := newTestService(ds)
@ -57,7 +57,7 @@ func TestGetLabel(t *testing.T) {
}
func TestNewLabel(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
svc, err := newTestService(ds)
@ -82,7 +82,7 @@ func TestNewLabel(t *testing.T) {
}
func TestModifyLabel(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
svc, err := newTestService(ds)
@ -108,7 +108,7 @@ func TestModifyLabel(t *testing.T) {
}
func TestDeleteLabel(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
svc, err := newTestService(ds)

View file

@ -18,7 +18,7 @@ import (
)
func TestEnrollAgent(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
svc, err := newTestService(ds)
@ -40,7 +40,7 @@ func TestEnrollAgent(t *testing.T) {
}
func TestEnrollAgentIncorrectEnrollSecret(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
svc, err := newTestService(ds)
@ -62,7 +62,7 @@ func TestEnrollAgentIncorrectEnrollSecret(t *testing.T) {
}
func TestSubmitStatusLogs(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
mockClock := clock.NewMockClock()
@ -134,7 +134,7 @@ func TestSubmitStatusLogs(t *testing.T) {
}
func TestSubmitResultLogs(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
mockClock := clock.NewMockClock()
@ -235,7 +235,7 @@ func TestHostDetailQueries(t *testing.T) {
}
func TestLabelQueries(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
mockClock := clock.NewMockClock()
@ -400,7 +400,7 @@ func TestLabelQueries(t *testing.T) {
}
func TestGetClientConfig(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
mockClock := clock.NewMockClock()
@ -484,7 +484,7 @@ func TestGetClientConfig(t *testing.T) {
}
func TestDetailQueries(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
mockClock := clock.NewMockClock()

View file

@ -10,7 +10,7 @@ import (
)
func TestListPacks(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
svc, err := newTestService(ds)
@ -33,7 +33,7 @@ func TestListPacks(t *testing.T) {
}
func TestGetPack(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
svc, err := newTestService(ds)
@ -55,7 +55,7 @@ func TestGetPack(t *testing.T) {
}
func TestNewPack(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
svc, err := newTestService(ds)
@ -76,7 +76,7 @@ func TestNewPack(t *testing.T) {
}
func TestModifyPack(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
svc, err := newTestService(ds)
@ -102,7 +102,7 @@ func TestModifyPack(t *testing.T) {
}
func TestDeletePack(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
svc, err := newTestService(ds)
@ -127,7 +127,7 @@ func TestDeletePack(t *testing.T) {
}
func TestAddQueryToPack(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
svc, err := newTestService(ds)
@ -146,7 +146,7 @@ func TestAddQueryToPack(t *testing.T) {
Name: "bar",
Query: "select * from time;",
}
_, err = ds.NewQuery(query)
query, err = ds.NewQuery(query)
assert.Nil(t, err)
assert.NotZero(t, query.ID)
@ -163,7 +163,7 @@ func TestAddQueryToPack(t *testing.T) {
}
func TestGetQueriesInPack(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
svc, err := newTestService(ds)
@ -182,7 +182,7 @@ func TestGetQueriesInPack(t *testing.T) {
Name: "bar",
Query: "select * from time;",
}
_, err = ds.NewQuery(query)
query, err = ds.NewQuery(query)
assert.Nil(t, err)
assert.NotZero(t, query.ID)
@ -195,7 +195,7 @@ func TestGetQueriesInPack(t *testing.T) {
}
func TestRemoveQueryFromPack(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
svc, err := newTestService(ds)
@ -214,7 +214,7 @@ func TestRemoveQueryFromPack(t *testing.T) {
Name: "bar",
Query: "select * from time;",
}
_, err = ds.NewQuery(query)
query, err = ds.NewQuery(query)
assert.Nil(t, err)
assert.NotZero(t, query.ID)

View file

@ -10,7 +10,7 @@ import (
)
func TestListQueries(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
svc, err := newTestService(ds)
@ -34,7 +34,7 @@ func TestListQueries(t *testing.T) {
}
func TestGetQuery(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
svc, err := newTestService(ds)
@ -46,7 +46,7 @@ func TestGetQuery(t *testing.T) {
Name: "foo",
Query: "select * from time;",
}
_, err = ds.NewQuery(query)
query, err = ds.NewQuery(query)
assert.Nil(t, err)
assert.NotZero(t, query.ID)
@ -57,7 +57,7 @@ func TestGetQuery(t *testing.T) {
}
func TestNewQuery(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
svc, err := newTestService(ds)
@ -80,7 +80,7 @@ func TestNewQuery(t *testing.T) {
}
func TestModifyQuery(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
svc, err := newTestService(ds)
@ -92,7 +92,7 @@ func TestModifyQuery(t *testing.T) {
Name: "foo",
Query: "select * from time;",
}
_, err = ds.NewQuery(query)
query, err = ds.NewQuery(query)
assert.Nil(t, err)
assert.NotZero(t, query.ID)
@ -107,7 +107,7 @@ func TestModifyQuery(t *testing.T) {
}
func TestDeleteQuery(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
assert.Nil(t, err)
svc, err := newTestService(ds)
@ -119,7 +119,7 @@ func TestDeleteQuery(t *testing.T) {
Name: "foo",
Query: "select * from time;",
}
_, err = ds.NewQuery(query)
query, err = ds.NewQuery(query)
assert.Nil(t, err)
assert.NotZero(t, query.ID)

View file

@ -14,7 +14,7 @@ import (
const bcryptCost = 6
func TestAuthenticate(t *testing.T) {
ds, err := datastore.New("gorm-sqlite3", ":memory:")
ds, err := datastore.New("inmem", "")
require.Nil(t, err)
svc, err := newTestService(ds)
require.Nil(t, err)