1package engine
2
3import (
4 "reflect"
5 "testing"
6)
7
8func TestConstructEnvs(t *testing.T) {
9 tests := []struct {
10 name string
11 in map[string]string
12 want EnvVars
13 }{
14 {
15 name: "empty input",
16 in: make(map[string]string),
17 want: EnvVars{},
18 },
19 {
20 name: "single env var",
21 in: map[string]string{"FOO": "bar"},
22 want: EnvVars{"FOO=bar"},
23 },
24 {
25 name: "multiple env vars",
26 in: map[string]string{"FOO": "bar", "BAZ": "qux"},
27 want: EnvVars{"FOO=bar", "BAZ=qux"},
28 },
29 }
30
31 for _, tt := range tests {
32 t.Run(tt.name, func(t *testing.T) {
33 got := ConstructEnvs(tt.in)
34
35 if got == nil {
36 got = EnvVars{}
37 }
38
39 if !reflect.DeepEqual(got, tt.want) {
40 t.Errorf("ConstructEnvs() = %v, want %v", got, tt.want)
41 }
42 })
43 }
44}
45
46func TestAddEnv(t *testing.T) {
47 ev := EnvVars{}
48 ev.AddEnv("FOO", "bar")
49 ev.AddEnv("BAZ", "qux")
50
51 want := EnvVars{"FOO=bar", "BAZ=qux"}
52 if !reflect.DeepEqual(ev, want) {
53 t.Errorf("AddEnv result = %v, want %v", ev, want)
54 }
55}