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  }