rethinkdb_test.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package stores
  2. import (
  3. "testing"
  4. "github.com/dancannon/gorethink"
  5. . "github.com/smartystreets/goconvey/convey"
  6. "github.com/torkelo/grafana-pro/pkg/models"
  7. )
  8. func TestRethinkStore(t *testing.T) {
  9. store := NewRethinkStore(&RethinkCfg{DatabaseName: "tests"})
  10. defer gorethink.DbDrop("tests").Exec(store.session)
  11. Convey("Insert dashboard", t, func() {
  12. dashboard := models.NewDashboard("test")
  13. dashboard.AccountId = 1
  14. err := store.SaveDashboard(dashboard)
  15. So(err, ShouldBeNil)
  16. So(dashboard.Id, ShouldNotBeEmpty)
  17. read, err := store.GetDashboard("test", 1)
  18. So(err, ShouldBeNil)
  19. So(read, ShouldNotBeNil)
  20. })
  21. Convey("can get next account id", t, func() {
  22. id, err := store.getNextAccountId()
  23. So(err, ShouldBeNil)
  24. So(id, ShouldNotEqual, 0)
  25. id2, err := store.getNextAccountId()
  26. So(id2, ShouldEqual, id+1)
  27. })
  28. Convey("can create account", t, func() {
  29. account := &models.UserAccount{UserName: "torkelo", Email: "mupp", Login: "test@test.com"}
  30. err := store.SaveUserAccount(account)
  31. So(err, ShouldBeNil)
  32. So(account.Id, ShouldNotEqual, 0)
  33. read, err := store.GetUserAccountLogin("test@test.com")
  34. So(err, ShouldBeNil)
  35. So(read.Id, ShouldEqual, account.DatabaseId)
  36. })
  37. Convey("can get next dashboard id", t, func() {
  38. account := &models.UserAccount{UserName: "torkelo", Email: "mupp"}
  39. err := store.SaveUserAccount(account)
  40. dashId, err := store.getNextDashboardNumber(account.Id)
  41. So(err, ShouldBeNil)
  42. So(dashId, ShouldEqual, 1)
  43. })
  44. }