@@ -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