mirror of
https://github.com/tailscale/tailscale.git
synced 2024-12-04 23:45:34 +00:00
39 lines
1.2 KiB
Go
39 lines
1.2 KiB
Go
|
// Copyright (c) Tailscale Inc & AUTHORS
|
||
|
// SPDX-License-Identifier: BSD-3-Clause
|
||
|
|
||
|
package policy
|
||
|
|
||
|
import "testing"
|
||
|
|
||
|
func TestSelectControlURL(t *testing.T) {
|
||
|
tests := []struct {
|
||
|
reg, disk, want string
|
||
|
}{
|
||
|
// Modern default case.
|
||
|
{"", "", "https://controlplane.tailscale.com"},
|
||
|
|
||
|
// For a user who installed prior to Dec 2020, with
|
||
|
// stuff in their registry.
|
||
|
{"https://login.tailscale.com", "", "https://login.tailscale.com"},
|
||
|
|
||
|
// Ignore pre-Dec'20 LoginURL from installer if prefs
|
||
|
// prefs overridden manually to an on-prem control
|
||
|
// server.
|
||
|
{"https://login.tailscale.com", "http://on-prem", "http://on-prem"},
|
||
|
|
||
|
// Something unknown explicitly set in the registry always wins.
|
||
|
{"http://explicit-reg", "", "http://explicit-reg"},
|
||
|
{"http://explicit-reg", "http://on-prem", "http://explicit-reg"},
|
||
|
{"http://explicit-reg", "https://login.tailscale.com", "http://explicit-reg"},
|
||
|
{"http://explicit-reg", "https://controlplane.tailscale.com", "http://explicit-reg"},
|
||
|
|
||
|
// If nothing in the registry, disk wins.
|
||
|
{"", "http://on-prem", "http://on-prem"},
|
||
|
}
|
||
|
for _, tt := range tests {
|
||
|
if got := SelectControlURL(tt.reg, tt.disk); got != tt.want {
|
||
|
t.Errorf("(reg %q, disk %q) = %q; want %q", tt.reg, tt.disk, got, tt.want)
|
||
|
}
|
||
|
}
|
||
|
}
|