github.com/pjdufour-truss/pop@v4.11.2-0.20190705085848-4c90b0ff4d5a+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  }