Files
gluetun/internal/configuration/settings/settings_test.go

106 lines
3.1 KiB
Go
Raw Normal View History

package settings
import (
"testing"
"github.com/stretchr/testify/assert"
)
func Test_Settings_String(t *testing.T) {
t.Parallel()
withDefaults := func(s Settings) Settings {
s.SetDefaults()
return s
}
testCases := map[string]struct {
settings Settings
s string
}{
"default settings": {
settings: withDefaults(Settings{}),
s: `Settings summary:
VPN settings:
| VPN provider settings:
| | Name: private internet access
| | Server selection settings:
| | VPN type: openvpn
| | OpenVPN server selection settings:
| | Protocol: UDP
| | Private Internet Access encryption preset: strong
2022-01-07 15:12:49 +00:00
| OpenVPN settings:
| OpenVPN version: 2.6
| User: [not set]
| Password: [not set]
| Private Internet Access encryption preset: strong
| Network interface: tun0
| Run OpenVPN as: root
| Verbosity level: 1
DNS settings:
| Keep existing nameserver(s): no
| DNS server address to use: 127.0.0.1
| DNS over TLS settings:
| Enabled: yes
| Update period: every 24h0m0s
| Unbound settings:
| | Authoritative servers:
| | | Cloudflare
| | Caching: yes
| | IPv6: no
| | Verbosity level: 1
| | Verbosity details level: 0
| | Validation log level: 0
| | System user: root
| | Allowed networks:
| | 0.0.0.0/0
| | ::/0
| DNS filtering settings:
| Block malicious: yes
| Block ads: no
| Block surveillance: yes
Firewall settings:
| Enabled: yes
Log settings:
| Log level: INFO
Health settings:
| Server listening address: 127.0.0.1:9999
| Target address: cloudflare.com:443
| Duration to wait after success: 5s
| Read header timeout: 100ms
| Read timeout: 500ms
| VPN wait durations:
| Initial duration: 6s
| Additional duration: 5s
Shadowsocks server settings:
| Enabled: no
HTTP proxy settings:
| Enabled: no
Control server settings:
| Listening address: :8000
| Logging: yes
| Authentication file path: /gluetun/auth/config.toml
OS Alpine settings:
| Process UID: 1000
| Process GID: 1000
Public IP settings:
| Fetching: every 12h0m0s
| IP file path: /tmp/gluetun/ip
| Public IP data API: ipinfo
Version settings:
Enabled: yes`,
},
}
for name, testCase := range testCases {
testCase := testCase
t.Run(name, func(t *testing.T) {
t.Parallel()
s := testCase.settings.String()
assert.Equal(t, testCase.s, s)
})
}
}