github.com/RevenueMonster/sqlike@v1.0.6/sqlike/options/connect_test.go (about) 1 package options 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/require" 7 ) 8 9 func TestConnect(t *testing.T) { 10 rawConn := "user:password@/dbname" 11 opt := Connect() 12 opt.ApplyURI(rawConn) 13 14 { 15 require.Equal(t, rawConn, opt.raw) 16 require.Equal(t, rawConn, opt.RawConnStr()) 17 } 18 19 { 20 opt.SetUsername("root") 21 require.Equal(t, "root", opt.Username) 22 } 23 24 { 25 opt.SetPassword("abcd1234") 26 require.Equal(t, "abcd1234", opt.Password) 27 } 28 29 { 30 opt.SetProtocol("tcp") 31 require.Equal(t, "tcp", opt.Protocol) 32 } 33 34 { 35 opt.SetHost("127.0.0.1") 36 require.Equal(t, "127.0.0.1", opt.Host) 37 38 opt.SetHost("192.168.0.10") 39 require.Equal(t, "192.168.0.10", opt.Host) 40 } 41 42 { 43 opt.SetPort("3307") 44 require.Equal(t, "3307", opt.Port) 45 46 require.Panics(t, func() { 47 opt.SetPort("127.0.0.1") 48 }) 49 50 require.Panics(t, func() { 51 opt.SetPort("3306 7707") 52 }) 53 } 54 55 { 56 opt.SetSocket("unix()") 57 require.Equal(t, "unix()", opt.Socket) 58 } 59 60 { 61 opt.SetCharset("utf8") 62 require.Equal(t, "utf8", string(opt.Charset)) 63 } 64 65 { 66 opt.SetCollate("utf8_bin_general") 67 require.Equal(t, "utf8_bin_general", opt.Collate) 68 } 69 }