grafana/pkg/stores/rethinkdb_test.go

57 lines
1.4 KiB
Go
Raw Normal View History

2014-08-21 15:09:48 -05:00
package stores
import (
"testing"
"github.com/dancannon/gorethink"
2014-08-21 15:09:48 -05:00
. "github.com/smartystreets/goconvey/convey"
"github.com/torkelo/grafana-pro/pkg/models"
)
func TestRethinkStore(t *testing.T) {
store := NewRethinkStore(&RethinkCfg{DatabaseName: "tests"})
defer gorethink.DbDrop("tests").Exec(store.session)
2014-08-21 15:09:48 -05:00
Convey("Insert dashboard", t, func() {
dashboard := models.NewDashboard("test")
dashboard.AccountId = 1
2014-08-21 15:09:48 -05:00
err := store.SaveDashboard(dashboard)
So(err, ShouldBeNil)
So(dashboard.Id, ShouldNotBeEmpty)
read, err := store.GetDashboard("test", 1)
2014-08-21 15:09:48 -05:00
So(err, ShouldBeNil)
So(read, ShouldNotBeNil)
})
Convey("can get next account id", t, func() {
id, err := store.getNextAccountId()
So(err, ShouldBeNil)
So(id, ShouldNotEqual, 0)
id2, err := store.getNextAccountId()
So(id2, ShouldEqual, id+1)
})
2014-08-21 15:09:48 -05:00
Convey("can create account", t, func() {
2014-09-20 05:13:46 -05:00
account := &models.Account{UserName: "torkelo", Email: "mupp", Login: "test@test.com"}
err := store.CreateAccount(account)
So(err, ShouldBeNil)
2014-09-18 05:03:46 -05:00
So(account.Id, ShouldNotEqual, 0)
read, err := store.GetUserAccountLogin("test@test.com")
So(err, ShouldBeNil)
2014-09-18 05:03:46 -05:00
So(read.Id, ShouldEqual, account.DatabaseId)
})
Convey("can get next dashboard id", t, func() {
2014-09-20 05:13:46 -05:00
account := &models.Account{UserName: "torkelo", Email: "mupp"}
err := store.CreateAccount(account)
2014-09-18 05:03:46 -05:00
dashId, err := store.getNextDashboardNumber(account.Id)
So(err, ShouldBeNil)
So(dashId, ShouldEqual, 1)
2014-08-21 15:09:48 -05:00
})
}