241 lines
5.3 KiB
Go
241 lines
5.3 KiB
Go
|
package config
|
||
|
|
||
|
import (
|
||
|
"github.com/spf13/viper"
|
||
|
"reflect"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func Test_multiHandlerConfig_HandlerConfigs(t *testing.T) {
|
||
|
type fields struct {
|
||
|
handlerName string
|
||
|
ports []uint16
|
||
|
listenAddress string
|
||
|
options *viper.Viper
|
||
|
}
|
||
|
tests := []struct {
|
||
|
name string
|
||
|
fields fields
|
||
|
want []HandlerConfig
|
||
|
}{
|
||
|
{
|
||
|
name: "Get empty array if no ports are set",
|
||
|
fields: fields{},
|
||
|
want: make([]HandlerConfig, 0),
|
||
|
},
|
||
|
{
|
||
|
name: "Get a single handler config if only one port is set",
|
||
|
fields: fields{
|
||
|
handlerName: "sampleHandler",
|
||
|
ports: []uint16{80},
|
||
|
listenAddress: "0.0.0.0",
|
||
|
options: nil,
|
||
|
},
|
||
|
want: []HandlerConfig{
|
||
|
&handlerConfig{
|
||
|
handlerName: "sampleHandler",
|
||
|
port: 80,
|
||
|
listenAddress: "0.0.0.0",
|
||
|
options: nil,
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
{
|
||
|
name: "Get multiple handler configs if only one port is set",
|
||
|
fields: fields{
|
||
|
handlerName: "sampleHandler",
|
||
|
ports: []uint16{80, 8080},
|
||
|
listenAddress: "0.0.0.0",
|
||
|
options: nil,
|
||
|
},
|
||
|
want: []HandlerConfig{
|
||
|
&handlerConfig{
|
||
|
handlerName: "sampleHandler",
|
||
|
port: 80,
|
||
|
listenAddress: "0.0.0.0",
|
||
|
options: nil,
|
||
|
},
|
||
|
&handlerConfig{
|
||
|
handlerName: "sampleHandler",
|
||
|
port: 8080,
|
||
|
listenAddress: "0.0.0.0",
|
||
|
options: nil,
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
}
|
||
|
for _, tt := range tests {
|
||
|
t.Run(tt.name, func(t *testing.T) {
|
||
|
m := multiHandlerConfig{
|
||
|
handlerName: tt.fields.handlerName,
|
||
|
ports: tt.fields.ports,
|
||
|
listenAddress: tt.fields.listenAddress,
|
||
|
options: tt.fields.options,
|
||
|
}
|
||
|
if got := m.HandlerConfigs(); !reflect.DeepEqual(got, tt.want) {
|
||
|
t.Errorf("HandlerConfigs() = %v, want %v", got, tt.want)
|
||
|
}
|
||
|
})
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func Test_multiHandlerConfig_HandlerName(t *testing.T) {
|
||
|
type fields struct {
|
||
|
handlerName string
|
||
|
ports []uint16
|
||
|
listenAddress string
|
||
|
options *viper.Viper
|
||
|
}
|
||
|
tests := []struct {
|
||
|
name string
|
||
|
fields fields
|
||
|
want string
|
||
|
}{
|
||
|
{
|
||
|
name: "Get empty handler name for uninitialized struct",
|
||
|
fields: fields{},
|
||
|
want: "",
|
||
|
},
|
||
|
{
|
||
|
name: "Get expected handler name for initialized struct",
|
||
|
fields: fields{
|
||
|
handlerName: "sampleHandler",
|
||
|
},
|
||
|
want: "sampleHandler",
|
||
|
},
|
||
|
}
|
||
|
for _, tt := range tests {
|
||
|
t.Run(tt.name, func(t *testing.T) {
|
||
|
m := multiHandlerConfig{
|
||
|
handlerName: tt.fields.handlerName,
|
||
|
ports: tt.fields.ports,
|
||
|
listenAddress: tt.fields.listenAddress,
|
||
|
options: tt.fields.options,
|
||
|
}
|
||
|
if got := m.HandlerName(); got != tt.want {
|
||
|
t.Errorf("HandlerName() = %v, want %v", got, tt.want)
|
||
|
}
|
||
|
})
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func Test_multiHandlerConfig_ListenAddress(t *testing.T) {
|
||
|
type fields struct {
|
||
|
handlerName string
|
||
|
ports []uint16
|
||
|
listenAddress string
|
||
|
options *viper.Viper
|
||
|
}
|
||
|
tests := []struct {
|
||
|
name string
|
||
|
fields fields
|
||
|
want string
|
||
|
}{
|
||
|
{
|
||
|
name: "Get empty ListenAddress for uninitialized struct",
|
||
|
fields: fields{},
|
||
|
want: "",
|
||
|
},
|
||
|
{
|
||
|
name: "Get expected ListenAddress for initialized struct",
|
||
|
fields: fields{
|
||
|
listenAddress: "0.0.0.0",
|
||
|
},
|
||
|
want: "0.0.0.0",
|
||
|
},
|
||
|
}
|
||
|
for _, tt := range tests {
|
||
|
t.Run(tt.name, func(t *testing.T) {
|
||
|
m := multiHandlerConfig{
|
||
|
handlerName: tt.fields.handlerName,
|
||
|
ports: tt.fields.ports,
|
||
|
listenAddress: tt.fields.listenAddress,
|
||
|
options: tt.fields.options,
|
||
|
}
|
||
|
if got := m.ListenAddress(); got != tt.want {
|
||
|
t.Errorf("ListenAddress() = %v, want %v", got, tt.want)
|
||
|
}
|
||
|
})
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func Test_multiHandlerConfig_Options(t *testing.T) {
|
||
|
type fields struct {
|
||
|
handlerName string
|
||
|
ports []uint16
|
||
|
listenAddress string
|
||
|
options *viper.Viper
|
||
|
}
|
||
|
tests := []struct {
|
||
|
name string
|
||
|
fields fields
|
||
|
want *viper.Viper
|
||
|
}{
|
||
|
{
|
||
|
name: "Get nil Options for uninitialized struct",
|
||
|
fields: fields{},
|
||
|
want: nil,
|
||
|
},
|
||
|
{
|
||
|
name: "Get expected Options for initialized struct",
|
||
|
fields: fields{
|
||
|
options: viper.New(),
|
||
|
},
|
||
|
want: viper.New(),
|
||
|
},
|
||
|
}
|
||
|
for _, tt := range tests {
|
||
|
t.Run(tt.name, func(t *testing.T) {
|
||
|
m := multiHandlerConfig{
|
||
|
handlerName: tt.fields.handlerName,
|
||
|
ports: tt.fields.ports,
|
||
|
listenAddress: tt.fields.listenAddress,
|
||
|
options: tt.fields.options,
|
||
|
}
|
||
|
if got := m.Options(); !reflect.DeepEqual(got, tt.want) {
|
||
|
t.Errorf("Options() = %v, want %v", got, tt.want)
|
||
|
}
|
||
|
})
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func Test_multiHandlerConfig_Ports(t *testing.T) {
|
||
|
type fields struct {
|
||
|
handlerName string
|
||
|
ports []uint16
|
||
|
listenAddress string
|
||
|
options *viper.Viper
|
||
|
}
|
||
|
tests := []struct {
|
||
|
name string
|
||
|
fields fields
|
||
|
want []uint16
|
||
|
}{
|
||
|
{
|
||
|
name: "Get empty Ports for uninitialized struct",
|
||
|
fields: fields{},
|
||
|
want: nil,
|
||
|
},
|
||
|
{
|
||
|
name: "Get expected Ports for initialized struct",
|
||
|
fields: fields{
|
||
|
ports: []uint16{80, 8080},
|
||
|
},
|
||
|
want: []uint16{80, 8080},
|
||
|
},
|
||
|
}
|
||
|
for _, tt := range tests {
|
||
|
t.Run(tt.name, func(t *testing.T) {
|
||
|
m := multiHandlerConfig{
|
||
|
handlerName: tt.fields.handlerName,
|
||
|
ports: tt.fields.ports,
|
||
|
listenAddress: tt.fields.listenAddress,
|
||
|
options: tt.fields.options,
|
||
|
}
|
||
|
if got := m.Ports(); !reflect.DeepEqual(got, tt.want) {
|
||
|
t.Errorf("Ports() = %v, want %v", got, tt.want)
|
||
|
}
|
||
|
})
|
||
|
}
|
||
|
}
|