ipn: move ParseAutoExitNodeID from ipn/ipnlocal to ipn
So it can be used from the CLI without importing ipnlocal. While there, also remove isAutoExitNodeID, a wrapper around parseAutoExitNodeID that's no longer used. Updates tailscale/corp#29969 Updates #cleanup Signed-off-by: Nick Khyl <nickk@tailscale.com>
This commit is contained in:
@@ -4873,110 +4873,6 @@ func TestMinLatencyDERPregion(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestShouldAutoExitNode(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
exitNodeIDPolicyValue string
|
||||
expectedBool bool
|
||||
}{
|
||||
{
|
||||
name: "auto:any",
|
||||
exitNodeIDPolicyValue: "auto:any",
|
||||
expectedBool: true,
|
||||
},
|
||||
{
|
||||
name: "no auto prefix",
|
||||
exitNodeIDPolicyValue: "foo",
|
||||
expectedBool: false,
|
||||
},
|
||||
{
|
||||
name: "auto prefix but empty suffix",
|
||||
exitNodeIDPolicyValue: "auto:",
|
||||
expectedBool: false,
|
||||
},
|
||||
{
|
||||
name: "auto prefix no colon",
|
||||
exitNodeIDPolicyValue: "auto",
|
||||
expectedBool: false,
|
||||
},
|
||||
{
|
||||
name: "auto prefix unknown suffix",
|
||||
exitNodeIDPolicyValue: "auto:foo",
|
||||
expectedBool: true, // "auto:{unknown}" is treated as "auto:any"
|
||||
},
|
||||
}
|
||||
|
||||
syspolicy.RegisterWellKnownSettingsForTest(t)
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
got := isAutoExitNodeID(tailcfg.StableNodeID(tt.exitNodeIDPolicyValue))
|
||||
if got != tt.expectedBool {
|
||||
t.Fatalf("expected %v got %v for %v policy value", tt.expectedBool, got, tt.exitNodeIDPolicyValue)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseAutoExitNodeID(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
exitNodeID string
|
||||
wantOk bool
|
||||
wantExpr ipn.ExitNodeExpression
|
||||
}{
|
||||
{
|
||||
name: "empty expr",
|
||||
exitNodeID: "",
|
||||
wantOk: false,
|
||||
wantExpr: "",
|
||||
},
|
||||
{
|
||||
name: "no auto prefix",
|
||||
exitNodeID: "foo",
|
||||
wantOk: false,
|
||||
wantExpr: "",
|
||||
},
|
||||
{
|
||||
name: "auto:any",
|
||||
exitNodeID: "auto:any",
|
||||
wantOk: true,
|
||||
wantExpr: ipn.AnyExitNode,
|
||||
},
|
||||
{
|
||||
name: "auto:foo",
|
||||
exitNodeID: "auto:foo",
|
||||
wantOk: true,
|
||||
wantExpr: "foo",
|
||||
},
|
||||
{
|
||||
name: "auto prefix but empty suffix",
|
||||
exitNodeID: "auto:",
|
||||
wantOk: false,
|
||||
wantExpr: "",
|
||||
},
|
||||
{
|
||||
name: "auto prefix no colon",
|
||||
exitNodeID: "auto",
|
||||
wantOk: false,
|
||||
wantExpr: "",
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
gotExpr, gotOk := parseAutoExitNodeID(tailcfg.StableNodeID(tt.exitNodeID))
|
||||
if gotOk != tt.wantOk || gotExpr != tt.wantExpr {
|
||||
if tt.wantOk {
|
||||
t.Fatalf("got %v (%q); want %v (%q)", gotOk, gotExpr, tt.wantOk, tt.wantExpr)
|
||||
} else {
|
||||
t.Fatalf("got %v (%q); want false", gotOk, gotExpr)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestEnableAutoUpdates(t *testing.T) {
|
||||
lb := newTestLocalBackend(t)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user