mirror of
https://github.com/netbirdio/netbird.git
synced 2024-12-15 19:31:06 +01:00
121 lines
2.7 KiB
Go
121 lines
2.7 KiB
Go
|
package NetBirdSDK
|
||
|
|
||
|
import (
|
||
|
"path/filepath"
|
||
|
"testing"
|
||
|
|
||
|
"github.com/netbirdio/netbird/client/internal"
|
||
|
)
|
||
|
|
||
|
func TestPreferences_DefaultValues(t *testing.T) {
|
||
|
cfgFile := filepath.Join(t.TempDir(), "netbird.json")
|
||
|
p := NewPreferences(cfgFile)
|
||
|
defaultVar, err := p.GetAdminURL()
|
||
|
if err != nil {
|
||
|
t.Fatalf("failed to read default value: %s", err)
|
||
|
}
|
||
|
|
||
|
if defaultVar != internal.DefaultAdminURL {
|
||
|
t.Errorf("invalid default admin url: %s", defaultVar)
|
||
|
}
|
||
|
|
||
|
defaultVar, err = p.GetManagementURL()
|
||
|
if err != nil {
|
||
|
t.Fatalf("failed to read default management URL: %s", err)
|
||
|
}
|
||
|
|
||
|
if defaultVar != internal.DefaultManagementURL {
|
||
|
t.Errorf("invalid default management url: %s", defaultVar)
|
||
|
}
|
||
|
|
||
|
var preSharedKey string
|
||
|
preSharedKey, err = p.GetPreSharedKey()
|
||
|
if err != nil {
|
||
|
t.Fatalf("failed to read default preshared key: %s", err)
|
||
|
}
|
||
|
|
||
|
if preSharedKey != "" {
|
||
|
t.Errorf("invalid preshared key: %s", preSharedKey)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestPreferences_ReadUncommitedValues(t *testing.T) {
|
||
|
exampleString := "exampleString"
|
||
|
cfgFile := filepath.Join(t.TempDir(), "netbird.json")
|
||
|
p := NewPreferences(cfgFile)
|
||
|
|
||
|
p.SetAdminURL(exampleString)
|
||
|
resp, err := p.GetAdminURL()
|
||
|
if err != nil {
|
||
|
t.Fatalf("failed to read admin url: %s", err)
|
||
|
}
|
||
|
|
||
|
if resp != exampleString {
|
||
|
t.Errorf("unexpected admin url: %s", resp)
|
||
|
}
|
||
|
|
||
|
p.SetManagementURL(exampleString)
|
||
|
resp, err = p.GetManagementURL()
|
||
|
if err != nil {
|
||
|
t.Fatalf("failed to read management url: %s", err)
|
||
|
}
|
||
|
|
||
|
if resp != exampleString {
|
||
|
t.Errorf("unexpected management url: %s", resp)
|
||
|
}
|
||
|
|
||
|
p.SetPreSharedKey(exampleString)
|
||
|
resp, err = p.GetPreSharedKey()
|
||
|
if err != nil {
|
||
|
t.Fatalf("failed to read preshared key: %s", err)
|
||
|
}
|
||
|
|
||
|
if resp != exampleString {
|
||
|
t.Errorf("unexpected preshared key: %s", resp)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestPreferences_Commit(t *testing.T) {
|
||
|
exampleURL := "https://myurl.com:443"
|
||
|
examplePresharedKey := "topsecret"
|
||
|
cfgFile := filepath.Join(t.TempDir(), "netbird.json")
|
||
|
p := NewPreferences(cfgFile)
|
||
|
|
||
|
p.SetAdminURL(exampleURL)
|
||
|
p.SetManagementURL(exampleURL)
|
||
|
p.SetPreSharedKey(examplePresharedKey)
|
||
|
|
||
|
err := p.Commit()
|
||
|
if err != nil {
|
||
|
t.Fatalf("failed to save changes: %s", err)
|
||
|
}
|
||
|
|
||
|
p = NewPreferences(cfgFile)
|
||
|
resp, err := p.GetAdminURL()
|
||
|
if err != nil {
|
||
|
t.Fatalf("failed to read admin url: %s", err)
|
||
|
}
|
||
|
|
||
|
if resp != exampleURL {
|
||
|
t.Errorf("unexpected admin url: %s", resp)
|
||
|
}
|
||
|
|
||
|
resp, err = p.GetManagementURL()
|
||
|
if err != nil {
|
||
|
t.Fatalf("failed to read management url: %s", err)
|
||
|
}
|
||
|
|
||
|
if resp != exampleURL {
|
||
|
t.Errorf("unexpected management url: %s", resp)
|
||
|
}
|
||
|
|
||
|
resp, err = p.GetPreSharedKey()
|
||
|
if err != nil {
|
||
|
t.Fatalf("failed to read preshared key: %s", err)
|
||
|
}
|
||
|
|
||
|
if resp != examplePresharedKey {
|
||
|
t.Errorf("unexpected preshared key: %s", resp)
|
||
|
}
|
||
|
}
|