github.com/kardianos/nomad@v0.1.3-0.20151022182107-b13df73ee850/client/driver/environment/vars_test.go (about) 1 package environment 2 3 import ( 4 "reflect" 5 "sort" 6 "testing" 7 ) 8 9 func TestEnvironment_AsList(t *testing.T) { 10 env := NewTaskEnivornment() 11 env.SetTaskIp("127.0.0.1") 12 env.SetPorts(map[string]int{"http": 80}) 13 env.SetMeta(map[string]string{"foo": "baz"}) 14 15 act := env.List() 16 exp := []string{"NOMAD_IP=127.0.0.1", "NOMAD_PORT_http=80", "NOMAD_META_FOO=baz"} 17 sort.Strings(act) 18 sort.Strings(exp) 19 if !reflect.DeepEqual(act, exp) { 20 t.Fatalf("env.List() returned %v; want %v", act, exp) 21 } 22 } 23 24 func TestEnvironment_ParseFromList(t *testing.T) { 25 input := []string{"foo=bar", "BAZ=baM"} 26 env, err := ParseFromList(input) 27 if err != nil { 28 t.Fatalf("ParseFromList(%#v) failed: %v", input, err) 29 } 30 31 exp := map[string]string{ 32 "foo": "bar", 33 "BAZ": "baM", 34 } 35 36 if len(env) != len(exp) { 37 t.Fatalf("ParseFromList(%#v) has length %v; want %v", input, len(env), len(exp)) 38 } 39 40 for k, v := range exp { 41 if actV, ok := env[k]; !ok { 42 t.Fatalf("ParseFromList(%#v) doesn't contain expected %v", input, k) 43 } else if actV != v { 44 t.Fatalf("ParseFromList(%#v) has incorrect value for %v; got %v; want %v", input, k, actV, v) 45 } 46 } 47 } 48 49 func TestEnvironment_ClearEnvvars(t *testing.T) { 50 env := NewTaskEnivornment() 51 env.SetTaskIp("127.0.0.1") 52 env.SetEnvvars(map[string]string{"foo": "baz", "bar": "bang"}) 53 54 act := env.List() 55 exp := []string{"NOMAD_IP=127.0.0.1", "bar=bang", "foo=baz"} 56 sort.Strings(act) 57 sort.Strings(exp) 58 if !reflect.DeepEqual(act, exp) { 59 t.Fatalf("env.List() returned %v; want %v", act, exp) 60 } 61 62 // Clear the environent variables. 63 env.ClearEnvvars() 64 65 act = env.List() 66 exp = []string{"NOMAD_IP=127.0.0.1"} 67 sort.Strings(act) 68 sort.Strings(exp) 69 if !reflect.DeepEqual(act, exp) { 70 t.Fatalf("env.List() returned %v; want %v", act, exp) 71 } 72 }