Compare commits
No commits in common. "933943636e3890a33cce4f40c23129af201ea673" and "0f54ab4b4af2b5dc3c053f2b5d635b18afbacf5f" have entirely different histories.
933943636e
...
0f54ab4b4a
@ -36,7 +36,8 @@ var (
|
|||||||
func main() {
|
func main() {
|
||||||
config.LoadConfig()
|
config.LoadConfig()
|
||||||
|
|
||||||
var override config.Override
|
var connStr string
|
||||||
|
var resourceDir string
|
||||||
var size uint
|
var size uint
|
||||||
var engineDebug bool
|
var engineDebug bool
|
||||||
var host string
|
var host string
|
||||||
@ -45,11 +46,10 @@ func main() {
|
|||||||
var gettextDir string
|
var gettextDir string
|
||||||
var langs args.LangVar
|
var langs args.LangVar
|
||||||
|
|
||||||
|
|
||||||
|
flag.StringVar(&resourceDir, "resourcedir", path.Join("services", "registration"), "resource dir")
|
||||||
|
flag.StringVar(&connStr, "c", "", "connection string")
|
||||||
flag.BoolVar(&engineDebug, "d", false, "use engine debug output")
|
flag.BoolVar(&engineDebug, "d", false, "use engine debug output")
|
||||||
flag.StringVar(override.DbConn, "c", "?", "default connection string (replaces all unspecified strings)")
|
|
||||||
flag.StringVar(override.ResourceConn, "resource", "?", "resource connection string")
|
|
||||||
flag.StringVar(override.UserConn, "userdata", "?", "userdata store connection string")
|
|
||||||
flag.StringVar(override.StateConn, "state", "?", "state store connection string")
|
|
||||||
flag.UintVar(&size, "s", 160, "max size of output")
|
flag.UintVar(&size, "s", 160, "max size of output")
|
||||||
flag.StringVar(&host, "h", config.Host(), "http host")
|
flag.StringVar(&host, "h", config.Host(), "http host")
|
||||||
flag.UintVar(&port, "p", config.Port(), "http port")
|
flag.UintVar(&port, "p", config.Port(), "http port")
|
||||||
@ -57,14 +57,16 @@ func main() {
|
|||||||
flag.Var(&langs, "language", "add symbol resolution for language")
|
flag.Var(&langs, "language", "add symbol resolution for language")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
config.Apply(&override)
|
if connStr == "" {
|
||||||
conns, err := config.GetConns()
|
connStr = config.DbConn()
|
||||||
|
}
|
||||||
|
connData, err := storage.ToConnData(connStr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "conn specification error: %v\n", err)
|
fmt.Fprintf(os.Stderr, "connstr err: %v", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
logg.Infof("start command", "build", build, "conn", conns, "outputsize", size)
|
logg.Infof("start command", "build", build, "conn", connData, "resourcedir", resourceDir, "outputsize", size)
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
ln, err := lang.LanguageFromCode(config.Language())
|
ln, err := lang.LanguageFromCode(config.Language())
|
||||||
@ -87,7 +89,7 @@ func main() {
|
|||||||
cfg.EngineDebug = true
|
cfg.EngineDebug = true
|
||||||
}
|
}
|
||||||
|
|
||||||
menuStorageService := storage.NewMenuStorageService(conns)
|
menuStorageService := storage.NewMenuStorageService(connData, resourceDir)
|
||||||
rs, err := menuStorageService.GetResource(ctx)
|
rs, err := menuStorageService.GetResource(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "menustorageservice: %v\n", err)
|
fmt.Fprintf(os.Stderr, "menustorageservice: %v\n", err)
|
||||||
@ -117,7 +119,7 @@ func main() {
|
|||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
accountService := services.New(ctx, menuStorageService)
|
accountService := services.New(ctx, menuStorageService, connData)
|
||||||
|
|
||||||
hl, err := lhs.GetHandler(accountService)
|
hl, err := lhs.GetHandler(accountService)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@ -43,9 +43,10 @@ func (p *asyncRequestParser) GetInput(r any) ([]byte, error) {
|
|||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
config.LoadConfig()
|
config.LoadConfig()
|
||||||
|
|
||||||
var override config.Override
|
var connStr string
|
||||||
var sessionId string
|
var sessionId string
|
||||||
|
var resourceDir string
|
||||||
var size uint
|
var size uint
|
||||||
var engineDebug bool
|
var engineDebug bool
|
||||||
var host string
|
var host string
|
||||||
@ -55,11 +56,8 @@ func main() {
|
|||||||
var langs args.LangVar
|
var langs args.LangVar
|
||||||
|
|
||||||
flag.StringVar(&sessionId, "session-id", "075xx2123", "session id")
|
flag.StringVar(&sessionId, "session-id", "075xx2123", "session id")
|
||||||
flag.StringVar(override.DbConn, "c", "?", "default connection string (replaces all unspecified strings)")
|
flag.StringVar(&resourceDir, "resourcedir", path.Join("services", "registration"), "resource dir")
|
||||||
flag.StringVar(override.ResourceConn, "resource", "?", "resource connection string")
|
flag.StringVar(&connStr, "c", "", "connection string")
|
||||||
flag.StringVar(override.UserConn, "userdata", "?", "userdata store connection string")
|
|
||||||
flag.StringVar(override.StateConn, "state", "?", "state store connection string")
|
|
||||||
|
|
||||||
flag.BoolVar(&engineDebug, "d", false, "use engine debug output")
|
flag.BoolVar(&engineDebug, "d", false, "use engine debug output")
|
||||||
flag.UintVar(&size, "s", 160, "max size of output")
|
flag.UintVar(&size, "s", 160, "max size of output")
|
||||||
flag.StringVar(&host, "h", config.Host(), "http host")
|
flag.StringVar(&host, "h", config.Host(), "http host")
|
||||||
@ -68,14 +66,16 @@ func main() {
|
|||||||
flag.Var(&langs, "language", "add symbol resolution for language")
|
flag.Var(&langs, "language", "add symbol resolution for language")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
config.Apply(&override)
|
if connStr == "" {
|
||||||
conns, err := config.GetConns()
|
connStr = config.DbConn()
|
||||||
|
}
|
||||||
|
connData, err := storage.ToConnData(connStr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "conn specification error: %v\n", err)
|
fmt.Fprintf(os.Stderr, "connstr err: %v", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
logg.Infof("start command", "conn", conns, "outputsize", size, "sessionId", sessionId)
|
logg.Infof("start command", "conn", connData, "resourcedir", resourceDir, "outputsize", size, "sessionId", sessionId)
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
|
|
||||||
@ -99,7 +99,7 @@ func main() {
|
|||||||
cfg.EngineDebug = true
|
cfg.EngineDebug = true
|
||||||
}
|
}
|
||||||
|
|
||||||
menuStorageService := storage.NewMenuStorageService(conns)
|
menuStorageService := storage.NewMenuStorageService(connData, resourceDir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, err.Error())
|
fmt.Fprintf(os.Stderr, err.Error())
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
@ -126,7 +126,7 @@ func main() {
|
|||||||
lhs, err := handlers.NewLocalHandlerService(ctx, pfp, true, dbResource, cfg, rs)
|
lhs, err := handlers.NewLocalHandlerService(ctx, pfp, true, dbResource, cfg, rs)
|
||||||
lhs.SetDataStore(&userdataStore)
|
lhs.SetDataStore(&userdataStore)
|
||||||
|
|
||||||
accountService := services.New(ctx, menuStorageService)
|
accountService := services.New(ctx, menuStorageService, connData)
|
||||||
|
|
||||||
hl, err := lhs.GetHandler(accountService)
|
hl, err := lhs.GetHandler(accountService)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@ -35,7 +35,8 @@ var (
|
|||||||
func main() {
|
func main() {
|
||||||
config.LoadConfig()
|
config.LoadConfig()
|
||||||
|
|
||||||
var override config.Override
|
var connStr string
|
||||||
|
var resourceDir string
|
||||||
var size uint
|
var size uint
|
||||||
var engineDebug bool
|
var engineDebug bool
|
||||||
var host string
|
var host string
|
||||||
@ -44,11 +45,8 @@ func main() {
|
|||||||
var gettextDir string
|
var gettextDir string
|
||||||
var langs args.LangVar
|
var langs args.LangVar
|
||||||
|
|
||||||
flag.StringVar(override.DbConn, "c", "?", "default connection string (replaces all unspecified strings)")
|
flag.StringVar(&resourceDir, "resourcedir", path.Join("services", "registration"), "resource dir")
|
||||||
flag.StringVar(override.ResourceConn, "resource", "?", "resource connection string")
|
flag.StringVar(&connStr, "c", "", "connection string")
|
||||||
flag.StringVar(override.UserConn, "userdata", "?", "userdata store connection string")
|
|
||||||
flag.StringVar(override.StateConn, "state", "?", "state store connection string")
|
|
||||||
|
|
||||||
flag.BoolVar(&engineDebug, "d", false, "use engine debug output")
|
flag.BoolVar(&engineDebug, "d", false, "use engine debug output")
|
||||||
flag.UintVar(&size, "s", 160, "max size of output")
|
flag.UintVar(&size, "s", 160, "max size of output")
|
||||||
flag.StringVar(&host, "h", config.Host(), "http host")
|
flag.StringVar(&host, "h", config.Host(), "http host")
|
||||||
@ -57,14 +55,16 @@ func main() {
|
|||||||
flag.Var(&langs, "language", "add symbol resolution for language")
|
flag.Var(&langs, "language", "add symbol resolution for language")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
config.Apply(&override)
|
if connStr == "" {
|
||||||
conns, err := config.GetConns()
|
connStr = config.DbConn()
|
||||||
|
}
|
||||||
|
connData, err := storage.ToConnData(connStr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "conn specification error: %v\n", err)
|
fmt.Fprintf(os.Stderr, "connstr err: %v", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
logg.Infof("start command", "conn", conns, "outputsize", size)
|
logg.Infof("start command", "conn", connData, "resourcedir", resourceDir, "outputsize", size)
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ func main() {
|
|||||||
cfg.EngineDebug = true
|
cfg.EngineDebug = true
|
||||||
}
|
}
|
||||||
|
|
||||||
menuStorageService := storage.NewMenuStorageService(conns)
|
menuStorageService := storage.NewMenuStorageService(connData, resourceDir)
|
||||||
|
|
||||||
rs, err := menuStorageService.GetResource(ctx)
|
rs, err := menuStorageService.GetResource(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -115,7 +115,7 @@ func main() {
|
|||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
accountService := services.New(ctx, menuStorageService)
|
accountService := services.New(ctx, menuStorageService, connData)
|
||||||
|
|
||||||
hl, err := lhs.GetHandler(accountService)
|
hl, err := lhs.GetHandler(accountService)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
23
cmd/main.go
23
cmd/main.go
@ -29,33 +29,34 @@ var (
|
|||||||
func main() {
|
func main() {
|
||||||
config.LoadConfig()
|
config.LoadConfig()
|
||||||
|
|
||||||
var override config.Override
|
var connStr string
|
||||||
var size uint
|
var size uint
|
||||||
var sessionId string
|
var sessionId string
|
||||||
var engineDebug bool
|
var engineDebug bool
|
||||||
|
var resourceDir string
|
||||||
var err error
|
var err error
|
||||||
var gettextDir string
|
var gettextDir string
|
||||||
var langs args.LangVar
|
var langs args.LangVar
|
||||||
|
|
||||||
|
flag.StringVar(&resourceDir, "resourcedir", scriptDir, "resource dir")
|
||||||
flag.StringVar(&sessionId, "session-id", "075xx2123", "session id")
|
flag.StringVar(&sessionId, "session-id", "075xx2123", "session id")
|
||||||
flag.StringVar(override.DbConn, "c", "?", "default connection string (replaces all unspecified strings)")
|
flag.StringVar(&connStr, "c", "", "connection string")
|
||||||
flag.StringVar(override.ResourceConn, "resource", "?", "resource connection string")
|
|
||||||
flag.StringVar(override.UserConn, "userdata", "?", "userdata store connection string")
|
|
||||||
flag.StringVar(override.StateConn, "state", "?", "state store connection string")
|
|
||||||
flag.BoolVar(&engineDebug, "d", false, "use engine debug output")
|
flag.BoolVar(&engineDebug, "d", false, "use engine debug output")
|
||||||
flag.UintVar(&size, "s", 160, "max size of output")
|
flag.UintVar(&size, "s", 160, "max size of output")
|
||||||
flag.StringVar(&gettextDir, "gettext", "", "use gettext translations from given directory")
|
flag.StringVar(&gettextDir, "gettext", "", "use gettext translations from given directory")
|
||||||
flag.Var(&langs, "language", "add symbol resolution for language")
|
flag.Var(&langs, "language", "add symbol resolution for language")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
config.Apply(&override)
|
if connStr == "" {
|
||||||
conns, err := config.GetConns()
|
connStr = config.DbConn()
|
||||||
|
}
|
||||||
|
connData, err := storage.ToConnData(connStr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "conn specification error: %v\n", err)
|
fmt.Fprintf(os.Stderr, "connstr err: %v\n", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
logg.Infof("start command", "conn", conns, "outputsize", size)
|
logg.Infof("start command", "conn", connData, "outputsize", size)
|
||||||
|
|
||||||
if len(langs.Langs()) == 0 {
|
if len(langs.Langs()) == 0 {
|
||||||
langs.Set(config.Language())
|
langs.Set(config.Language())
|
||||||
@ -81,7 +82,7 @@ func main() {
|
|||||||
MenuSeparator: menuSeparator,
|
MenuSeparator: menuSeparator,
|
||||||
}
|
}
|
||||||
|
|
||||||
menuStorageService := storage.NewMenuStorageService(conns)
|
menuStorageService := storage.NewMenuStorageService(connData, resourceDir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "menu storage service error: %v\n", err)
|
fmt.Fprintf(os.Stderr, "menu storage service error: %v\n", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
@ -123,7 +124,7 @@ func main() {
|
|||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
accountService := services.New(ctx, menuStorageService)
|
accountService := services.New(ctx, menuStorageService, connData)
|
||||||
hl, err := lhs.GetHandler(accountService)
|
hl, err := lhs.GetHandler(accountService)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "get accounts service handler: %v\n", err)
|
fmt.Fprintf(os.Stderr, "get accounts service handler: %v\n", err)
|
||||||
|
|||||||
@ -31,31 +31,34 @@ var (
|
|||||||
func main() {
|
func main() {
|
||||||
config.LoadConfig()
|
config.LoadConfig()
|
||||||
|
|
||||||
var override config.Override
|
var connStr string
|
||||||
var authConnStr string
|
var authConnStr string
|
||||||
|
var resourceDir string
|
||||||
var size uint
|
var size uint
|
||||||
var engineDebug bool
|
var engineDebug bool
|
||||||
var stateDebug bool
|
var stateDebug bool
|
||||||
var host string
|
var host string
|
||||||
var port uint
|
var port uint
|
||||||
//flag.StringVar(&authConnStr, "authdb", "", "auth connection string")
|
flag.StringVar(&connStr, "c", "", "connection string")
|
||||||
flag.StringVar(override.DbConn, "c", "?", "default connection string (replaces all unspecified strings)")
|
flag.StringVar(&authConnStr, "authdb", "", "auth connection string")
|
||||||
flag.StringVar(override.ResourceConn, "resource", "?", "resource connection string")
|
flag.StringVar(&resourceDir, "resourcedir", path.Join("services", "registration"), "resource dir")
|
||||||
flag.StringVar(override.UserConn, "userdata", "?", "userdata store connection string")
|
|
||||||
flag.StringVar(override.StateConn, "state", "?", "state store connection string")
|
|
||||||
flag.BoolVar(&engineDebug, "d", false, "use engine debug output")
|
flag.BoolVar(&engineDebug, "d", false, "use engine debug output")
|
||||||
flag.UintVar(&size, "s", 160, "max size of output")
|
flag.UintVar(&size, "s", 160, "max size of output")
|
||||||
flag.StringVar(&host, "h", config.HostSSH(), "socket host")
|
flag.StringVar(&host, "h", config.HostSSH(), "socket host")
|
||||||
flag.UintVar(&port, "p", config.PortSSH(), "socket port")
|
flag.UintVar(&port, "p", config.PortSSH(), "socket port")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
config.Apply(&override)
|
if connStr == "" {
|
||||||
conns, err := config.GetConns()
|
connStr = config.DbConn()
|
||||||
|
}
|
||||||
|
if authConnStr == "" {
|
||||||
|
authConnStr = connStr
|
||||||
|
}
|
||||||
|
connData, err := storage.ToConnData(connStr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "conn specification error: %v\n", err)
|
fmt.Fprintf(os.Stderr, "connstr err: %v", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
authConnData, err := storage.ToConnData(authConnStr)
|
authConnData, err := storage.ToConnData(authConnStr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "auth connstr err: %v", err)
|
fmt.Fprintf(os.Stderr, "auth connstr err: %v", err)
|
||||||
@ -76,7 +79,7 @@ func main() {
|
|||||||
logg.WarnCtxf(ctx, "!!!!! Do not expose to internet and only use with tunnel!")
|
logg.WarnCtxf(ctx, "!!!!! Do not expose to internet and only use with tunnel!")
|
||||||
logg.WarnCtxf(ctx, "!!!!! (See ssh -L <...>)")
|
logg.WarnCtxf(ctx, "!!!!! (See ssh -L <...>)")
|
||||||
|
|
||||||
logg.Infof("start command", "conn", conns, "authconn", authConnData, "outputsize", size, "keyfile", sshKeyFile, "host", host, "port", port)
|
logg.Infof("start command", "conn", connData, "authconn", authConnData, "resourcedir", resourceDir, "outputsize", size, "keyfile", sshKeyFile, "host", host, "port", port)
|
||||||
|
|
||||||
pfp := path.Join(scriptDir, "pp.csv")
|
pfp := path.Join(scriptDir, "pp.csv")
|
||||||
|
|
||||||
@ -114,7 +117,8 @@ func main() {
|
|||||||
Cfg: cfg,
|
Cfg: cfg,
|
||||||
Debug: engineDebug,
|
Debug: engineDebug,
|
||||||
FlagFile: pfp,
|
FlagFile: pfp,
|
||||||
Conn: conns,
|
Conn: connData,
|
||||||
|
ResourceDir: resourceDir,
|
||||||
SrvKeyFile: sshKeyFile,
|
SrvKeyFile: sshKeyFile,
|
||||||
Host: host,
|
Host: host,
|
||||||
Port: port,
|
Port: port,
|
||||||
|
|||||||
@ -1,17 +0,0 @@
|
|||||||
package config
|
|
||||||
|
|
||||||
import (
|
|
||||||
viseconfig "git.grassecon.net/grassrootseconomics/visedriver/config"
|
|
||||||
)
|
|
||||||
|
|
||||||
type Override struct {
|
|
||||||
DbConn *string
|
|
||||||
StateConn *string
|
|
||||||
ResourceConn *string
|
|
||||||
UserConn *string
|
|
||||||
}
|
|
||||||
|
|
||||||
func Apply(o *Override) error {
|
|
||||||
viseconfig.ApplyConn(o.DbConn, o.StateConn, o.ResourceConn, o.UserConn)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
@ -6,17 +6,8 @@ import (
|
|||||||
apiconfig "git.grassecon.net/grassrootseconomics/sarafu-api/config"
|
apiconfig "git.grassecon.net/grassrootseconomics/sarafu-api/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
func init() {
|
||||||
GetConns = viseconfig.GetConns
|
env.LoadEnvVariables()
|
||||||
EnvPath string
|
|
||||||
)
|
|
||||||
|
|
||||||
func loadEnv() {
|
|
||||||
if EnvPath == "" {
|
|
||||||
env.LoadEnvVariables()
|
|
||||||
} else {
|
|
||||||
env.LoadEnvVariablesPath(EnvPath)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -26,8 +17,8 @@ const (
|
|||||||
defaultHTTPPort uint = 7123
|
defaultHTTPPort uint = 7123
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
func LoadConfig() error {
|
func LoadConfig() error {
|
||||||
loadEnv()
|
|
||||||
err := viseconfig.LoadConfig()
|
err := viseconfig.LoadConfig()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@ -39,6 +30,10 @@ func LoadConfig() error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func DbConn() string {
|
||||||
|
return viseconfig.DbConn
|
||||||
|
}
|
||||||
|
|
||||||
func Language() string {
|
func Language() string {
|
||||||
return viseconfig.DefaultLanguage
|
return viseconfig.DefaultLanguage
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,22 +24,21 @@ func main() {
|
|||||||
config.LoadConfig()
|
config.LoadConfig()
|
||||||
|
|
||||||
var sessionId string
|
var sessionId string
|
||||||
var override config.Override
|
var connStr string
|
||||||
|
|
||||||
flag.StringVar(&sessionId, "session-id", "075xx2123", "session id")
|
flag.StringVar(&sessionId, "session-id", "075xx2123", "session id")
|
||||||
flag.StringVar(override.DbConn, "c", "?", "default connection string (replaces all unspecified strings)")
|
flag.StringVar(&connStr, "c", "", "connection string")
|
||||||
flag.StringVar(override.ResourceConn, "resource", "?", "resource connection string")
|
|
||||||
flag.StringVar(override.UserConn, "userdata", "?", "userdata store connection string")
|
|
||||||
flag.StringVar(override.StateConn, "state", "?", "state store connection string")
|
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
config.Apply(&override)
|
|
||||||
conns, err := config.GetConns()
|
if connStr == "" {
|
||||||
|
connStr = config.DbConn()
|
||||||
|
}
|
||||||
|
connData, err := storage.ToConnData(connStr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "conn specification error: %v\n", err)
|
fmt.Fprintf(os.Stderr, "connstr err: %v\n", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
ctx = context.WithValue(ctx, "SessionId", sessionId)
|
ctx = context.WithValue(ctx, "SessionId", sessionId)
|
||||||
|
|
||||||
@ -50,16 +49,16 @@ func main() {
|
|||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
x := cmd.NewCmd(sessionId, flagParser)
|
x := cmd.NewCmd(connData, sessionId, flagParser)
|
||||||
err = x.Parse(flag.Args())
|
err = x.Parse(flag.Args())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "cmd parse fail: %v\n", err)
|
fmt.Fprintf(os.Stderr, "cmd parse fail: %v\n", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
logg.Infof("start command", "conn", conns, "subcmd", x)
|
logg.Infof("start command", "conn", connData, "subcmd", x)
|
||||||
|
|
||||||
menuStorageService := storage.NewMenuStorageService(conns)
|
menuStorageService := storage.NewMenuStorageService(connData, "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "menu storage service error: %v\n", err)
|
fmt.Fprintf(os.Stderr, "menu storage service error: %v\n", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
|||||||
@ -32,7 +32,7 @@ func formatItem(k []byte, v []byte, sessionId string) (string, error) {
|
|||||||
func main() {
|
func main() {
|
||||||
config.LoadConfig()
|
config.LoadConfig()
|
||||||
|
|
||||||
var override config.Override
|
var connStr string
|
||||||
var sessionId string
|
var sessionId string
|
||||||
var database string
|
var database string
|
||||||
var engineDebug bool
|
var engineDebug bool
|
||||||
@ -40,27 +40,27 @@ func main() {
|
|||||||
var first bool
|
var first bool
|
||||||
|
|
||||||
flag.StringVar(&sessionId, "session-id", "075xx2123", "session id")
|
flag.StringVar(&sessionId, "session-id", "075xx2123", "session id")
|
||||||
flag.StringVar(override.DbConn, "c", "?", "default connection string (replaces all unspecified strings)")
|
flag.StringVar(&connStr, "c", "", "connection string")
|
||||||
flag.StringVar(override.ResourceConn, "resource", "?", "resource connection string")
|
|
||||||
flag.StringVar(override.UserConn, "userdata", "?", "userdata store connection string")
|
|
||||||
flag.StringVar(override.StateConn, "state", "?", "state store connection string")
|
|
||||||
flag.BoolVar(&engineDebug, "d", false, "use engine debug output")
|
flag.BoolVar(&engineDebug, "d", false, "use engine debug output")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
config.Apply(&override)
|
if connStr == "" {
|
||||||
conns, err := config.GetConns()
|
connStr = config.DbConn()
|
||||||
|
}
|
||||||
|
connData, err := storage.ToConnData(connStr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "conn specification error: %v\n", err)
|
fmt.Fprintf(os.Stderr, "connstr err: %v\n", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
logg.Infof("start command", "conn", conns)
|
logg.Infof("start command", "conn", connData)
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
ctx = context.WithValue(ctx, "SessionId", sessionId)
|
ctx = context.WithValue(ctx, "SessionId", sessionId)
|
||||||
ctx = context.WithValue(ctx, "Database", database)
|
ctx = context.WithValue(ctx, "Database", database)
|
||||||
|
|
||||||
menuStorageService := storage.NewMenuStorageService(conns)
|
resourceDir := scriptDir
|
||||||
|
menuStorageService := storage.NewMenuStorageService(connData, resourceDir)
|
||||||
|
|
||||||
store, err := menuStorageService.GetUserdataDb(ctx)
|
store, err := menuStorageService.GetUserdataDb(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@ -22,8 +22,9 @@ type Cmd struct {
|
|||||||
exec func(ctx context.Context, ss storage.StorageService) error
|
exec func(ctx context.Context, ss storage.StorageService) error
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewCmd(sessionId string, flagParser *application.FlagManager) *Cmd {
|
func NewCmd(conn storage.ConnData, sessionId string, flagParser *application.FlagManager) *Cmd {
|
||||||
return &Cmd{
|
return &Cmd{
|
||||||
|
conn: conn,
|
||||||
sessionId: sessionId,
|
sessionId: sessionId,
|
||||||
flagParser: flagParser,
|
flagParser: flagParser,
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,13 +10,11 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/gofrs/uuid"
|
"github.com/gofrs/uuid"
|
||||||
"git.defalsify.org/vise.git/logging"
|
|
||||||
"git.grassecon.net/grassrootseconomics/visedriver/testutil/driver"
|
"git.grassecon.net/grassrootseconomics/visedriver/testutil/driver"
|
||||||
"git.grassecon.net/grassrootseconomics/sarafu-vise/testutil"
|
"git.grassecon.net/grassrootseconomics/sarafu-vise/testutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
logg = logging.NewVanilla().WithDomain("menutraversaltest")
|
|
||||||
testData = driver.ReadData()
|
testData = driver.ReadData()
|
||||||
sessionID string
|
sessionID string
|
||||||
src = rand.NewSource(42)
|
src = rand.NewSource(42)
|
||||||
@ -24,6 +22,9 @@ var (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var groupTestFile = flag.String("test-file", "group_test.json", "The test file to use for running the group tests")
|
var groupTestFile = flag.String("test-file", "group_test.json", "The test file to use for running the group tests")
|
||||||
|
var database = flag.String("db", "gdbm", "Specify the database (gdbm or postgres)")
|
||||||
|
var connStr = flag.String("conn", ".test_state", "connection string")
|
||||||
|
var dbSchema = flag.String("schema", "test", "Specify the database schema (default test)")
|
||||||
|
|
||||||
func GenerateSessionId() string {
|
func GenerateSessionId() string {
|
||||||
uu := uuid.NewGenWithOptions(uuid.WithRandomReader(g))
|
uu := uuid.NewGenWithOptions(uuid.WithRandomReader(g))
|
||||||
@ -79,7 +80,12 @@ func extractSendAmount(response []byte) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestMain(m *testing.M) {
|
func TestMain(m *testing.M) {
|
||||||
|
// Parse the flags
|
||||||
|
flag.Parse()
|
||||||
sessionID = GenerateSessionId()
|
sessionID = GenerateSessionId()
|
||||||
|
// set the db
|
||||||
|
testutil.SetDatabase(*database, *connStr, *dbSchema)
|
||||||
|
|
||||||
// Cleanup the db after tests
|
// Cleanup the db after tests
|
||||||
defer testutil.CleanDatabase()
|
defer testutil.CleanDatabase()
|
||||||
|
|
||||||
@ -94,8 +100,7 @@ func TestAccountCreationSuccessful(t *testing.T) {
|
|||||||
for _, session := range sessions {
|
for _, session := range sessions {
|
||||||
groups := driver.FilterGroupsByName(session.Groups, "account_creation_successful")
|
groups := driver.FilterGroupsByName(session.Groups, "account_creation_successful")
|
||||||
for _, group := range groups {
|
for _, group := range groups {
|
||||||
for i, step := range group.Steps {
|
for _, step := range group.Steps {
|
||||||
logg.TraceCtxf(ctx, "executing step", "i", i, "step", step)
|
|
||||||
cont, err := en.Exec(ctx, []byte(step.Input))
|
cont, err := en.Exec(ctx, []byte(step.Input))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Test case '%s' failed at input '%s': %v", group.Name, step.Input, err)
|
t.Fatalf("Test case '%s' failed at input '%s': %v", group.Name, step.Input, err)
|
||||||
@ -137,8 +142,7 @@ func TestAccountRegistrationRejectTerms(t *testing.T) {
|
|||||||
for _, session := range sessions {
|
for _, session := range sessions {
|
||||||
groups := driver.FilterGroupsByName(session.Groups, "account_creation_reject_terms")
|
groups := driver.FilterGroupsByName(session.Groups, "account_creation_reject_terms")
|
||||||
for _, group := range groups {
|
for _, group := range groups {
|
||||||
for i, step := range group.Steps {
|
for _, step := range group.Steps {
|
||||||
logg.TraceCtxf(ctx, "executing step", "i", i, "step", step)
|
|
||||||
cont, err := en.Exec(ctx, []byte(step.Input))
|
cont, err := en.Exec(ctx, []byte(step.Input))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Test case '%s' failed at input '%s': %v", group.Name, step.Input, err)
|
t.Fatalf("Test case '%s' failed at input '%s': %v", group.Name, step.Input, err)
|
||||||
@ -173,8 +177,7 @@ func TestMainMenuHelp(t *testing.T) {
|
|||||||
for _, session := range sessions {
|
for _, session := range sessions {
|
||||||
groups := driver.FilterGroupsByName(session.Groups, "main_menu_help")
|
groups := driver.FilterGroupsByName(session.Groups, "main_menu_help")
|
||||||
for _, group := range groups {
|
for _, group := range groups {
|
||||||
for i, step := range group.Steps {
|
for _, step := range group.Steps {
|
||||||
logg.TraceCtxf(ctx, "executing step", "i", i, "step", step)
|
|
||||||
cont, err := en.Exec(ctx, []byte(step.Input))
|
cont, err := en.Exec(ctx, []byte(step.Input))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Test case '%s' failed at input '%s': %v", group.Name, step.Input, err)
|
t.Fatalf("Test case '%s' failed at input '%s': %v", group.Name, step.Input, err)
|
||||||
|
|||||||
@ -37,7 +37,7 @@ func (d *localEmitter) emit(ctx context.Context, msg apievent.Msg) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(ctx context.Context, storageService storage.StorageService) remote.AccountService {
|
func New(ctx context.Context, storageService storage.StorageService, conn storage.ConnData) remote.AccountService {
|
||||||
svc := devremote.NewDevAccountService(ctx, storageService)
|
svc := devremote.NewDevAccountService(ctx, storageService)
|
||||||
svc = svc.WithAutoVoucher(ctx, "FOO", 42)
|
svc = svc.WithAutoVoucher(ctx, "FOO", 42)
|
||||||
eu := event.NewEventsUpdater(svc, storageService)
|
eu := event.NewEventsUpdater(svc, storageService)
|
||||||
|
|||||||
@ -75,7 +75,8 @@ type SshRunner struct {
|
|||||||
Ctx context.Context
|
Ctx context.Context
|
||||||
Cfg engine.Config
|
Cfg engine.Config
|
||||||
FlagFile string
|
FlagFile string
|
||||||
Conn storage.Conns
|
Conn storage.ConnData
|
||||||
|
ResourceDir string
|
||||||
Debug bool
|
Debug bool
|
||||||
SrvKeyFile string
|
SrvKeyFile string
|
||||||
Host string
|
Host string
|
||||||
@ -147,7 +148,7 @@ func(s *SshRunner) Stop() error {
|
|||||||
|
|
||||||
func(s *SshRunner) GetEngine(sessionId string) (engine.Engine, func(), error) {
|
func(s *SshRunner) GetEngine(sessionId string) (engine.Engine, func(), error) {
|
||||||
ctx := s.Ctx
|
ctx := s.Ctx
|
||||||
menuStorageService := storage.NewMenuStorageService(s.Conn)
|
menuStorageService := storage.NewMenuStorageService(s.Conn, s.ResourceDir)
|
||||||
|
|
||||||
rs, err := menuStorageService.GetResource(ctx)
|
rs, err := menuStorageService.GetResource(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -179,7 +180,7 @@ func(s *SshRunner) GetEngine(sessionId string) (engine.Engine, func(), error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// TODO: clear up why pointer here and by-value other cmds
|
// TODO: clear up why pointer here and by-value other cmds
|
||||||
accountService := services.New(ctx, menuStorageService)
|
accountService := services.New(ctx, menuStorageService, s.Conn)
|
||||||
|
|
||||||
hl, err := lhs.GetHandler(accountService)
|
hl, err := lhs.GetHandler(accountService)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@ -4,15 +4,19 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
|
"net/url"
|
||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
testdataloader "github.com/peteole/testdata-loader"
|
||||||
"github.com/jackc/pgx/v5/pgxpool"
|
"github.com/jackc/pgx/v5/pgxpool"
|
||||||
"git.defalsify.org/vise.git/engine"
|
"git.defalsify.org/vise.git/engine"
|
||||||
|
"git.defalsify.org/vise.git/logging"
|
||||||
"git.defalsify.org/vise.git/resource"
|
"git.defalsify.org/vise.git/resource"
|
||||||
"git.grassecon.net/grassrootseconomics/sarafu-vise/config"
|
"git.grassecon.net/grassrootseconomics/visedriver/env"
|
||||||
|
"git.grassecon.net/grassrootseconomics/visedriver/config"
|
||||||
"git.grassecon.net/grassrootseconomics/sarafu-vise/handlers"
|
"git.grassecon.net/grassrootseconomics/sarafu-vise/handlers"
|
||||||
"git.grassecon.net/grassrootseconomics/visedriver/storage"
|
"git.grassecon.net/grassrootseconomics/visedriver/storage"
|
||||||
"git.grassecon.net/grassrootseconomics/sarafu-api/testutil/testservice"
|
"git.grassecon.net/grassrootseconomics/sarafu-api/testutil/testservice"
|
||||||
@ -21,58 +25,81 @@ import (
|
|||||||
"git.grassecon.net/grassrootseconomics/sarafu-vise/testutil/testtag"
|
"git.grassecon.net/grassrootseconomics/sarafu-vise/testutil/testtag"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
logg = logging.NewVanilla()
|
||||||
|
baseDir = testdataloader.GetBasePath()
|
||||||
|
scriptDir = path.Join(baseDir, "services", "registration")
|
||||||
|
setDbType string
|
||||||
|
setConnStr string
|
||||||
|
setDbSchema string
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
env.LoadEnvVariablesPath(baseDir)
|
||||||
|
config.LoadConfig()
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetDatabase updates the database used by TestEngine
|
||||||
|
func SetDatabase(database, connStr, dbSchema string) {
|
||||||
|
setDbType = database
|
||||||
|
setConnStr = connStr
|
||||||
|
setDbSchema = dbSchema
|
||||||
|
}
|
||||||
|
|
||||||
// CleanDatabase removes all test data from the database
|
// CleanDatabase removes all test data from the database
|
||||||
func CleanDatabase() {
|
func CleanDatabase() {
|
||||||
for _, v := range([]int8{
|
if setDbType == "postgres" {
|
||||||
storage.STORETYPE_STATE,
|
ctx := context.Background()
|
||||||
storage.STORETYPE_USER,
|
// Update the connection string with the new search path
|
||||||
}) {
|
updatedConnStr, err := updateSearchPath(setConnStr, setDbSchema)
|
||||||
conn := conns[v]
|
if err != nil {
|
||||||
logg.Infof("cleaning test database", "typ", v, "db", conn)
|
log.Fatalf("Failed to update search path: %v", err)
|
||||||
if conn.DbType() == storage.DBTYPE_POSTGRES {
|
}
|
||||||
ctx := context.Background()
|
|
||||||
// Update the connection string with the new search path
|
|
||||||
updatedConnStr := conn.String()
|
|
||||||
|
|
||||||
dbConn, err := pgxpool.New(ctx, updatedConnStr)
|
dbConn, err := pgxpool.New(ctx, updatedConnStr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("Failed to connect to database for cleanup: %v", err)
|
log.Fatalf("Failed to connect to database for cleanup: %v", err)
|
||||||
}
|
}
|
||||||
defer dbConn.Close()
|
defer dbConn.Close()
|
||||||
|
|
||||||
setDbSchema := conn.Domain()
|
query := fmt.Sprintf("DELETE FROM %s.kv_vise;", setDbSchema)
|
||||||
|
_, execErr := dbConn.Exec(ctx, query)
|
||||||
query := fmt.Sprintf("DELETE FROM %s.kv_vise;", setDbSchema)
|
if execErr != nil {
|
||||||
_, execErr := dbConn.Exec(ctx, query)
|
log.Printf("Failed to cleanup table %s.kv_vise: %v", setDbSchema, execErr)
|
||||||
if execErr != nil {
|
|
||||||
log.Printf("Failed to cleanup table %s.kv_vise: %v", setDbSchema, execErr)
|
|
||||||
} else {
|
|
||||||
log.Printf("Successfully cleaned up table %s.kv_vise", setDbSchema)
|
|
||||||
}
|
|
||||||
} else if conn.DbType() == storage.DBTYPE_FS || conn.DbType() == storage.DBTYPE_GDBM {
|
|
||||||
connStr, _ := filepath.Abs(conn.Path())
|
|
||||||
if err := os.RemoveAll(connStr); err != nil {
|
|
||||||
log.Fatalf("Failed to delete state store %v: %v", conn, err)
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
logg.Errorf("store cleanup not handled")
|
log.Printf("Successfully cleaned up table %s.kv_vise", setDbSchema)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
setConnStr, _ := filepath.Abs(setConnStr)
|
||||||
|
if err := os.RemoveAll(setConnStr); err != nil {
|
||||||
|
log.Fatalf("Failed to delete state store %s: %v", setConnStr, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// updateSearchPath updates the search_path (schema) to be used in the connection
|
||||||
|
func updateSearchPath(connStr string, newSearchPath string) (string, error) {
|
||||||
|
u, err := url.Parse(connStr)
|
||||||
|
if err != nil {
|
||||||
|
return "", fmt.Errorf("invalid connection string: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Parse the query parameters
|
||||||
|
q := u.Query()
|
||||||
|
|
||||||
|
// Update or add the search_path parameter
|
||||||
|
q.Set("search_path", newSearchPath)
|
||||||
|
|
||||||
|
// Rebuild the connection string with updated parameters
|
||||||
|
u.RawQuery = q.Encode()
|
||||||
|
|
||||||
|
return u.String(), nil
|
||||||
|
}
|
||||||
|
|
||||||
func TestEngine(sessionId string) (engine.Engine, func(), chan bool) {
|
func TestEngine(sessionId string) (engine.Engine, func(), chan bool) {
|
||||||
config.LoadConfig()
|
var err error
|
||||||
err := config.Apply(&override)
|
|
||||||
if err != nil {
|
|
||||||
panic(fmt.Errorf("args override fail: %v\n", err))
|
|
||||||
}
|
|
||||||
conns, err = config.GetConns()
|
|
||||||
if err != nil {
|
|
||||||
panic(fmt.Errorf("get conns fail: %v\n", err))
|
|
||||||
}
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
ctx = context.WithValue(ctx, "SessionId", sessionId)
|
ctx = context.WithValue(ctx, "SessionId", sessionId)
|
||||||
logg.InfoCtxf(ctx, "loaded engine setup", "conns", conns)
|
|
||||||
pfp := path.Join(scriptDir, "pp.csv")
|
pfp := path.Join(scriptDir, "pp.csv")
|
||||||
|
|
||||||
var eventChannel = make(chan bool)
|
var eventChannel = make(chan bool)
|
||||||
@ -84,8 +111,29 @@ func TestEngine(sessionId string) (engine.Engine, func(), chan bool) {
|
|||||||
FlagCount: uint32(128),
|
FlagCount: uint32(128),
|
||||||
}
|
}
|
||||||
|
|
||||||
menuStorageService := storage.NewMenuStorageService(conns)
|
if setDbType == "postgres" {
|
||||||
menuStorageService = menuStorageService.WithDb(resourceDb, storage.STORETYPE_RESOURCE)
|
setConnStr = config.DbConn
|
||||||
|
setConnStr, err = updateSearchPath(setConnStr, setDbSchema)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Error:", err)
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
setConnStr, err = filepath.Abs(setConnStr)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Fprintf(os.Stderr, "connstr err: %v", err)
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
conn, err := storage.ToConnData(setConnStr)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Fprintf(os.Stderr, "connstr parse err: %v", err)
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
resourceDir := scriptDir
|
||||||
|
menuStorageService := storage.NewMenuStorageService(conn, resourceDir)
|
||||||
|
|
||||||
rs, err := menuStorageService.GetResource(ctx)
|
rs, err := menuStorageService.GetResource(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -114,6 +162,7 @@ func TestEngine(sessionId string) (engine.Engine, func(), chan bool) {
|
|||||||
lhs, err := handlers.NewLocalHandlerService(ctx, pfp, true, dbResource, cfg, rs)
|
lhs, err := handlers.NewLocalHandlerService(ctx, pfp, true, dbResource, cfg, rs)
|
||||||
lhs.SetDataStore(&userDataStore)
|
lhs.SetDataStore(&userDataStore)
|
||||||
lhs.SetPersister(pe)
|
lhs.SetPersister(pe)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, err.Error())
|
fmt.Fprintf(os.Stderr, err.Error())
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
|||||||
@ -1,21 +0,0 @@
|
|||||||
// +build testfsdb
|
|
||||||
|
|
||||||
package testutil
|
|
||||||
|
|
||||||
import (
|
|
||||||
"os"
|
|
||||||
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
d, err := os.MkdirTemp("", "sarafu-vise-menutraversal-state-")
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
override.StateConn = &d
|
|
||||||
d, err = os.MkdirTemp("", "sarafu-vise-menutraversal-user-")
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
override.UserConn = &d
|
|
||||||
}
|
|
||||||
@ -1,32 +0,0 @@
|
|||||||
package testutil
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"path"
|
|
||||||
|
|
||||||
testdataloader "github.com/peteole/testdata-loader"
|
|
||||||
"git.defalsify.org/vise.git/logging"
|
|
||||||
fsdb "git.defalsify.org/vise.git/db/fs"
|
|
||||||
"git.defalsify.org/vise.git/db"
|
|
||||||
"git.grassecon.net/grassrootseconomics/visedriver/storage"
|
|
||||||
"git.grassecon.net/grassrootseconomics/sarafu-vise/config"
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
logg = logging.NewVanilla().WithDomain("sarafu-vise.testutil").WithContextKey("SessionId")
|
|
||||||
conns storage.Conns
|
|
||||||
resourceDb db.Db
|
|
||||||
baseDir = testdataloader.GetBasePath()
|
|
||||||
scriptDir = path.Join(baseDir, "services", "registration")
|
|
||||||
override config.Override
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
|
||||||
ctx := context.Background()
|
|
||||||
config.EnvPath = baseDir
|
|
||||||
resourceDb = fsdb.NewFsDb()
|
|
||||||
err := resourceDb.Connect(ctx, scriptDir)
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue
Block a user