github.com/keybase/client/go@v0.0.0-20240309051027-028f7c731f8b/updater/util/env_test.go (about) 1 // Copyright 2015 Keybase, Inc. All rights reserved. Use of 2 // this source code is governed by the included BSD license. 3 4 package util 5 6 import ( 7 "testing" 8 "time" 9 10 "github.com/stretchr/testify/assert" 11 ) 12 13 // testEnvFn returns value 14 func testEnvFn(k, v string) func(e string) string { 15 return func(e string) string { 16 if k == e { 17 return v 18 } 19 return "" 20 } 21 } 22 23 func TestEnvDuration(t *testing.T) { 24 duration := envDuration(testEnvFn("TEST", "1s"), "TEST", time.Minute) 25 assert.Equal(t, time.Second, duration) 26 duration = envDuration(testEnvFn("TEST", ""), "TEST", time.Minute) 27 assert.Equal(t, time.Minute, duration) 28 duration = envDuration(testEnvFn("TEST", "invalid"), "TEST", time.Minute) 29 assert.Equal(t, time.Minute, duration) 30 duration = EnvDuration("TEST", time.Hour) 31 assert.Equal(t, time.Hour, duration) 32 } 33 34 func TestEnvBool(t *testing.T) { 35 b := envBool(testEnvFn("TEST", "true"), "TEST", false) 36 assert.True(t, b) 37 b = envBool(testEnvFn("TEST", "1"), "TEST", false) 38 assert.True(t, b) 39 b = envBool(testEnvFn("TEST", "false"), "TEST", true) 40 assert.False(t, b) 41 b = envBool(testEnvFn("TEST", "0"), "TEST", false) 42 assert.False(t, b) 43 b = envBool(testEnvFn("TEST", ""), "TEST", false) 44 assert.False(t, b) 45 b = envBool(testEnvFn("TEST", ""), "TEST", true) 46 assert.True(t, b) 47 b = EnvBool("TEST", true) 48 assert.True(t, b) 49 }