summaryrefslogtreecommitdiff
path: root/cmd/kpod/create_cli.go
diff options
context:
space:
mode:
authorbaude <bbaude@redhat.com>2017-11-01 16:44:08 -0500
committerbaude <bbaude@redhat.com>2017-11-03 20:37:19 -0500
commit46d762176eafb748b2094bd518ecf66d86388779 (patch)
treeca73c03853f2fd05e7fd23a8acf29c01a8d41170 /cmd/kpod/create_cli.go
parent9f5fa7f2eb4c2a441dc224c45ba981d595ac3638 (diff)
downloadpodman-46d762176eafb748b2094bd518ecf66d86388779.tar.gz
podman-46d762176eafb748b2094bd518ecf66d86388779.tar.bz2
podman-46d762176eafb748b2094bd518ecf66d86388779.zip
create_cli_test.go: Unittests
Create unittests for the create_cli helper functions. As such, remove cli context usage from the functions to further divide between cli input and parsing. Also, simplifies unit testing. Signed-off-by: baude <bbaude@redhat.com>
Diffstat (limited to 'cmd/kpod/create_cli.go')
-rw-r--r--cmd/kpod/create_cli.go18
1 files changed, 12 insertions, 6 deletions
diff --git a/cmd/kpod/create_cli.go b/cmd/kpod/create_cli.go
index 996155ba0..1cc00adc5 100644
--- a/cmd/kpod/create_cli.go
+++ b/cmd/kpod/create_cli.go
@@ -4,13 +4,12 @@ import (
"strings"
"github.com/pkg/errors"
- "github.com/urfave/cli"
)
-func getAllLabels(cli *cli.Context) (map[string]string, error) {
+func getAllLabels(labelFile, inputLabels []string) (map[string]string, error) {
var labelValues []string
labels := make(map[string]string)
- labelValues, labelErr := readKVStrings(cli.StringSlice("label-file"), cli.StringSlice("label"))
+ labelValues, labelErr := readKVStrings(labelFile, inputLabels)
if labelErr != nil {
return labels, errors.Wrapf(labelErr, "unable to process labels from --label and label-file")
}
@@ -18,7 +17,7 @@ func getAllLabels(cli *cli.Context) (map[string]string, error) {
if len(labelValues) > 0 {
for _, i := range labelValues {
spliti := strings.Split(i, "=")
- if len(spliti) > 1 {
+ if len(spliti) < 2 {
return labels, errors.Errorf("labels must be in KEY=VALUE format: %s is invalid", i)
}
labels[spliti[0]] = spliti[1]
@@ -27,8 +26,8 @@ func getAllLabels(cli *cli.Context) (map[string]string, error) {
return labels, nil
}
-func getAllEnvironmentVariables(cli *cli.Context) ([]string, error) {
- env, err := readKVStrings(cli.StringSlice("env-file"), cli.StringSlice("env"))
+func getAllEnvironmentVariables(envFiles, envInput []string) ([]string, error) {
+ env, err := readKVStrings(envFiles, envInput)
if err != nil {
return []string{}, errors.Wrapf(err, "unable to process variables from --env and --env-file")
}
@@ -36,6 +35,13 @@ func getAllEnvironmentVariables(cli *cli.Context) ([]string, error) {
if len(env) == 0 {
env = append(env, defaultEnvVariables...)
}
+ // Each environment variable must be in the K=V format
+ for _,i := range env{
+ spliti := strings.Split(i, "=")
+ if len(spliti) != 2 {
+ return env, errors.Errorf("environment variables must be in the format KEY=VALUE: %s is invalid", i)
+ }
+ }
return env, nil
}