chore(config): use openvpn protocol string field instead of TCP bool

This commit is contained in:
Quentin McGaw
2024-03-23 14:56:42 +00:00
parent 62007bf1a1
commit 4d9c619b24
15 changed files with 49 additions and 81 deletions
@@ -22,7 +22,6 @@ func Test_Provider_GetConnection(t *testing.T) {
const provider = providers.Expressvpn
errTest := errors.New("test error")
boolPtr := func(b bool) *bool { return &b }
testCases := map[string]struct {
filteredServers []models.Server
@@ -45,7 +44,7 @@ func Test_Provider_GetConnection(t *testing.T) {
},
selection: settings.ServerSelection{
OpenVPN: settings.OpenVPNSelection{
TCP: boolPtr(true),
Protocol: constants.TCP,
},
}.WithDefaults(provider),
panicMessage: "no default OpenVPN TCP port is defined!",
@@ -56,7 +55,7 @@ func Test_Provider_GetConnection(t *testing.T) {
},
selection: settings.ServerSelection{
OpenVPN: settings.OpenVPNSelection{
TCP: boolPtr(false),
Protocol: constants.UDP,
},
}.WithDefaults(provider),
connection: models.Connection{
+2 -3
View File
@@ -23,7 +23,6 @@ func Test_Provider_GetConnection(t *testing.T) {
const provider = providers.Ivpn
errTest := errors.New("test error")
boolPtr := func(b bool) *bool { return &b }
testCases := map[string]struct {
filteredServers []models.Server
@@ -45,7 +44,7 @@ func Test_Provider_GetConnection(t *testing.T) {
},
selection: settings.ServerSelection{
OpenVPN: settings.OpenVPNSelection{
TCP: boolPtr(true),
Protocol: constants.TCP,
},
}.WithDefaults(provider),
connection: models.Connection{
@@ -61,7 +60,7 @@ func Test_Provider_GetConnection(t *testing.T) {
},
selection: settings.ServerSelection{
OpenVPN: settings.OpenVPNSelection{
TCP: boolPtr(false),
Protocol: constants.UDP,
},
}.WithDefaults(provider),
connection: models.Connection{
+2 -3
View File
@@ -23,7 +23,6 @@ func Test_Provider_GetConnection(t *testing.T) {
const provider = providers.Mullvad
errTest := errors.New("test error")
boolPtr := func(b bool) *bool { return &b }
testCases := map[string]struct {
filteredServers []models.Server
@@ -45,7 +44,7 @@ func Test_Provider_GetConnection(t *testing.T) {
},
selection: settings.ServerSelection{
OpenVPN: settings.OpenVPNSelection{
TCP: boolPtr(true),
Protocol: constants.TCP,
},
}.WithDefaults(provider),
connection: models.Connection{
@@ -61,7 +60,7 @@ func Test_Provider_GetConnection(t *testing.T) {
},
selection: settings.ServerSelection{
OpenVPN: settings.OpenVPNSelection{
TCP: boolPtr(false),
Protocol: constants.UDP,
},
}.WithDefaults(provider),
connection: models.Connection{
+2 -1
View File
@@ -4,6 +4,7 @@ import (
"testing"
"github.com/qdm12/gluetun/internal/configuration/settings"
"github.com/qdm12/gluetun/internal/constants"
"github.com/qdm12/gluetun/internal/constants/providers"
"github.com/qdm12/gluetun/internal/constants/vpn"
"github.com/qdm12/gluetun/internal/models"
@@ -50,7 +51,7 @@ func Test_FilterServers(t *testing.T) {
"filter by network protocol": {
selection: settings.ServerSelection{
OpenVPN: settings.OpenVPNSelection{
TCP: boolPtr(true),
Protocol: constants.TCP,
},
}.WithDefaults(providers.Ivpn),
servers: []models.Server{
+2 -1
View File
@@ -4,6 +4,7 @@ import (
"fmt"
"github.com/qdm12/gluetun/internal/configuration/settings"
"github.com/qdm12/gluetun/internal/constants"
"github.com/qdm12/gluetun/internal/constants/vpn"
)
@@ -22,7 +23,7 @@ func getPort(selection settings.ServerSelection,
if customPort > 0 {
return customPort
}
if *selection.OpenVPN.TCP {
if selection.OpenVPN.Protocol == constants.TCP {
checkDefined("OpenVPN TCP", defaultOpenVPNTCP)
return defaultOpenVPNTCP
}
+5 -4
View File
@@ -4,6 +4,7 @@ import (
"testing"
"github.com/qdm12/gluetun/internal/configuration/settings"
"github.com/qdm12/gluetun/internal/constants"
"github.com/qdm12/gluetun/internal/constants/vpn"
"github.com/stretchr/testify/assert"
)
@@ -40,7 +41,7 @@ func Test_GetPort(t *testing.T) {
VPN: vpn.OpenVPN,
OpenVPN: settings.OpenVPNSelection{
CustomPort: uint16Ptr(0),
TCP: boolPtr(false),
Protocol: constants.UDP,
},
},
defaultOpenVPNTCP: defaultOpenVPNTCP,
@@ -53,7 +54,7 @@ func Test_GetPort(t *testing.T) {
VPN: vpn.OpenVPN,
OpenVPN: settings.OpenVPNSelection{
CustomPort: uint16Ptr(0),
TCP: boolPtr(false),
Protocol: constants.UDP,
},
},
panics: "no default OpenVPN UDP port is defined!",
@@ -63,7 +64,7 @@ func Test_GetPort(t *testing.T) {
VPN: vpn.OpenVPN,
OpenVPN: settings.OpenVPNSelection{
CustomPort: uint16Ptr(0),
TCP: boolPtr(true),
Protocol: constants.TCP,
},
},
defaultOpenVPNTCP: defaultOpenVPNTCP,
@@ -74,7 +75,7 @@ func Test_GetPort(t *testing.T) {
VPN: vpn.OpenVPN,
OpenVPN: settings.OpenVPNSelection{
CustomPort: uint16Ptr(0),
TCP: boolPtr(true),
Protocol: constants.TCP,
},
},
panics: "no default OpenVPN TCP port is defined!",
+2 -2
View File
@@ -7,7 +7,7 @@ import (
)
func getProtocol(selection settings.ServerSelection) (protocol string) {
if selection.VPN == vpn.OpenVPN && *selection.OpenVPN.TCP {
if selection.VPN == vpn.OpenVPN && selection.OpenVPN.Protocol == constants.TCP {
return constants.TCP
}
return constants.UDP
@@ -19,7 +19,7 @@ func filterByProtocol(selection settings.ServerSelection,
case vpn.Wireguard:
return !serverUDP
default: // OpenVPN
wantTCP := *selection.OpenVPN.TCP
wantTCP := selection.OpenVPN.Protocol == constants.TCP
wantUDP := !wantTCP
return (wantTCP && !serverTCP) || (wantUDP && !serverUDP)
}
+6 -6
View File
@@ -23,7 +23,7 @@ func Test_getProtocol(t *testing.T) {
selection: settings.ServerSelection{
VPN: vpn.OpenVPN,
OpenVPN: settings.OpenVPNSelection{
TCP: boolPtr(false),
Protocol: constants.UDP,
},
},
protocol: constants.UDP,
@@ -32,7 +32,7 @@ func Test_getProtocol(t *testing.T) {
selection: settings.ServerSelection{
VPN: vpn.OpenVPN,
OpenVPN: settings.OpenVPNSelection{
TCP: boolPtr(true),
Protocol: constants.TCP,
},
},
protocol: constants.TCP,
@@ -84,7 +84,7 @@ func Test_filterByProtocol(t *testing.T) {
selection: settings.ServerSelection{
VPN: vpn.OpenVPN,
OpenVPN: settings.OpenVPNSelection{
TCP: boolPtr(false),
Protocol: constants.UDP,
},
},
serverUDP: true,
@@ -94,7 +94,7 @@ func Test_filterByProtocol(t *testing.T) {
selection: settings.ServerSelection{
VPN: vpn.OpenVPN,
OpenVPN: settings.OpenVPNSelection{
TCP: boolPtr(false),
Protocol: constants.UDP,
},
},
serverUDP: false,
@@ -104,7 +104,7 @@ func Test_filterByProtocol(t *testing.T) {
selection: settings.ServerSelection{
VPN: vpn.OpenVPN,
OpenVPN: settings.OpenVPNSelection{
TCP: boolPtr(true),
Protocol: constants.TCP,
},
},
serverTCP: true,
@@ -114,7 +114,7 @@ func Test_filterByProtocol(t *testing.T) {
selection: settings.ServerSelection{
VPN: vpn.OpenVPN,
OpenVPN: settings.OpenVPNSelection{
TCP: boolPtr(true),
Protocol: constants.TCP,
},
},
serverTCP: false,
+2 -3
View File
@@ -22,7 +22,6 @@ func Test_Provider_GetConnection(t *testing.T) {
const provider = providers.Wevpn
errTest := errors.New("test error")
boolPtr := func(b bool) *bool { return &b }
testCases := map[string]struct {
filteredServers []models.Server
@@ -45,7 +44,7 @@ func Test_Provider_GetConnection(t *testing.T) {
},
selection: settings.ServerSelection{
OpenVPN: settings.OpenVPNSelection{
TCP: boolPtr(true),
Protocol: constants.TCP,
},
}.WithDefaults(provider),
connection: models.Connection{
@@ -61,7 +60,7 @@ func Test_Provider_GetConnection(t *testing.T) {
},
selection: settings.ServerSelection{
OpenVPN: settings.OpenVPNSelection{
TCP: boolPtr(false),
Protocol: constants.UDP,
},
}.WithDefaults(provider),
connection: models.Connection{
@@ -23,7 +23,6 @@ func Test_Provider_GetConnection(t *testing.T) {
const provider = providers.Windscribe
errTest := errors.New("test error")
boolPtr := func(b bool) *bool { return &b }
testCases := map[string]struct {
filteredServers []models.Server
@@ -46,7 +45,7 @@ func Test_Provider_GetConnection(t *testing.T) {
},
selection: settings.ServerSelection{
OpenVPN: settings.OpenVPNSelection{
TCP: boolPtr(true),
Protocol: constants.TCP,
},
}.WithDefaults(provider),
connection: models.Connection{
@@ -62,7 +61,7 @@ func Test_Provider_GetConnection(t *testing.T) {
},
selection: settings.ServerSelection{
OpenVPN: settings.OpenVPNSelection{
TCP: boolPtr(false),
Protocol: constants.UDP,
},
}.WithDefaults(provider),
connection: models.Connection{