2020-04-13 22:14:56 +00:00
|
|
|
package config
|
|
|
|
|
|
|
|
import (
|
2020-04-25 22:22:45 +00:00
|
|
|
"github.com/baez90/inetmock/pkg/api"
|
2020-04-13 22:14:56 +00:00
|
|
|
"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
|
2020-04-25 22:22:45 +00:00
|
|
|
want []api.HandlerConfig
|
2020-04-13 22:14:56 +00:00
|
|
|
}{
|
|
|
|
{
|
|
|
|
name: "Get empty array if no ports are set",
|
|
|
|
fields: fields{},
|
2020-04-25 22:22:45 +00:00
|
|
|
want: make([]api.HandlerConfig, 0),
|
2020-04-13 22:14:56 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
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,
|
|
|
|
},
|
2020-04-25 22:22:45 +00:00
|
|
|
want: []api.HandlerConfig{
|
|
|
|
api.NewHandlerConfig("sampleHandler", 80, "0.0.0.0", nil),
|
2020-04-13 22:14:56 +00:00
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
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,
|
|
|
|
},
|
2020-04-25 22:22:45 +00:00
|
|
|
want: []api.HandlerConfig{
|
|
|
|
api.NewHandlerConfig("sampleHandler", 80, "0.0.0.0", nil),
|
|
|
|
api.NewHandlerConfig("sampleHandler", 8080, "0.0.0.0", nil),
|
2020-04-13 22:14:56 +00:00
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
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)
|
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|