Skip to content

Commit db8b382

Browse files
authored
Merge pull request #518 from yui-knk/add_test_for_addEnv
Add test cases for `addEnv` which is a bit complicated function
2 parents 1be4a58 + f79f28c commit db8b382

1 file changed

Lines changed: 50 additions & 0 deletions

File tree

frontend/dockerfile/dockerfile2llb/convert_test.go

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,3 +62,53 @@ COPY --from=0 f2 /
6262
_, _, err = Dockerfile2LLB(appcontext.Context(), []byte(df), ConvertOpt{})
6363
assert.Error(t, err)
6464
}
65+
66+
func TestAddEnv(t *testing.T) {
67+
// k exists in env as key
68+
// override = false
69+
env := []string{"key1=val1", "key2=val2"}
70+
result := addEnv(env, "key1", "value1", false)
71+
assert.Equal(t, []string{"key1=val1", "key2=val2"}, result)
72+
73+
// k exists in env as key
74+
// override = true
75+
env = []string{"key1=val1", "key2=val2"}
76+
result = addEnv(env, "key1", "value1", true)
77+
assert.Equal(t, []string{"key1=value1", "key2=val2"}, result)
78+
79+
// k does not exist in env as key
80+
// override = false
81+
env = []string{"key1=val1", "key2=val2"}
82+
result = addEnv(env, "key3", "val3", false)
83+
assert.Equal(t, []string{"key1=val1", "key2=val2", "key3=val3"}, result)
84+
85+
// k does not exist in env as key
86+
// override = true
87+
env = []string{"key1=val1", "key2=val2"}
88+
result = addEnv(env, "key3", "val3", true)
89+
assert.Equal(t, []string{"key1=val1", "key2=val2", "key3=val3"}, result)
90+
91+
// env has same keys
92+
// override = false
93+
env = []string{"key1=val1", "key1=val2"}
94+
result = addEnv(env, "key1", "value1", false)
95+
assert.Equal(t, []string{"key1=val1", "key1=val2"}, result)
96+
97+
// env has same keys
98+
// override = true
99+
env = []string{"key1=val1", "key1=val2"}
100+
result = addEnv(env, "key1", "value1", true)
101+
assert.Equal(t, []string{"key1=value1", "key1=val2"}, result)
102+
103+
// k matches with key only string in env
104+
// override = false
105+
env = []string{"key1=val1", "key2=val2", "key3"}
106+
result = addEnv(env, "key3", "val3", false)
107+
assert.Equal(t, []string{"key1=val1", "key2=val2", "key3"}, result)
108+
109+
// k matches with key only string in env
110+
// override = true
111+
env = []string{"key1=val1", "key2=val2", "key3"}
112+
result = addEnv(env, "key3", "val3", true)
113+
assert.Equal(t, []string{"key1=val1", "key2=val2", "key3=val3"}, result)
114+
}

0 commit comments

Comments
 (0)