From c0ad5277e6d3e883f0cad0c9388f268c3de6c2e8 Mon Sep 17 00:00:00 2001 From: Liu Chang Date: Wed, 29 Nov 2017 17:15:40 +0800 Subject: [PATCH] Adding unit tests for server/secrets.go Signed-off-by: Liu Chang --- server/fixtures/secret/testDataA | 1 + server/fixtures/secret/testDataB | 1 + server/secrets_test.go | 61 ++++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 server/fixtures/secret/testDataA create mode 100644 server/fixtures/secret/testDataB create mode 100644 server/secrets_test.go diff --git a/server/fixtures/secret/testDataA b/server/fixtures/secret/testDataA new file mode 100644 index 00000000..ec9068d4 --- /dev/null +++ b/server/fixtures/secret/testDataA @@ -0,0 +1 @@ +secretDataA \ No newline at end of file diff --git a/server/fixtures/secret/testDataB b/server/fixtures/secret/testDataB new file mode 100644 index 00000000..3ff8ea8f --- /dev/null +++ b/server/fixtures/secret/testDataB @@ -0,0 +1 @@ +secretDataB \ No newline at end of file diff --git a/server/secrets_test.go b/server/secrets_test.go new file mode 100644 index 00000000..e7e2a205 --- /dev/null +++ b/server/secrets_test.go @@ -0,0 +1,61 @@ +package server + +import ( + "testing" +) + +const ( + defaultError = "unable to get host and container dir" + secretDataPath = "fixtures/secret" + emptyPath = "fixtures/secret/empty" +) + +func TestGetMountsMap(t *testing.T) { + testCases := []struct { + Path, HostDir, CtrDir string + Error string + }{ + {"", "", "", defaultError}, + {"/tmp:/home/crio", "/tmp", "/home/crio", ""}, + {"crio/logs:crio/logs", "crio/logs", "crio/logs", ""}, + {"/tmp", "", "", defaultError}, + } + for _, c := range testCases { + hostDir, ctrDir, err := getMountsMap(c.Path) + if hostDir != c.HostDir || ctrDir != c.CtrDir || (err != nil && err.Error() != c.Error) { + t.Errorf("expect: (%v, %v, %v) \n but got: (%v, %v, %v) \n", + c.HostDir, c.CtrDir, c.Error, hostDir, ctrDir, err) + } + } +} + +func TestGetHostSecretData(t *testing.T) { + testCases := []struct { + Path string + Want []SecretData + }{ + { + "emptyPath", + []SecretData{}, + }, + { + secretDataPath, + []SecretData{ + {"testDataA", []byte("secretDataA")}, + {"testDataB", []byte("secretDataB")}, + }, + }, + } + for _, c := range testCases { + if secretData, err := getHostSecretData(c.Path); err != nil { + t.Error(err) + } else { + for index, data := range secretData { + if data.Name != c.Want[index].Name || string(data.Data) != string(c.Want[index].Data) { + t.Errorf("expect: (%v, %v) \n but got: (%v, %v) \n", + c.Want[index].Name, string(c.Want[index].Data), data.Name, string(data.Data)) + } + } + } + } +}