vitess.io/vitess@v0.16.2/go/vt/vttablet/tabletserver/throttle/mysql/instance_key_test.go (about) 1 /* 2 Copyright 2017 GitHub Inc. 3 4 Licensed under MIT License. See https://github.com/github/freno/blob/master/LICENSE 5 */ 6 7 package mysql 8 9 import ( 10 "testing" 11 12 "github.com/stretchr/testify/assert" 13 ) 14 15 func TestNewRawInstanceKey(t *testing.T) { 16 { 17 key, err := newRawInstanceKey("127.0.0.1:3307") 18 assert.NoError(t, err) 19 assert.Equal(t, key.Hostname, "127.0.0.1") 20 assert.Equal(t, key.Port, 3307) 21 } 22 { 23 _, err := newRawInstanceKey("127.0.0.1:abcd") 24 assert.Error(t, err) 25 } 26 { 27 _, err := newRawInstanceKey("127.0.0.1:") 28 assert.Error(t, err) 29 } 30 { 31 _, err := newRawInstanceKey("127.0.0.1") 32 assert.Error(t, err) 33 } 34 } 35 36 func TestParseInstanceKey(t *testing.T) { 37 { 38 key, err := ParseInstanceKey("127.0.0.1:3307", 3306) 39 assert.NoError(t, err) 40 assert.Equal(t, "127.0.0.1", key.Hostname) 41 assert.Equal(t, 3307, key.Port) 42 } 43 { 44 key, err := ParseInstanceKey("127.0.0.1", 3306) 45 assert.NoError(t, err) 46 assert.Equal(t, "127.0.0.1", key.Hostname) 47 assert.Equal(t, 3306, key.Port) 48 } 49 } 50 51 func TestEquals(t *testing.T) { 52 { 53 expect := &InstanceKey{Hostname: "127.0.0.1", Port: 3306} 54 key, err := ParseInstanceKey("127.0.0.1", 3306) 55 assert.NoError(t, err) 56 assert.True(t, key.Equals(expect)) 57 } 58 } 59 60 func TestStringCode(t *testing.T) { 61 { 62 key := &InstanceKey{Hostname: "127.0.0.1", Port: 3306} 63 stringCode := key.StringCode() 64 assert.Equal(t, "127.0.0.1:3306", stringCode) 65 } 66 }