summaryrefslogtreecommitdiff
path: root/cmd/podman/shared/create_cli_test.go
diff options
context:
space:
mode:
authorbaude <bbaude@redhat.com>2019-03-07 15:20:29 -0600
committerbaude <bbaude@redhat.com>2019-03-11 09:42:22 -0500
commit651520389d239f335248a27595d39a815ef95238 (patch)
tree819492990e69d0d5f5b9b276aa789e0d21e31297 /cmd/podman/shared/create_cli_test.go
parent9b42577c322b74906d4dfa64926d9f187e2e2976 (diff)
downloadpodman-651520389d239f335248a27595d39a815ef95238.tar.gz
podman-651520389d239f335248a27595d39a815ef95238.tar.bz2
podman-651520389d239f335248a27595d39a815ef95238.zip
preparation for remote-client create container
to prepare for being able to remotely run a container, we need to perform a refactor to get code out of main because it is not reusable. the shared location is a good starting spot though eventually some will likely end up in pkg/spec/ at some point. Signed-off-by: baude <bbaude@redhat.com>
Diffstat (limited to 'cmd/podman/shared/create_cli_test.go')
-rw-r--r--cmd/podman/shared/create_cli_test.go70
1 files changed, 70 insertions, 0 deletions
diff --git a/cmd/podman/shared/create_cli_test.go b/cmd/podman/shared/create_cli_test.go
new file mode 100644
index 000000000..fea1a2390
--- /dev/null
+++ b/cmd/podman/shared/create_cli_test.go
@@ -0,0 +1,70 @@
+package shared
+
+import (
+ "io/ioutil"
+ "os"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+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 TestValidateSysctl(t *testing.T) {
+ strSlice := []string{"net.core.test1=4", "kernel.msgmax=2"}
+ result, _ := validateSysctl(strSlice)
+ assert.Equal(t, result["net.core.test1"], "4")
+}
+
+func TestValidateSysctlBadSysctl(t *testing.T) {
+ strSlice := []string{"BLAU=BLUE", "GELB^YELLOW"}
+ _, err := validateSysctl(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{"=badValue", "="}
+ 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)
+}