1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
|
package unit
import (
"context"
"testing"
"github.com/linode/linodego"
"github.com/stretchr/testify/assert"
)
func TestNodeBalancerConfig_List(t *testing.T) {
fixtureData, err := fixtures.GetFixture("nodebalancer_config_list")
assert.NoError(t, err)
var base ClientBaseCase
base.SetUp(t)
defer base.TearDown(t)
base.MockGet("nodebalancers/123/configs", fixtureData)
configs, err := base.Client.ListNodeBalancerConfigs(context.Background(), 123, nil)
assert.NoError(t, err)
assert.Len(t, configs, 2)
assert.Equal(t, 456, configs[0].ID)
assert.Equal(t, 80, configs[0].Port)
assert.Equal(t, linodego.ProtocolHTTP, configs[0].Protocol)
}
func TestNodeBalancerConfig_Get(t *testing.T) {
fixtureData, err := fixtures.GetFixture("nodebalancer_config_get")
assert.NoError(t, err)
var base ClientBaseCase
base.SetUp(t)
defer base.TearDown(t)
base.MockGet("nodebalancers/123/configs/456", fixtureData)
config, err := base.Client.GetNodeBalancerConfig(context.Background(), 123, 456)
assert.NoError(t, err)
assert.NotNil(t, config)
assert.Equal(t, 456, config.ID)
assert.Equal(t, 80, config.Port)
assert.Equal(t, linodego.ProtocolHTTP, config.Protocol)
}
func TestNodeBalancerConfig_Create(t *testing.T) {
fixtureData, err := fixtures.GetFixture("nodebalancer_config_create")
assert.NoError(t, err)
var base ClientBaseCase
base.SetUp(t)
defer base.TearDown(t)
base.MockPost("nodebalancers/123/configs", fixtureData)
createOpts := linodego.NodeBalancerConfigCreateOptions{
Port: 80,
Protocol: linodego.ProtocolHTTP,
Algorithm: linodego.AlgorithmRoundRobin,
Stickiness: linodego.StickinessTable,
}
config, err := base.Client.CreateNodeBalancerConfig(context.Background(), 123, createOpts)
assert.NoError(t, err)
assert.Equal(t, 456, config.ID)
assert.Equal(t, 80, config.Port)
assert.Equal(t, linodego.ProtocolHTTP, config.Protocol)
}
func TestNodeBalancerConfig_Update(t *testing.T) {
fixtureData, err := fixtures.GetFixture("nodebalancer_config_update")
assert.NoError(t, err)
var base ClientBaseCase
base.SetUp(t)
defer base.TearDown(t)
base.MockPut("nodebalancers/123/configs/456", fixtureData)
updateOpts := linodego.NodeBalancerConfigUpdateOptions{
Port: 443,
Protocol: linodego.ProtocolHTTPS,
Stickiness: linodego.StickinessNone,
}
config, err := base.Client.UpdateNodeBalancerConfig(context.Background(), 123, 456, updateOpts)
assert.NoError(t, err)
assert.Equal(t, 456, config.ID)
assert.Equal(t, 443, config.Port)
assert.Equal(t, linodego.ProtocolHTTPS, config.Protocol)
}
func TestNodeBalancerConfig_Delete(t *testing.T) {
var base ClientBaseCase
base.SetUp(t)
defer base.TearDown(t)
base.MockDelete("nodebalancers/123/configs/456", nil)
err := base.Client.DeleteNodeBalancerConfig(context.Background(), 123, 456)
assert.NoError(t, err)
}
func TestNodeBalancerConfig_Rebuild(t *testing.T) {
fixtureData, err := fixtures.GetFixture("nodebalancer_config_rebuild")
assert.NoError(t, err)
var base ClientBaseCase
base.SetUp(t)
defer base.TearDown(t)
base.MockPost("nodebalancers/123/configs/456/rebuild", fixtureData)
rebuildOpts := linodego.NodeBalancerConfigRebuildOptions{
Port: 443,
Protocol: linodego.ProtocolHTTPS,
Stickiness: linodego.StickinessNone,
}
config, err := base.Client.RebuildNodeBalancerConfig(context.Background(), 123, 456, rebuildOpts)
assert.NoError(t, err)
assert.Equal(t, 456, config.ID)
assert.Equal(t, 443, config.Port)
assert.Equal(t, linodego.ProtocolHTTPS, config.Protocol)
}
|