diff options
author | baude <bbaude@redhat.com> | 2017-11-01 16:44:08 -0500 |
---|---|---|
committer | baude <bbaude@redhat.com> | 2017-11-03 20:37:19 -0500 |
commit | 46d762176eafb748b2094bd518ecf66d86388779 (patch) | |
tree | ca73c03853f2fd05e7fd23a8acf29c01a8d41170 /cmd/kpod/create_cli_test.go | |
parent | 9f5fa7f2eb4c2a441dc224c45ba981d595ac3638 (diff) | |
download | podman-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_test.go')
-rw-r--r-- | cmd/kpod/create_cli_test.go | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/cmd/kpod/create_cli_test.go b/cmd/kpod/create_cli_test.go new file mode 100644 index 000000000..928a5ce05 --- /dev/null +++ b/cmd/kpod/create_cli_test.go @@ -0,0 +1,98 @@ +package main + +import ( + "github.com/stretchr/testify/assert" + "io/ioutil" + "os" + "testing" +) + +var ( + Var1 = []string{"ONE=1", "TWO=2"} +) + +func createTmpFile(content []byte) (string, error) { + tmpfile, err := ioutil.TempFile(os.TempDir(), "unittest") + if err != nil { + return "", err + } + + if _, err := tmpfile.Write(content); err != nil { + return "", err + + } + if err := tmpfile.Close(); err != nil { + return "", err + } + return tmpfile.Name(), nil +} + +func TestConvertStringSliceToMap(t *testing.T) { + strSlice := []string{"BLAU=BLUE", "GELB=YELLOW"} + result, _ := convertStringSliceToMap(strSlice, "=") + assert.Equal(t, result["BLAU"], "BLUE") +} + +func TestConvertStringSliceToMapBadData(t *testing.T) { + strSlice := []string{"BLAU=BLUE", "GELB^YELLOW"} + _, err := convertStringSliceToMap(strSlice, "=") + assert.Error(t, err) +} + +func TestGetAllLabels(t *testing.T) { + fileLabels := []string{} + labels, _ := getAllLabels(fileLabels, Var1) + assert.Equal(t, len(labels), 2) +} + +func TestGetAllLabelsBadKeyValue(t *testing.T) { + inLabels := []string{"ONE1", "TWO=2"} + fileLabels := []string{} + _, err := getAllLabels(fileLabels, inLabels) + assert.Error(t, err, assert.AnError) +} + +func TestGetAllLabelsBadLabelFile(t *testing.T) { + fileLabels := []string{"/foobar5001/be"} + _, err := getAllLabels(fileLabels, Var1) + assert.Error(t, err, assert.AnError) +} + +func TestGetAllLabelsFile(t *testing.T) { + content := []byte("THREE=3") + tFile, err := createTmpFile(content) + defer os.Remove(tFile) + assert.NoError(t, err) + fileLabels := []string{tFile} + result, _ := getAllLabels(fileLabels, Var1) + assert.Equal(t, len(result), 3) +} + +func TestGetAllEnvironmentVariables(t *testing.T) { + fileEnvs := []string{} + result, _ := getAllEnvironmentVariables(fileEnvs, Var1) + assert.Equal(t, len(result), 2) +} + +func TestGetAllEnvironmentVariablesBadKeyValue(t *testing.T) { + inEnvs := []string{"ONE1", "TWO=2"} + fileEnvs := []string{} + _, err := getAllEnvironmentVariables(fileEnvs, inEnvs) + assert.Error(t, err, assert.AnError) +} + +func TestGetAllEnvironmentVariablesBadEnvFile(t *testing.T) { + fileEnvs := []string{"/foobar5001/be"} + _, err := getAllEnvironmentVariables(fileEnvs, Var1) + assert.Error(t, err, assert.AnError) +} + +func TestGetAllEnvironmentVariablesFile(t *testing.T) { + content := []byte("THREE=3") + tFile, err := createTmpFile(content) + defer os.Remove(tFile) + assert.NoError(t, err) + fileEnvs := []string{tFile} + result, _ := getAllEnvironmentVariables(fileEnvs, Var1) + assert.Equal(t, len(result), 3) +} |