mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
123 lines
2.9 KiB
Go
123 lines
2.9 KiB
Go
package engine
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestNewJob(t *testing.T) {
|
|
job := mkJob(t, "dummy", "--level=awesome")
|
|
if job.Name != "dummy" {
|
|
t.Fatalf("Wrong job name: %s", job.Name)
|
|
}
|
|
if len(job.Args) != 1 {
|
|
t.Fatalf("Wrong number of job arguments: %d", len(job.Args))
|
|
}
|
|
if job.Args[0] != "--level=awesome" {
|
|
t.Fatalf("Wrong job arguments: %s", job.Args[0])
|
|
}
|
|
}
|
|
|
|
func TestSetenv(t *testing.T) {
|
|
job := mkJob(t, "dummy")
|
|
job.Setenv("foo", "bar")
|
|
if val := job.Getenv("foo"); val != "bar" {
|
|
t.Fatalf("Getenv returns incorrect value: %s", val)
|
|
}
|
|
|
|
job.Setenv("bar", "")
|
|
if val := job.Getenv("bar"); val != "" {
|
|
t.Fatalf("Getenv returns incorrect value: %s", val)
|
|
}
|
|
if val := job.Getenv("nonexistent"); val != "" {
|
|
t.Fatalf("Getenv returns incorrect value: %s", val)
|
|
}
|
|
}
|
|
|
|
func TestSetenvBool(t *testing.T) {
|
|
job := mkJob(t, "dummy")
|
|
job.SetenvBool("foo", true)
|
|
if val := job.GetenvBool("foo"); !val {
|
|
t.Fatalf("GetenvBool returns incorrect value: %b", val)
|
|
}
|
|
|
|
job.SetenvBool("bar", false)
|
|
if val := job.GetenvBool("bar"); val {
|
|
t.Fatalf("GetenvBool returns incorrect value: %b", val)
|
|
}
|
|
|
|
if val := job.GetenvBool("nonexistent"); val {
|
|
t.Fatalf("GetenvBool returns incorrect value: %b", val)
|
|
}
|
|
}
|
|
|
|
func TestSetenvInt(t *testing.T) {
|
|
job := mkJob(t, "dummy")
|
|
|
|
job.SetenvInt("foo", -42)
|
|
if val := job.GetenvInt("foo"); val != -42 {
|
|
t.Fatalf("GetenvInt returns incorrect value: %d", val)
|
|
}
|
|
|
|
job.SetenvInt("bar", 42)
|
|
if val := job.GetenvInt("bar"); val != 42 {
|
|
t.Fatalf("GetenvInt returns incorrect value: %d", val)
|
|
}
|
|
if val := job.GetenvInt("nonexistent"); val != -1 {
|
|
t.Fatalf("GetenvInt returns incorrect value: %d", val)
|
|
}
|
|
}
|
|
|
|
func TestSetenvList(t *testing.T) {
|
|
job := mkJob(t, "dummy")
|
|
|
|
job.SetenvList("foo", []string{"bar"})
|
|
if val := job.GetenvList("foo"); len(val) != 1 || val[0] != "bar" {
|
|
t.Fatalf("GetenvList returns incorrect value: %v", val)
|
|
}
|
|
|
|
job.SetenvList("bar", nil)
|
|
if val := job.GetenvList("bar"); val != nil {
|
|
t.Fatalf("GetenvList returns incorrect value: %v", val)
|
|
}
|
|
if val := job.GetenvList("nonexistent"); val != nil {
|
|
t.Fatalf("GetenvList returns incorrect value: %v", val)
|
|
}
|
|
}
|
|
|
|
func TestImportEnv(t *testing.T) {
|
|
type dummy struct {
|
|
DummyInt int
|
|
DummyStringArray []string
|
|
}
|
|
|
|
job := mkJob(t, "dummy")
|
|
if err := job.ImportEnv(&dummy{42, []string{"foo", "bar"}}); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
dmy := dummy{}
|
|
if err := job.ExportEnv(&dmy); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if dmy.DummyInt != 42 {
|
|
t.Fatalf("Expected 42, got %d", dmy.DummyInt)
|
|
}
|
|
|
|
if len(dmy.DummyStringArray) != 2 || dmy.DummyStringArray[0] != "foo" || dmy.DummyStringArray[1] != "bar" {
|
|
t.Fatalf("Expected {foo, bar}, got %v", dmy.DummyStringArray)
|
|
}
|
|
|
|
}
|
|
|
|
func TestEnviron(t *testing.T) {
|
|
job := mkJob(t, "dummy")
|
|
job.Setenv("foo", "bar")
|
|
val, exists := job.Environ()["foo"]
|
|
if !exists {
|
|
t.Fatalf("foo not found in the environ")
|
|
}
|
|
if val != "bar" {
|
|
t.Fatalf("bar not found in the environ")
|
|
}
|
|
}
|