mirror of
https://github.com/amnezia-vpn/amneziawg-go.git
synced 2026-10-12 22:24:18 +03:00
69 lines
2.0 KiB
Go
69 lines
2.0 KiB
Go
package device
|
|
|
|
import (
|
|
"bytes"
|
|
"strings"
|
|
"testing"
|
|
|
|
"github.com/amnezia-vpn/amneziawg-go/conn/bindtest"
|
|
"github.com/amnezia-vpn/amneziawg-go/tun/tuntest"
|
|
)
|
|
|
|
func TestDeviceFallbackPortUAPI(t *testing.T) {
|
|
tunDevice := tuntest.NewChannelTUN()
|
|
binds := bindtest.NewChannelBinds()
|
|
device := NewDevice(tunDevice.TUN(), binds[0], NewLogger(LogLevelError, ""))
|
|
defer device.Close()
|
|
|
|
if err := device.IpcSet(uapiCfg("fallback_port", "8082")); err != nil {
|
|
t.Fatalf("set fallback_port: %v", err)
|
|
}
|
|
|
|
var got bytes.Buffer
|
|
if err := device.IpcGetOperation(&got); err != nil {
|
|
t.Fatalf("get uapi: %v", err)
|
|
}
|
|
if !strings.Contains(got.String(), "fallback_port=8082\n") {
|
|
t.Fatalf("IpcGetOperation output missing fallback_port: %q", got.String())
|
|
}
|
|
|
|
for _, value := range []string{"0", "65536"} {
|
|
if err := device.IpcSet(uapiCfg("fallback_port", value)); err == nil {
|
|
t.Fatalf("fallback_port=%s accepted, want error", value)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestDevicePreludeResendIntervalUAPI(t *testing.T) {
|
|
tunDevice := tuntest.NewChannelTUN()
|
|
binds := bindtest.NewChannelBinds()
|
|
device := NewDevice(tunDevice.TUN(), binds[0], NewLogger(LogLevelError, ""))
|
|
defer device.Close()
|
|
|
|
var got bytes.Buffer
|
|
if err := device.IpcGetOperation(&got); err != nil {
|
|
t.Fatalf("get default uapi: %v", err)
|
|
}
|
|
if !strings.Contains(got.String(), "prelude_resend_interval=120\n") {
|
|
t.Fatalf("IpcGetOperation output missing default prelude_resend_interval: %q", got.String())
|
|
}
|
|
|
|
if err := device.IpcSet(uapiCfg("prelude_resend_interval", "0")); err != nil {
|
|
t.Fatalf("set prelude_resend_interval=0: %v", err)
|
|
}
|
|
|
|
got.Reset()
|
|
if err := device.IpcGetOperation(&got); err != nil {
|
|
t.Fatalf("get updated uapi: %v", err)
|
|
}
|
|
if !strings.Contains(got.String(), "prelude_resend_interval=0\n") {
|
|
t.Fatalf("IpcGetOperation output missing disabled prelude_resend_interval: %q", got.String())
|
|
}
|
|
|
|
for _, value := range []string{"-1", "abc"} {
|
|
if err := device.IpcSet(uapiCfg("prelude_resend_interval", value)); err == nil {
|
|
t.Fatalf("prelude_resend_interval=%s accepted, want error", value)
|
|
}
|
|
}
|
|
}
|