github.com/unionj-cloud/go-doudou@v1.3.8-0.20221011095552-0088008e5b31/toolkit/dotenv/dotenv_test.go (about) 1 package dotenv_test 2 3 import ( 4 "github.com/pkg/errors" 5 "github.com/stretchr/testify/require" 6 "github.com/unionj-cloud/go-doudou/toolkit/dotenv" 7 "io" 8 "os" 9 "testing" 10 ) 11 12 func TestLoadAsMap(t *testing.T) { 13 _ = os.Chdir("testdata") 14 f, _ := os.Open(".env") 15 result, err := dotenv.LoadAsMap(f) 16 require.NoError(t, err) 17 require.Equal(t, "6060", result["gdd.port"]) 18 require.Equal(t, "/api", result["gdd.route.root.path"]) 19 } 20 21 func ErrReader(err error) io.Reader { 22 return &errReader{err: err} 23 } 24 25 type errReader struct { 26 err error 27 } 28 29 func (r *errReader) Read(p []byte) (int, error) { 30 return 0, r.err 31 } 32 33 func TestLoadAsMapError(t *testing.T) { 34 _, err := dotenv.LoadAsMap(ErrReader(errors.New("test error"))) 35 require.Error(t, err) 36 } 37 38 func TestLoad(t *testing.T) { 39 _ = os.Chdir("testdata") 40 dotenv.Load("") 41 require.Equal(t, "6060", os.Getenv("GDD_PORT")) 42 require.Equal(t, "/api", os.Getenv("GDD_ROUTE_ROOT_PATH")) 43 }