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  }