Maint: make VPN connection not specific to OpenVPN
- Add VPN field to ServerSelection struct - Set VPN type to server selection at start using VPN_TYPE - Change OpenVPNConnection to Connection with Type field - Rename Provider GetOpenVPNConnection to GetConnection - Rename GetTargetIPOpenVPNConnection to GetTargetIPConnection - Rename PickRandomOpenVPNConnection to PickRandomConnection - Add 'OpenVPN' prefix to OpenVPN specific methods on connection
This commit is contained in:
@@ -6,7 +6,7 @@ import (
|
||||
"github.com/qdm12/gluetun/internal/models"
|
||||
)
|
||||
|
||||
func PickRandomOpenVPNConnection(connections []models.OpenVPNConnection,
|
||||
source rand.Source) models.OpenVPNConnection {
|
||||
func PickRandomConnection(connections []models.Connection,
|
||||
source rand.Source) models.Connection {
|
||||
return connections[rand.New(source).Intn(len(connections))] //nolint:gosec
|
||||
}
|
||||
|
||||
@@ -8,19 +8,19 @@ import (
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func Test_PickRandomOpenVPNConnection(t *testing.T) {
|
||||
func Test_PickRandomConnection(t *testing.T) {
|
||||
t.Parallel()
|
||||
connections := []models.OpenVPNConnection{
|
||||
connections := []models.Connection{
|
||||
{Port: 1}, {Port: 2}, {Port: 3}, {Port: 4},
|
||||
}
|
||||
source := rand.NewSource(0)
|
||||
|
||||
connection := PickRandomOpenVPNConnection(connections, source)
|
||||
assert.Equal(t, models.OpenVPNConnection{Port: 3}, connection)
|
||||
connection := PickRandomConnection(connections, source)
|
||||
assert.Equal(t, models.Connection{Port: 3}, connection)
|
||||
|
||||
connection = PickRandomOpenVPNConnection(connections, source)
|
||||
assert.Equal(t, models.OpenVPNConnection{Port: 3}, connection)
|
||||
connection = PickRandomConnection(connections, source)
|
||||
assert.Equal(t, models.Connection{Port: 3}, connection)
|
||||
|
||||
connection = PickRandomOpenVPNConnection(connections, source)
|
||||
assert.Equal(t, models.OpenVPNConnection{Port: 2}, connection)
|
||||
connection = PickRandomConnection(connections, source)
|
||||
assert.Equal(t, models.Connection{Port: 2}, connection)
|
||||
}
|
||||
|
||||
@@ -10,8 +10,8 @@ import (
|
||||
|
||||
var ErrTargetIPNotFound = errors.New("target IP address not found")
|
||||
|
||||
func GetTargetIPOpenVPNConnection(connections []models.OpenVPNConnection,
|
||||
targetIP net.IP) (connection models.OpenVPNConnection, err error) {
|
||||
func GetTargetIPConnection(connections []models.Connection,
|
||||
targetIP net.IP) (connection models.Connection, err error) {
|
||||
for _, connection := range connections {
|
||||
if targetIP.Equal(connection.IP) {
|
||||
return connection, nil
|
||||
|
||||
Reference in New Issue
Block a user