@@ -25,44 +25,33 @@ import (
2525 "github.com/rs/zerolog/log"
2626)
2727
28- var envForTest = map [string ]string {}
29-
3028func resetFlagsForTest () {
3129 flag .CommandLine = flag .NewFlagSet (os .Args [0 ], flag .ContinueOnError )
3230 os .Args = []string {"cmd" }
33- for key := range envForTest {
34- os .Unsetenv (key )
35- }
36- }
37-
38- func setEnvForTest (key string , val string ) {
39- os .Setenv (key , val )
40- envForTest [key ] = val
4131}
4232
4333func TestParseCliArgsEnvSuccess (t * testing.T ) {
44- resetFlagsForTest ()
45- setEnvForTest ("USE_PROVIDER_ID" , "true" )
46- setEnvForTest ("DELETE_LOCAL_DATA" , "false" )
47- setEnvForTest ("DRY_RUN" , "true" )
48- setEnvForTest ("ENABLE_SCHEDULED_EVENT_DRAINING" , "true" )
49- setEnvForTest ("ENABLE_SPOT_INTERRUPTION_DRAINING" , "false" )
50- setEnvForTest ("ENABLE_SQS_TERMINATION_DRAINING" , "false" )
51- setEnvForTest ("ENABLE_REBALANCE_MONITORING" , "true" )
52- setEnvForTest ("ENABLE_REBALANCE_DRAINING" , "true" )
53- setEnvForTest ("GRACE_PERIOD" , "12345" )
54- setEnvForTest ("IGNORE_DAEMON_SETS" , "false" )
55- setEnvForTest ("KUBERNETES_SERVICE_HOST" , "KUBERNETES_SERVICE_HOST" )
56- setEnvForTest ("KUBERNETES_SERVICE_PORT" , "KUBERNETES_SERVICE_PORT" )
57- setEnvForTest ("NODE_NAME" , "NODE_NAME" )
58- setEnvForTest ("NODE_TERMINATION_GRACE_PERIOD" , "12345" )
59- setEnvForTest ("INSTANCE_METADATA_URL" , "INSTANCE_METADATA_URL" )
60- setEnvForTest ("POD_TERMINATION_GRACE_PERIOD" , "12345" )
61- setEnvForTest ("WEBHOOK_URL" , "WEBHOOK_URL" )
62- setEnvForTest ("WEBHOOK_HEADERS" , "WEBHOOK_HEADERS" )
63- setEnvForTest ("WEBHOOK_TEMPLATE" , "WEBHOOK_TEMPLATE" )
64- setEnvForTest ("METADATA_TRIES" , "100" )
65- setEnvForTest ("CORDON_ONLY" , "false" )
34+ t .Setenv ("USE_PROVIDER_ID" , "true" )
35+ t .Setenv ("DELETE_LOCAL_DATA" , "false" )
36+ t .Setenv ("DRY_RUN" , "true" )
37+ t .Setenv ("ENABLE_SCHEDULED_EVENT_DRAINING" , "true" )
38+ t .Setenv ("ENABLE_SPOT_INTERRUPTION_DRAINING" , "false" )
39+ t .Setenv ("ENABLE_SQS_TERMINATION_DRAINING" , "false" )
40+ t .Setenv ("ENABLE_REBALANCE_MONITORING" , "true" )
41+ t .Setenv ("ENABLE_REBALANCE_DRAINING" , "true" )
42+ t .Setenv ("GRACE_PERIOD" , "12345" )
43+ t .Setenv ("IGNORE_DAEMON_SETS" , "false" )
44+ t .Setenv ("KUBERNETES_SERVICE_HOST" , "KUBERNETES_SERVICE_HOST" )
45+ t .Setenv ("KUBERNETES_SERVICE_PORT" , "KUBERNETES_SERVICE_PORT" )
46+ t .Setenv ("NODE_NAME" , "NODE_NAME" )
47+ t .Setenv ("NODE_TERMINATION_GRACE_PERIOD" , "12345" )
48+ t .Setenv ("INSTANCE_METADATA_URL" , "INSTANCE_METADATA_URL" )
49+ t .Setenv ("POD_TERMINATION_GRACE_PERIOD" , "12345" )
50+ t .Setenv ("WEBHOOK_URL" , "WEBHOOK_URL" )
51+ t .Setenv ("WEBHOOK_HEADERS" , "WEBHOOK_HEADERS" )
52+ t .Setenv ("WEBHOOK_TEMPLATE" , "WEBHOOK_TEMPLATE" )
53+ t .Setenv ("METADATA_TRIES" , "100" )
54+ t .Setenv ("CORDON_ONLY" , "false" )
6655 nthConfig , err := config .ParseCliArgs ()
6756 h .Ok (t , err )
6857
@@ -157,27 +146,27 @@ func TestParseCliArgsSuccess(t *testing.T) {
157146
158147func TestParseCliArgsOverrides (t * testing.T ) {
159148 resetFlagsForTest ()
160- setEnvForTest ("USE_PROVIDER_ID" , "true" )
161- setEnvForTest ("DELETE_LOCAL_DATA" , "true" )
162- setEnvForTest ("DRY_RUN" , "false" )
163- setEnvForTest ("ENABLE_SCHEDULED_EVENT_DRAINING" , "false" )
164- setEnvForTest ("ENABLE_SPOT_INTERRUPTION_DRAINING" , "true" )
165- setEnvForTest ("ENABLE_SQS_TERMINATION_DRAINING" , "false" )
166- setEnvForTest ("ENABLE_REBALANCE_MONITORING" , "true" )
167- setEnvForTest ("ENABLE_REBALANCE_DRAINING" , "true" )
168- setEnvForTest ("GRACE_PERIOD" , "99999" )
169- setEnvForTest ("IGNORE_DAEMON_SETS" , "true" )
170- setEnvForTest ("KUBERNETES_SERVICE_HOST" , "no" )
171- setEnvForTest ("KUBERNETES_SERVICE_PORT" , "no" )
172- setEnvForTest ("NODE_NAME" , "no" )
173- setEnvForTest ("NODE_TERMINATION_GRACE_PERIOD" , "99999" )
174- setEnvForTest ("INSTANCE_METADATA_URL" , "no" )
175- setEnvForTest ("POD_TERMINATION_GRACE_PERIOD" , "99999" )
176- setEnvForTest ("WEBHOOK_URL" , "no" )
177- setEnvForTest ("WEBHOOK_HEADERS" , "no" )
178- setEnvForTest ("WEBHOOK_TEMPLATE" , "no" )
179- setEnvForTest ("METADATA_TRIES" , "100" )
180- setEnvForTest ("CORDON_ONLY" , "true" )
149+ t . Setenv ("USE_PROVIDER_ID" , "true" )
150+ t . Setenv ("DELETE_LOCAL_DATA" , "true" )
151+ t . Setenv ("DRY_RUN" , "false" )
152+ t . Setenv ("ENABLE_SCHEDULED_EVENT_DRAINING" , "false" )
153+ t . Setenv ("ENABLE_SPOT_INTERRUPTION_DRAINING" , "true" )
154+ t . Setenv ("ENABLE_SQS_TERMINATION_DRAINING" , "false" )
155+ t . Setenv ("ENABLE_REBALANCE_MONITORING" , "true" )
156+ t . Setenv ("ENABLE_REBALANCE_DRAINING" , "true" )
157+ t . Setenv ("GRACE_PERIOD" , "99999" )
158+ t . Setenv ("IGNORE_DAEMON_SETS" , "true" )
159+ t . Setenv ("KUBERNETES_SERVICE_HOST" , "no" )
160+ t . Setenv ("KUBERNETES_SERVICE_PORT" , "no" )
161+ t . Setenv ("NODE_NAME" , "no" )
162+ t . Setenv ("NODE_TERMINATION_GRACE_PERIOD" , "99999" )
163+ t . Setenv ("INSTANCE_METADATA_URL" , "no" )
164+ t . Setenv ("POD_TERMINATION_GRACE_PERIOD" , "99999" )
165+ t . Setenv ("WEBHOOK_URL" , "no" )
166+ t . Setenv ("WEBHOOK_HEADERS" , "no" )
167+ t . Setenv ("WEBHOOK_TEMPLATE" , "no" )
168+ t . Setenv ("METADATA_TRIES" , "100" )
169+ t . Setenv ("CORDON_ONLY" , "true" )
181170 os .Args = []string {
182171 "cmd" ,
183172 "--use-provider-id=false" ,
@@ -238,9 +227,9 @@ func TestParseCliArgsOverrides(t *testing.T) {
238227
239228func TestParseCliArgsWithGracePeriodSuccess (t * testing.T ) {
240229 resetFlagsForTest ()
241- setEnvForTest ("POD_TERMINATION_GRACE_PERIOD" , "" )
242- setEnvForTest ("NODE_NAME" , "bla" )
243- setEnvForTest ("GRACE_PERIOD" , "12" )
230+ t . Setenv ("POD_TERMINATION_GRACE_PERIOD" , "" )
231+ t . Setenv ("NODE_NAME" , "bla" )
232+ t . Setenv ("GRACE_PERIOD" , "12" )
244233
245234 nthConfig , err := config .ParseCliArgs ()
246235 h .Ok (t , err )
@@ -249,32 +238,32 @@ func TestParseCliArgsWithGracePeriodSuccess(t *testing.T) {
249238
250239func TestParseCliArgsMissingNodeNameFailure (t * testing.T ) {
251240 resetFlagsForTest ()
252- setEnvForTest ("NODE_NAME" , "" )
241+ t . Setenv ("NODE_NAME" , "" )
253242 _ , err := config .ParseCliArgs ()
254243 h .Assert (t , err != nil , "Failed to return error when node-name not provided" )
255244}
256245
257246func TestParseCliArgsCreateFlagsFailure (t * testing.T ) {
258247 resetFlagsForTest ()
259- setEnvForTest ("DELETE_LOCAL_DATA" , "something not true or false" )
248+ t . Setenv ("DELETE_LOCAL_DATA" , "something not true or false" )
260249 _ , err := config .ParseCliArgs ()
261250 h .Assert (t , err != nil , "Failed to return error when creating flags" )
262251}
263252
264253func TestParseCliArgsAWSSession (t * testing.T ) {
265254 resetFlagsForTest ()
266- setEnvForTest ("ENABLE_SQS_TERMINATION_DRAINING" , "true" )
267- setEnvForTest ("AWS_REGION" , "us-weast-1" )
268- setEnvForTest ("NODE_NAME" , "node" )
255+ t . Setenv ("ENABLE_SQS_TERMINATION_DRAINING" , "true" )
256+ t . Setenv ("AWS_REGION" , "us-weast-1" )
257+ t . Setenv ("NODE_NAME" , "node" )
269258 nthConfig , err := config .ParseCliArgs ()
270259 h .Ok (t , err )
271260 h .Assert (t , nthConfig .AWSRegion == "us-weast-1" , "Should find region as us-weast-1" )
272261}
273262
274263func TestPrint_Human (t * testing.T ) {
275264 resetFlagsForTest ()
276- setEnvForTest ("NODE_NAME" , "node" )
277- setEnvForTest ("JSON_LOGGING" , "false" )
265+ t . Setenv ("NODE_NAME" , "node" )
266+ t . Setenv ("JSON_LOGGING" , "false" )
278267 nthConfig , err := config .ParseCliArgs ()
279268 h .Ok (t , err )
280269 var printBuf bytes.Buffer
@@ -288,8 +277,8 @@ func TestPrint_Human(t *testing.T) {
288277
289278func TestPrint_JSON (t * testing.T ) {
290279 resetFlagsForTest ()
291- setEnvForTest ("NODE_NAME" , "node" )
292- setEnvForTest ("JSON_LOGGING" , "true" )
280+ t . Setenv ("NODE_NAME" , "node" )
281+ t . Setenv ("JSON_LOGGING" , "true" )
293282 nthConfig , err := config .ParseCliArgs ()
294283 h .Ok (t , err )
295284 var printBuf bytes.Buffer
0 commit comments