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  }