From 9643d63c6ed68a94da78401fe7dc444376ce589a Mon Sep 17 00:00:00 2001 From: Alex Dadgar Date: Fri, 25 Mar 2016 10:16:04 -0700 Subject: [PATCH] add test for precedence --- client/driver/env/env_test.go | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/client/driver/env/env_test.go b/client/driver/env/env_test.go index f2dcbccfa..de831d573 100644 --- a/client/driver/env/env_test.go +++ b/client/driver/env/env_test.go @@ -140,7 +140,8 @@ func TestEnvironment_AsList(t *testing.T) { env := NewTaskEnvironment(n). SetNetworks(networks). SetPortMap(portMap). - SetMeta(map[string]string{"foo": "baz"}).Build() + SetTaskGroupMeta(map[string]string{"foo": "bar", "baz": "bam"}). + SetTaskMeta(map[string]string{"foo": "baz"}).Build() act := env.EnvList() exp := []string{ @@ -148,6 +149,7 @@ func TestEnvironment_AsList(t *testing.T) { "NOMAD_ADDR_https=127.0.0.1:443", "NOMAD_HOST_PORT_https=443", "NOMAD_META_FOO=baz", + "NOMAD_META_BAZ=bam", } sort.Strings(act) sort.Strings(exp) @@ -225,3 +227,23 @@ func TestEnvironment_AppendHostEnvVars(t *testing.T) { t.Fatalf("Didn't filter environment variable %q", skip) } } + +func TestEnvironment_MetaPrecedence(t *testing.T) { + n := mock.Node() + env := NewTaskEnvironment(n). + SetJobMeta(map[string]string{"foo": "job", "bar": "job", "baz": "job"}). + SetTaskGroupMeta(map[string]string{"foo": "tg", "bar": "tg"}). + SetTaskMeta(map[string]string{"foo": "task"}).Build() + + act := env.EnvList() + exp := []string{ + "NOMAD_META_FOO=task", + "NOMAD_META_BAR=tg", + "NOMAD_META_BAZ=job", + } + sort.Strings(act) + sort.Strings(exp) + if !reflect.DeepEqual(act, exp) { + t.Fatalf("env.List() returned %v; want %v", act, exp) + } +}