2014-12-16 14:05:49 -06:00
|
|
|
package sqlstore
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/go-xorm/xorm"
|
|
|
|
|
|
|
|
. "github.com/smartystreets/goconvey/convey"
|
|
|
|
|
2015-02-05 03:37:13 -06:00
|
|
|
m "github.com/grafana/grafana/pkg/models"
|
|
|
|
"github.com/grafana/grafana/pkg/services/sqlstore/sqlutil"
|
2014-12-16 14:05:49 -06:00
|
|
|
)
|
|
|
|
|
|
|
|
func InitTestDB(t *testing.T) {
|
2015-01-20 07:15:48 -06:00
|
|
|
x, err := xorm.NewEngine(sqlutil.TestDB_Sqlite3.DriverName, sqlutil.TestDB_Sqlite3.ConnStr)
|
|
|
|
//x, err := xorm.NewEngine(sqlutil.TestDB_Mysql.DriverName, sqlutil.TestDB_Mysql.ConnStr)
|
|
|
|
//x, err := xorm.NewEngine(sqlutil.TestDB_Postgres.DriverName, sqlutil.TestDB_Postgres.ConnStr)
|
2014-12-16 14:05:49 -06:00
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
t.Fatalf("Failed to init in memory sqllite3 db %v", err)
|
|
|
|
}
|
|
|
|
|
2015-01-20 07:15:48 -06:00
|
|
|
sqlutil.CleanDB(x)
|
|
|
|
|
2016-06-11 04:38:25 -05:00
|
|
|
if err := SetEngine(x); err != nil {
|
2015-01-20 07:15:48 -06:00
|
|
|
t.Fatal(err)
|
|
|
|
}
|
2014-12-16 14:05:49 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
type Test struct {
|
|
|
|
Id int64
|
|
|
|
Name string
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestDataAccess(t *testing.T) {
|
|
|
|
|
|
|
|
Convey("Testing DB", t, func() {
|
|
|
|
InitTestDB(t)
|
|
|
|
|
|
|
|
Convey("Can add datasource", func() {
|
|
|
|
|
|
|
|
err := AddDataSource(&m.AddDataSourceCommand{
|
2015-02-23 13:07:49 -06:00
|
|
|
OrgId: 10,
|
|
|
|
Type: m.DS_INFLUXDB,
|
|
|
|
Access: m.DS_ACCESS_DIRECT,
|
|
|
|
Url: "http://test",
|
|
|
|
Database: "site",
|
2014-12-16 14:05:49 -06:00
|
|
|
})
|
|
|
|
|
|
|
|
So(err, ShouldBeNil)
|
|
|
|
|
2015-02-23 13:07:49 -06:00
|
|
|
query := m.GetDataSourcesQuery{OrgId: 10}
|
2014-12-16 14:05:49 -06:00
|
|
|
err = GetDataSources(&query)
|
|
|
|
So(err, ShouldBeNil)
|
|
|
|
|
2014-12-17 10:32:22 -06:00
|
|
|
So(len(query.Result), ShouldEqual, 1)
|
2014-12-16 14:05:49 -06:00
|
|
|
|
2014-12-17 10:32:22 -06:00
|
|
|
ds := query.Result[0]
|
2014-12-16 20:09:54 -06:00
|
|
|
|
2015-02-23 13:07:49 -06:00
|
|
|
So(ds.OrgId, ShouldEqual, 10)
|
2014-12-19 01:19:12 -06:00
|
|
|
So(ds.Database, ShouldEqual, "site")
|
2014-12-16 14:05:49 -06:00
|
|
|
})
|
|
|
|
|
2014-12-17 10:32:22 -06:00
|
|
|
Convey("Given a datasource", func() {
|
|
|
|
|
|
|
|
AddDataSource(&m.AddDataSourceCommand{
|
2015-02-23 13:07:49 -06:00
|
|
|
OrgId: 10,
|
|
|
|
Type: m.DS_GRAPHITE,
|
|
|
|
Access: m.DS_ACCESS_DIRECT,
|
|
|
|
Url: "http://test",
|
2014-12-17 10:32:22 -06:00
|
|
|
})
|
|
|
|
|
2015-02-23 13:07:49 -06:00
|
|
|
query := m.GetDataSourcesQuery{OrgId: 10}
|
2014-12-17 10:32:22 -06:00
|
|
|
GetDataSources(&query)
|
|
|
|
ds := query.Result[0]
|
|
|
|
|
|
|
|
Convey("Can delete datasource", func() {
|
2015-02-23 13:07:49 -06:00
|
|
|
err := DeleteDataSource(&m.DeleteDataSourceCommand{Id: ds.Id, OrgId: ds.OrgId})
|
2014-12-17 10:32:22 -06:00
|
|
|
So(err, ShouldBeNil)
|
|
|
|
|
|
|
|
GetDataSources(&query)
|
|
|
|
So(len(query.Result), ShouldEqual, 0)
|
|
|
|
})
|
|
|
|
|
2015-02-23 13:07:49 -06:00
|
|
|
Convey("Can not delete datasource with wrong orgId", func() {
|
|
|
|
err := DeleteDataSource(&m.DeleteDataSourceCommand{Id: ds.Id, OrgId: 123123})
|
2014-12-17 10:32:22 -06:00
|
|
|
So(err, ShouldBeNil)
|
|
|
|
|
|
|
|
GetDataSources(&query)
|
|
|
|
So(len(query.Result), ShouldEqual, 1)
|
|
|
|
})
|
|
|
|
|
|
|
|
})
|
|
|
|
|
2014-12-16 14:05:49 -06:00
|
|
|
})
|
|
|
|
|
|
|
|
}
|