40 lines
571 B
Go
40 lines
571 B
Go
|
package middleware
|
||
|
|
||
|
import (
|
||
|
"os"
|
||
|
"testing"
|
||
|
|
||
|
"goweb/config"
|
||
|
"goweb/ent"
|
||
|
"goweb/services"
|
||
|
"goweb/tests"
|
||
|
)
|
||
|
|
||
|
var (
|
||
|
c *services.Container
|
||
|
usr *ent.User
|
||
|
)
|
||
|
|
||
|
func TestMain(m *testing.M) {
|
||
|
// Set the environment to test
|
||
|
config.SwitchEnvironment(config.EnvTest)
|
||
|
|
||
|
// Create a new container
|
||
|
c = services.NewContainer()
|
||
|
defer func() {
|
||
|
if err := c.Shutdown(); err != nil {
|
||
|
c.Web.Logger.Fatal(err)
|
||
|
}
|
||
|
}()
|
||
|
|
||
|
// Create a user
|
||
|
var err error
|
||
|
if usr, err = tests.CreateUser(c.ORM); err != nil {
|
||
|
panic(err)
|
||
|
}
|
||
|
|
||
|
// Run tests
|
||
|
exitVal := m.Run()
|
||
|
os.Exit(exitVal)
|
||
|
}
|