containerd/oci/spec_opts_test.go
Paul Knopf b4c3cd7640
Add WithEnv and WithMount oci options
Signed-off-by: Paul Knopf <pauldotknopf@gmail.com>
2018-01-22 16:35:31 -05:00

74 lines
1.1 KiB
Go

package oci
import (
"testing"
specs "github.com/opencontainers/runtime-spec/specs-go"
)
func TestWithEnv(t *testing.T) {
t.Parallel()
s := specs.Spec{}
s.Process = &specs.Process{
Env: []string{"DEFAULT=test"},
}
WithEnv([]string{"env=1"})(nil, nil, nil, &s)
if len(s.Process.Env) != 2 {
t.Fatal("didn't append")
}
WithEnv([]string{"env2=1"})(nil, nil, nil, &s)
if len(s.Process.Env) != 3 {
t.Fatal("didn't append")
}
WithEnv([]string{"env2=2"})(nil, nil, nil, &s)
if s.Process.Env[2] != "env2=2" {
t.Fatal("could't update")
}
WithEnv([]string{"env2"})(nil, nil, nil, &s)
if len(s.Process.Env) != 2 {
t.Fatal("coudn't unset")
}
}
func TestWithMounts(t *testing.T) {
t.Parallel()
s := specs.Spec{
Mounts: []specs.Mount{
{
Source: "default-source",
Destination: "default-dest",
},
},
}
WithMounts([]specs.Mount{
{
Source: "new-source",
Destination: "new-dest",
},
})(nil, nil, nil, &s)
if len(s.Mounts) != 2 {
t.Fatal("didn't append")
}
if s.Mounts[1].Source != "new-source" {
t.Fatal("invaid mount")
}
if s.Mounts[1].Destination != "new-dest" {
t.Fatal("invaid mount")
}
}