github.com/influx6/npkg@v0.8.8/nenv/nenv_test.go (about) 1 package nenv_test 2 3 import ( 4 "strings" 5 "testing" 6 7 "github.com/stretchr/testify/require" 8 9 "github.com/influx6/npkg/nenv" 10 ) 11 12 func TestParseDotEnv(t *testing.T) { 13 var content = strings.NewReader(` 14 BADGER_MS=10ms 15 BADGER_MSI=msa 16 BADGER_IN_KEY=ricko 17 BADGER_DAY_OFF=tuesday 18 BAD_SUNDAY=rabbit 19 rick=rabbit 20 `) 21 22 var loader = &nenv.EnvReaderLoader{File: content} 23 var envs, err = nenv.LoadFrom("", loader) 24 25 require.NoError(t, err) 26 require.NotNil(t, envs) 27 28 require.False(t, envs.Has("sunday")) 29 require.False(t, envs.Has("ms")) 30 require.True(t, envs.Has("badger_msi")) 31 require.True(t, envs.Has("BADGER_in_key")) 32 require.True(t, envs.Has("BADGER_DAY_OFF")) 33 } 34 35 func TestEnv(t *testing.T) { 36 var loader = nenv.ListLoader([]string{ 37 "BADGER_MS=10ms", 38 "BADGER_MSI=msa", 39 "BADGER_IN_KEY=ricko", 40 "BADGER_DAY_OFF=tuesday", 41 "BAD_SUNDAY=rabbit", 42 "rick=rabbit", 43 }) 44 45 var envs, err = nenv.LoadFrom("", loader) 46 47 require.NoError(t, err) 48 require.NotNil(t, envs) 49 50 require.False(t, envs.Has("sunday")) 51 require.False(t, envs.Has("ms")) 52 require.True(t, envs.Has("badger_msi")) 53 require.True(t, envs.Has("BADGER_in_key")) 54 require.True(t, envs.Has("BADGER_DAY_OFF")) 55 } 56 57 func TestEnvWithPrefix(t *testing.T) { 58 var loader = nenv.ListLoader([]string{ 59 "BADGER_MS=10ms", 60 "BADGER_MSI=msa", 61 "BADGER_IN_KEY=ricko", 62 "BADGER_DAY_OFF=tuesday", 63 "BAD_SUNDAY=rabbit", 64 "rick=rabbit", 65 }) 66 67 var envs, err = nenv.LoadFrom("BADGER", loader) 68 require.NoError(t, err) 69 require.NotNil(t, envs) 70 71 require.False(t, envs.Has("sunday")) 72 require.True(t, envs.Has("ms")) 73 require.True(t, envs.Has("msi")) 74 require.True(t, envs.Has("in_key")) 75 require.True(t, envs.Has("day_off")) 76 }