diff --git a/database/dbtest/dbtest.go b/database/dbtest/dbtest.go new file mode 100644 index 0000000..8b575cb --- /dev/null +++ b/database/dbtest/dbtest.go @@ -0,0 +1,68 @@ +package dbtest + +import ( + "testing" + + "github.com/staticbackendhq/core/database" + "github.com/staticbackendhq/core/model" +) + +const ( + adminEmail = "pg@test.com" + adminPassword = "test1234!" + confDBName = "testdb" + colName = "tasks" +) + +func FindToken(t *testing.T, datastore database.Persister, adminToken model.User) { + tok, err := datastore.FindUser(confDBName, adminToken.ID, adminToken.Token) + if err != nil { + t.Fatal(err) + } else if tok.ID != adminToken.ID { + t.Errorf("expected tok.id to be %s got %s", adminToken.ID, tok.ID) + } +} + +func FindRootToken(t *testing.T, datastore database.Persister, adminToken model.User) { + tok, err := datastore.FindRootUser(confDBName, adminToken.ID, adminToken.AccountID, adminToken.Token) + if err != nil { + t.Fatal(err) + } else if tok.ID != adminToken.ID { + t.Errorf("expected token id to be %s got %s", adminToken.ID, tok.ID) + } +} + +func GetRootForBase(t *testing.T, datastore database.Persister, adminToken model.User) { + tok, err := datastore.GetRootForBase(confDBName) + if err != nil { + t.Fatal(err) + } else if tok.ID != adminToken.ID { + t.Errorf("expected tok id to be %s got %s", adminToken.ID, tok.ID) + } +} + +func FindTokenByEmail(t *testing.T, datastore database.Persister, adminToken model.User) { + tok, err := datastore.FindUserByEmail(confDBName, adminEmail) + if err != nil { + t.Fatal(err) + } else if tok.ID != adminToken.ID { + t.Errorf("expected tok id to be %s got %s", adminToken.ID, tok.ID) + } +} + +func UserEmailExists(t *testing.T, datastore database.Persister) { + if exists, err := datastore.UserEmailExists(confDBName, adminEmail); err != nil { + t.Fatal(err) + } else if !exists { + t.Errorf("email should exists") + } +} + +func AccountList(t *testing.T, datastore database.Persister) { + accts, err := datastore.ListAccounts(confDBName) + if err != nil { + t.Fatal(err) + } else if len(accts) == 0 { + t.Errorf("expected at least 1 account, got %d", len(accts)) + } +} diff --git a/database/memory/account_test.go b/database/memory/account_test.go index a63f762..bda8496 100644 --- a/database/memory/account_test.go +++ b/database/memory/account_test.go @@ -1,56 +1,31 @@ package memory -import "testing" +import ( + "testing" + + "github.com/staticbackendhq/core/database/dbtest" +) func TestFindToken(t *testing.T) { - tok, err := datastore.FindUser(confDBName, adminToken.ID, adminToken.Token) - if err != nil { - t.Fatal(err) - } else if tok.ID != adminToken.ID { - t.Errorf("expected tok.id to be %s got %s", adminToken.ID, tok.ID) - } + dbtest.FindToken(t, datastore, adminToken) } func TestFindRootToken(t *testing.T) { - tok, err := datastore.FindRootUser(confDBName, adminToken.ID, adminToken.AccountID, adminToken.Token) - if err != nil { - t.Fatal(err) - } else if tok.ID != adminToken.ID { - t.Errorf("expected token id to be %s got %s", adminToken.ID, tok.ID) - } + dbtest.FindRootToken(t, datastore, adminToken) } func TestGetRootForBase(t *testing.T) { - tok, err := datastore.GetRootForBase(confDBName) - if err != nil { - t.Fatal(err) - } else if tok.ID != adminToken.ID { - t.Errorf("expected tok id to be %s got %s", adminToken.ID, tok.ID) - } + dbtest.GetRootForBase(t, datastore, adminToken) } func TestFindTokenByEmail(t *testing.T) { - tok, err := datastore.FindUserByEmail(confDBName, adminEmail) - if err != nil { - t.Fatal(err) - } else if tok.ID != adminToken.ID { - t.Errorf("expected tok id to be %s got %s", adminToken.ID, tok.ID) - } + dbtest.FindTokenByEmail(t, datastore, adminToken) } func TestUserEmailExists(t *testing.T) { - if exists, err := datastore.UserEmailExists(confDBName, adminEmail); err != nil { - t.Fatal(err) - } else if !exists { - t.Errorf("email should exists") - } + dbtest.UserEmailExists(t, datastore) } func TestAccountList(t *testing.T) { - accts, err := datastore.ListAccounts(confDBName) - if err != nil { - t.Fatal(err) - } else if len(accts) == 0 { - t.Errorf("expected at least 1 account, got %d", len(accts)) - } + dbtest.AccountList(t, datastore) } diff --git a/database/mongo/account_test.go b/database/mongo/account_test.go index af012d2..308ad3e 100644 --- a/database/mongo/account_test.go +++ b/database/mongo/account_test.go @@ -1,56 +1,31 @@ package mongo -import "testing" +import ( + "testing" + + "github.com/staticbackendhq/core/database/dbtest" +) func TestFindToken(t *testing.T) { - tok, err := datastore.FindUser(confDBName, adminToken.ID, adminToken.Token) - if err != nil { - t.Fatal(err) - } else if tok.ID != adminToken.ID { - t.Errorf("expected tok.id to be %s got %s", adminToken.ID, tok.ID) - } + dbtest.FindToken(t, datastore, adminToken) } func TestFindRootToken(t *testing.T) { - tok, err := datastore.FindRootUser(confDBName, adminToken.ID, adminToken.AccountID, adminToken.Token) - if err != nil { - t.Fatal(err) - } else if tok.ID != adminToken.ID { - t.Errorf("expected token id to be %s got %s", adminToken.ID, tok.ID) - } + dbtest.FindRootToken(t, datastore, adminToken) } func TestGetRootForBase(t *testing.T) { - tok, err := datastore.GetRootForBase(confDBName) - if err != nil { - t.Fatal(err) - } else if tok.ID != adminToken.ID { - t.Errorf("expected tok id to be %s got %s", adminToken.ID, tok.ID) - } + dbtest.GetRootForBase(t, datastore, adminToken) } func TestFindTokenByEmail(t *testing.T) { - tok, err := datastore.FindUserByEmail(confDBName, adminEmail) - if err != nil { - t.Fatal(err) - } else if tok.ID != adminToken.ID { - t.Errorf("expected tok id to be %s got %s", adminToken.ID, tok.ID) - } + dbtest.FindTokenByEmail(t, datastore, adminToken) } func TestUserEmailExists(t *testing.T) { - if exists, err := datastore.UserEmailExists(confDBName, adminEmail); err != nil { - t.Fatal(err) - } else if !exists { - t.Errorf("email should exists") - } + dbtest.UserEmailExists(t, datastore) } func TestAccountList(t *testing.T) { - accts, err := datastore.ListAccounts(confDBName) - if err != nil { - t.Fatal(err) - } else if len(accts) == 0 { - t.Errorf("expected at least 1 account, got %d", len(accts)) - } + dbtest.AccountList(t, datastore) } diff --git a/database/postgresql/account_test.go b/database/postgresql/account_test.go index bfe5a9b..463c947 100644 --- a/database/postgresql/account_test.go +++ b/database/postgresql/account_test.go @@ -1,56 +1,31 @@ package postgresql -import "testing" +import ( + "testing" + + "github.com/staticbackendhq/core/database/dbtest" +) func TestFindToken(t *testing.T) { - tok, err := datastore.FindUser(confDBName, adminToken.ID, adminToken.Token) - if err != nil { - t.Fatal(err) - } else if tok.ID != adminToken.ID { - t.Errorf("expected tok.id to be %s got %s", adminToken.ID, tok.ID) - } + dbtest.FindToken(t, datastore, adminToken) } func TestFindRootToken(t *testing.T) { - tok, err := datastore.FindRootUser(confDBName, adminToken.ID, adminToken.AccountID, adminToken.Token) - if err != nil { - t.Fatal(err) - } else if tok.ID != adminToken.ID { - t.Errorf("expected token id to be %s got %s", adminToken.ID, tok.ID) - } + dbtest.FindRootToken(t, datastore, adminToken) } func TestGetRootForBase(t *testing.T) { - tok, err := datastore.GetRootForBase(confDBName) - if err != nil { - t.Fatal(err) - } else if tok.ID != adminToken.ID { - t.Errorf("expected tok id to be %s got %s", adminToken.ID, tok.ID) - } + dbtest.GetRootForBase(t, datastore, adminToken) } func TestFindTokenByEmail(t *testing.T) { - tok, err := datastore.FindUserByEmail(confDBName, adminEmail) - if err != nil { - t.Fatal(err) - } else if tok.ID != adminToken.ID { - t.Errorf("expected tok id to be %s got %s", adminToken.ID, tok.ID) - } + dbtest.FindTokenByEmail(t, datastore, adminToken) } func TestUserEmailExists(t *testing.T) { - if exists, err := datastore.UserEmailExists(confDBName, adminEmail); err != nil { - t.Fatal(err) - } else if !exists { - t.Errorf("email should exists") - } + dbtest.UserEmailExists(t, datastore) } func TestAccountList(t *testing.T) { - accts, err := datastore.ListAccounts(confDBName) - if err != nil { - t.Fatal(err) - } else if len(accts) == 0 { - t.Errorf("expected at least 1 account, got %d", len(accts)) - } + dbtest.AccountList(t, datastore) } diff --git a/database/sqlite/account_test.go b/database/sqlite/account_test.go index 4d9fef6..1ee8e1d 100644 --- a/database/sqlite/account_test.go +++ b/database/sqlite/account_test.go @@ -2,57 +2,30 @@ package sqlite import ( "testing" + + "github.com/staticbackendhq/core/database/dbtest" ) func TestFindToken(t *testing.T) { - tok, err := datastore.FindUser(confDBName, adminToken.ID, adminToken.Token) - if err != nil { - t.Fatal(err) - } else if tok.ID != adminToken.ID { - t.Errorf("expected tok.id to be %s got %s", adminToken.ID, tok.ID) - } + dbtest.FindToken(t, datastore, adminToken) } func TestFindRootToken(t *testing.T) { - tok, err := datastore.FindRootUser(confDBName, adminToken.ID, adminToken.AccountID, adminToken.Token) - if err != nil { - t.Fatal(err) - } else if tok.ID != adminToken.ID { - t.Errorf("expected token id to be %s got %s", adminToken.ID, tok.ID) - } + dbtest.FindRootToken(t, datastore, adminToken) } func TestGetRootForBase(t *testing.T) { - tok, err := datastore.GetRootForBase(confDBName) - if err != nil { - t.Fatal(err) - } else if tok.ID != adminToken.ID { - t.Errorf("expected tok id to be %s got %s", adminToken.ID, tok.ID) - } + dbtest.GetRootForBase(t, datastore, adminToken) } func TestFindTokenByEmail(t *testing.T) { - tok, err := datastore.FindUserByEmail(confDBName, adminEmail) - if err != nil { - t.Fatal(err) - } else if tok.ID != adminToken.ID { - t.Errorf("expected tok id to be %s got %s", adminToken.ID, tok.ID) - } + dbtest.FindTokenByEmail(t, datastore, adminToken) } func TestUserEmailExists(t *testing.T) { - if exists, err := datastore.UserEmailExists(confDBName, adminEmail); err != nil { - t.Fatal(err) - } else if !exists { - t.Errorf("email should exists") - } + dbtest.UserEmailExists(t, datastore) } func TestAccountList(t *testing.T) { - accts, err := datastore.ListAccounts(confDBName) - if err != nil { - t.Fatal(err) - } else if len(accts) == 0 { - t.Errorf("expected at least 1 account, got %d", len(accts)) - } + dbtest.AccountList(t, datastore) }