mirror of
https://github.com/netbirdio/netbird.git
synced 2026-07-17 20:19:55 +00:00
41 lines
1.4 KiB
Go
41 lines
1.4 KiB
Go
package internal
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/netbirdio/netbird/client/internal/lazyconn"
|
|
)
|
|
|
|
func TestResolveLazyForce(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
env string
|
|
envSet bool
|
|
mdm lazyconn.State
|
|
want lazyForce
|
|
}{
|
|
{name: "env unset, mdm unset -> defer to management", mdm: lazyconn.StateUnset, want: lazyForceNone},
|
|
{name: "env on -> force on", env: "on", envSet: true, mdm: lazyconn.StateUnset, want: lazyForceOn},
|
|
{name: "env off -> force off", env: "off", envSet: true, mdm: lazyconn.StateUnset, want: lazyForceOff},
|
|
{name: "env unset, mdm on -> force on", mdm: lazyconn.StateOn, want: lazyForceOn},
|
|
{name: "env unset, mdm off -> force off", mdm: lazyconn.StateOff, want: lazyForceOff},
|
|
{name: "env on beats mdm off", env: "on", envSet: true, mdm: lazyconn.StateOff, want: lazyForceOn},
|
|
{name: "env off beats mdm on", env: "off", envSet: true, mdm: lazyconn.StateOn, want: lazyForceOff},
|
|
{name: "unrecognized env, mdm on -> mdm wins", env: "auto", envSet: true, mdm: lazyconn.StateOn, want: lazyForceOn},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
t.Setenv(lazyconn.EnvLazyConn, tt.env)
|
|
if !tt.envSet {
|
|
os.Unsetenv(lazyconn.EnvLazyConn)
|
|
}
|
|
|
|
if got := resolveLazyForce(tt.mdm); got != tt.want {
|
|
t.Fatalf("resolveLazyForce(%v) = %v, want %v", tt.mdm, got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|