39 lines
890 B
Go
39 lines
890 B
Go
package testx
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
|
|
"backend/providers/otel"
|
|
"backend/providers/postgres"
|
|
|
|
"git.ipao.vip/rogeecn/atom"
|
|
"git.ipao.vip/rogeecn/atom/container"
|
|
"github.com/rogeecn/fabfile"
|
|
log "github.com/sirupsen/logrus"
|
|
. "github.com/smartystreets/goconvey/convey"
|
|
)
|
|
|
|
func Default(providers ...container.ProviderContainer) container.Providers {
|
|
return append(container.Providers{
|
|
otel.DefaultProvider(),
|
|
postgres.DefaultProvider(),
|
|
}, providers...)
|
|
}
|
|
|
|
func Serve(providers container.Providers, t *testing.T, invoke any) {
|
|
Convey("tests boot up", t, func() {
|
|
log.SetLevel(log.DebugLevel)
|
|
|
|
file := fabfile.MustFind("config.toml")
|
|
|
|
localEnv := os.Getenv("ENV_LOCAL")
|
|
if localEnv != "" {
|
|
file = fabfile.MustFind("config." + localEnv + ".toml")
|
|
}
|
|
|
|
So(atom.LoadProviders(file, providers), ShouldBeNil)
|
|
So(container.Container.Invoke(invoke), ShouldBeNil)
|
|
})
|
|
}
|