fiddling about

This commit is contained in:
tsmethurst 2021-04-10 13:34:41 +02:00
commit 9a57dac5a1
17 changed files with 359 additions and 123 deletions

View file

@ -1,6 +1,9 @@
package testrig
import (
"context"
"github.com/sirupsen/logrus"
"github.com/superseriousbusiness/gotosocial/internal/db"
"github.com/superseriousbusiness/gotosocial/internal/db/gtsmodel"
"github.com/superseriousbusiness/gotosocial/internal/oauth"
@ -23,65 +26,74 @@ var testModels []interface{} = []interface{}{
&oauth.Client{},
}
// NewTestDB returns a new initialized, empty database for testing
func NewTestDB() db.DB {
config := NewTestConfig()
l := logrus.New()
l.SetLevel(logrus.TraceLevel)
testDB, err := db.New(context.Background(), config, l)
if err != nil {
panic(err)
}
return testDB
}
// StandardDBSetup populates a given db with all the necessary tables/models for perfoming tests.
func StandardDBSetup(db db.DB) error {
func StandardDBSetup(db db.DB) {
for _, m := range testModels {
if err := db.CreateTable(m); err != nil {
return err
panic(err)
}
}
for _, v := range TestTokens() {
for _, v := range NewTestTokens() {
if err := db.Put(v); err != nil {
return err
panic(err)
}
}
for _, v := range TestClients() {
for _, v := range NewTestClients() {
if err := db.Put(v); err != nil {
return err
panic(err)
}
}
for _, v := range TestApplications() {
for _, v := range NewTestApplications() {
if err := db.Put(v); err != nil {
return err
panic(err)
}
}
for _, v := range TestUsers() {
for _, v := range NewTestUsers() {
if err := db.Put(v); err != nil {
return err
panic(err)
}
}
for _, v := range TestAccounts() {
for _, v := range NewTestAccounts() {
if err := db.Put(v); err != nil {
return err
panic(err)
}
}
for _, v := range TestAttachments() {
for _, v := range NewTestAttachments() {
if err := db.Put(v); err != nil {
return err
panic(err)
}
}
for _, v := range TestStatuses() {
for _, v := range NewTestStatuses() {
if err := db.Put(v); err != nil {
return err
panic(err)
}
}
return nil
}
// StandardDBTeardown drops all the standard testing tables/models from the database to ensure it's clean for the next test.
func StandardDBTeardown(db db.DB) error {
func StandardDBTeardown(db db.DB) {
for _, m := range testModels {
if err := db.DropTable(m); err != nil {
return err
panic(err)
}
}
return nil
}