tests: fix issues with fetching config

This commit is contained in:
Jose Diaz-Gonzalez
2020-05-29 04:22:14 -04:00
parent 68d1a04215
commit a0cb7c560e
2 changed files with 31 additions and 12 deletions

View File

@@ -24,20 +24,25 @@ func main() {
subcommand := parts[len(parts)-1] subcommand := parts[len(parts)-1]
var err error var err error
var appName string
switch subcommand { switch subcommand {
case "bundle": case "bundle":
args := flag.NewFlagSet("config:bundle", flag.ExitOnError) args := flag.NewFlagSet("config:bundle", flag.ExitOnError)
global := args.Bool("global", false, "--global: use the global environment") global := args.Bool("global", false, "--global: use the global environment")
merged := args.Bool("merged", false, "--merged: merge app environment and global environment") merged := args.Bool("merged", false, "--merged: merge app environment and global environment")
args.Parse(os.Args[2:]) args.Parse(os.Args[2:])
appName := args.Arg(0) if !*global {
appName = args.Arg(0)
}
err = config.CommandBundle(appName, *global, *merged) err = config.CommandBundle(appName, *global, *merged)
case "clear": case "clear":
args := flag.NewFlagSet("config:clear", flag.ExitOnError) args := flag.NewFlagSet("config:clear", flag.ExitOnError)
global := args.Bool("global", false, "--global: use the global environment") global := args.Bool("global", false, "--global: use the global environment")
noRestart := args.Bool("no-restart", false, "--no-restart: no restart") noRestart := args.Bool("no-restart", false, "--no-restart: no restart")
args.Parse(os.Args[2:]) args.Parse(os.Args[2:])
appName := args.Arg(0) if !*global {
appName = args.Arg(0)
}
err = config.CommandClear(appName, *global, *noRestart) err = config.CommandClear(appName, *global, *noRestart)
case "export": case "export":
args := flag.NewFlagSet("config:export", flag.ExitOnError) args := flag.NewFlagSet("config:export", flag.ExitOnError)
@@ -45,14 +50,18 @@ func main() {
merged := args.Bool("merged", false, "--merged: merge app environment and global environment") merged := args.Bool("merged", false, "--merged: merge app environment and global environment")
format := args.String("format", "exports", "--format: [ exports | envfile | docker-args | shell | pretty | json | json-list ] which format to export as)") format := args.String("format", "exports", "--format: [ exports | envfile | docker-args | shell | pretty | json | json-list ] which format to export as)")
args.Parse(os.Args[2:]) args.Parse(os.Args[2:])
appName := args.Arg(0) if !*global {
appName = args.Arg(0)
}
err = config.CommandExport(appName, *global, *merged, *format) err = config.CommandExport(appName, *global, *merged, *format)
case "get": case "get":
args := flag.NewFlagSet("config:get", flag.ExitOnError) args := flag.NewFlagSet("config:get", flag.ExitOnError)
global := args.Bool("global", false, "--global: use the global environment") global := args.Bool("global", false, "--global: use the global environment")
quoted := args.Bool("quoted", false, "--quoted: get the value quoted") quoted := args.Bool("quoted", false, "--quoted: get the value quoted")
args.Parse(os.Args[2:]) args.Parse(os.Args[2:])
appName := args.Arg(0) if !*global {
appName = args.Arg(0)
}
keys := getKeys(args.Args(), *global) keys := getKeys(args.Args(), *global)
err = config.CommandGet(appName, keys, *global, *quoted) err = config.CommandGet(appName, keys, *global, *quoted)
case "keys": case "keys":
@@ -60,14 +69,18 @@ func main() {
global := args.Bool("global", false, "--global: use the global environment") global := args.Bool("global", false, "--global: use the global environment")
merged := args.Bool("merged", false, "--merged: merge app environment and global environment") merged := args.Bool("merged", false, "--merged: merge app environment and global environment")
args.Parse(os.Args[2:]) args.Parse(os.Args[2:])
appName := args.Arg(0) if !*global {
appName = args.Arg(0)
}
err = config.CommandKeys(appName, *global, *merged) err = config.CommandKeys(appName, *global, *merged)
case "show": case "show":
args := flag.NewFlagSet("config:show", flag.ExitOnError) args := flag.NewFlagSet("config:show", flag.ExitOnError)
global := args.Bool("global", false, "--global: use the global environment") global := args.Bool("global", false, "--global: use the global environment")
merged := args.Bool("merged", false, "--merged: display the app's environment merged with the global environment") merged := args.Bool("merged", false, "--merged: display the app's environment merged with the global environment")
args.Parse(os.Args[2:]) args.Parse(os.Args[2:])
appName := args.Arg(0) if !*global {
appName = args.Arg(0)
}
err = config.CommandShow(appName, *global, *merged, false, false) err = config.CommandShow(appName, *global, *merged, false, false)
case "set": case "set":
args := flag.NewFlagSet("config:set", flag.ExitOnError) args := flag.NewFlagSet("config:set", flag.ExitOnError)
@@ -75,7 +88,9 @@ func main() {
encoded := args.Bool("encoded", false, "--encoded: interpret VALUEs as base64") encoded := args.Bool("encoded", false, "--encoded: interpret VALUEs as base64")
noRestart := args.Bool("no-restart", false, "--no-restart: no restart") noRestart := args.Bool("no-restart", false, "--no-restart: no restart")
args.Parse(os.Args[2:]) args.Parse(os.Args[2:])
appName := args.Arg(0) if !*global {
appName = args.Arg(0)
}
pairs := getKeys(args.Args(), *global) pairs := getKeys(args.Args(), *global)
err = config.CommandSet(appName, pairs, *global, *noRestart, *encoded) err = config.CommandSet(appName, pairs, *global, *noRestart, *encoded)
case "unset": case "unset":
@@ -83,7 +98,9 @@ func main() {
global := args.Bool("global", false, "--global: use the global environment") global := args.Bool("global", false, "--global: use the global environment")
noRestart := args.Bool("no-restart", false, "--no-restart: no restart") noRestart := args.Bool("no-restart", false, "--no-restart: no restart")
args.Parse(os.Args[2:]) args.Parse(os.Args[2:])
appName := args.Arg(0) if !*global {
appName = args.Arg(0)
}
keys := getKeys(args.Args(), *global) keys := getKeys(args.Args(), *global)
err = config.CommandUnset(appName, keys, *global, *noRestart) err = config.CommandUnset(appName, keys, *global, *noRestart)
default: default:

View File

@@ -73,16 +73,18 @@ func CommandGet(appName string, keys []string, global bool, quoted bool) error {
return err return err
} }
if len(keys) != 1 {
return fmt.Errorf("Unexpected argument(s): %v", keys[1:])
}
if len(keys) == 0 { if len(keys) == 0 {
return errors.New("Expected: key") return errors.New("Expected: key")
} }
if len(keys) != 1 {
return fmt.Errorf("Unexpected argument(s): %v", keys[1:])
}
value, ok := Get(appName, keys[0]) value, ok := Get(appName, keys[0])
if !ok { if !ok {
return fmt.Errorf("No value for key %v", keys[0]) os.Exit(1)
return nil
} }
if quoted { if quoted {