package store import ( "context" "io/ioutil" "testing" "forge.cadoles.com/arcad/edge/pkg/app" "forge.cadoles.com/arcad/edge/pkg/module" "forge.cadoles.com/arcad/edge/pkg/storage/sqlite" "github.com/pkg/errors" "gitlab.com/wpetit/goweb/logger" ) func TestStoreModule(t *testing.T) { logger.SetLevel(logger.LevelDebug) store := sqlite.NewDocumentStore(":memory:?_pragma=foreign_keys(1)&_pragma=busy_timeout=60000") server := app.NewServer( module.ContextModuleFactory(), module.ConsoleModuleFactory(), ModuleFactory(store), ) data, err := ioutil.ReadFile("testdata/store.js") if err != nil { t.Fatalf("%+v", errors.WithStack(err)) } if err := server.Load("testdata/store.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(), "testStore"); err != nil { t.Fatalf("%+v", errors.WithStack(err)) } server.Stop() }