github.com/duskeagle/pop@v4.10.1-0.20190417200916-92f2b794aab5+incompatible/config_test.go (about) 1 package pop 2 3 import ( 4 "strings" 5 "testing" 6 7 "github.com/gobuffalo/envy" 8 9 "github.com/stretchr/testify/require" 10 ) 11 12 func Test_LoadsConnectionsFromConfig(t *testing.T) { 13 r := require.New(t) 14 15 conns := Connections 16 r.Equal(6, len(conns)) 17 } 18 19 func Test_AddLookupPaths(t *testing.T) { 20 r := require.New(t) 21 AddLookupPaths("./foo") 22 r.Contains(LookupPaths(), "./foo") 23 } 24 25 func Test_ParseConfig(t *testing.T) { 26 r := require.New(t) 27 config := strings.NewReader(` 28 mysql: 29 dialect: "mysql" 30 database: "pop_test" 31 host: {{ envOr "MYSQL_HOST" "127.0.0.1" }} 32 port: {{ envOr "MYSQL_PORT" "3306" }} 33 user: {{ envOr "MYSQL_USER" "root" }} 34 password: {{ envOr "MYSQL_PASSWORD" "root" }} 35 options: 36 readTimeout: 5s`) 37 conns, err := ParseConfig(config) 38 r.NoError(err) 39 r.Equal(1, len(conns)) 40 r.NotNil(conns["mysql"]) 41 r.Equal("mysql", conns["mysql"].Dialect) 42 r.Equal("pop_test", conns["mysql"].Database) 43 r.Equal("127.0.0.1", conns["mysql"].Host) 44 r.Equal("3306", conns["mysql"].Port) 45 r.Equal(envy.Get("MYSQL_USER", "root"), conns["mysql"].User) 46 r.Equal(envy.Get("MYSQL_PASSWORD", "root"), conns["mysql"].Password) 47 r.Equal("5s", conns["mysql"].Options["readTimeout"]) 48 }