package share import ( "context" "os" "testing" "forge.cadoles.com/arcad/edge/pkg/app" "forge.cadoles.com/arcad/edge/pkg/module" "forge.cadoles.com/arcad/edge/pkg/storage/driver" "github.com/pkg/errors" "gitlab.com/wpetit/goweb/logger" _ "forge.cadoles.com/arcad/edge/pkg/storage/driver/sqlite" ) func TestModule(t *testing.T) { logger.SetLevel(logger.LevelDebug) store, err := driver.NewShareStore("sqlite://testdata/test_share_module.sqlite") if err != nil { t.Fatalf("%+v", errors.WithStack(err)) } server := app.NewServer( module.ContextModuleFactory(), module.ConsoleModuleFactory(), ModuleFactory("test.app.edge", store), ) data, err := os.ReadFile("testdata/share.js") if err != nil { t.Fatalf("%+v", errors.WithStack(err)) } if err := server.Load("testdata/share.js", string(data)); err != nil { t.Fatalf("%+v", errors.WithStack(err)) } if err := server.Start(); err != nil { t.Fatalf("%+v", errors.WithStack(err)) } if _, err := server.ExecFuncByName(context.Background(), "testModule"); err != nil { t.Fatalf("%+v", errors.WithStack(err)) } server.Stop() }