github.com/tsmith1024/pop@v4.12.2+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 r.NoError(LoadConfigFile()) 16 if DialectSupported("sqlite3") { 17 r.Equal(5, len(Connections)) 18 } else { 19 r.Equal(4, len(Connections)) 20 } 21 } 22 23 func Test_AddLookupPaths(t *testing.T) { 24 r := require.New(t) 25 AddLookupPaths("./foo") 26 r.Contains(LookupPaths(), "./foo") 27 } 28 29 func Test_ParseConfig(t *testing.T) { 30 r := require.New(t) 31 config := strings.NewReader(` 32 mysql: 33 dialect: "mysql" 34 database: "pop_test" 35 host: "127.0.0.1" 36 port: "3306" 37 user: "root" 38 password: "root" 39 options: 40 readTimeout: 5s`) 41 conns, err := ParseConfig(config) 42 r.NoError(err) 43 r.Equal(1, len(conns)) 44 r.NotNil(conns["mysql"]) 45 r.Equal("mysql", conns["mysql"].Dialect) 46 r.Equal("pop_test", conns["mysql"].Database) 47 r.Equal("127.0.0.1", conns["mysql"].Host) 48 r.Equal("3306", conns["mysql"].Port) 49 r.Equal(envy.Get("MYSQL_USER", "root"), conns["mysql"].User) 50 r.Equal(envy.Get("MYSQL_PASSWORD", "root"), conns["mysql"].Password) 51 r.Equal("5s", conns["mysql"].Options["readTimeout"]) 52 }