mirror of
https://github.com/tailscale/tailscale.git
synced 2025-07-30 07:43:42 +00:00
cmd/tailscale/cli: Add a test for addServiceToPrefs
Signed-off-by: KevinLiang10 <37811973+KevinLiang10@users.noreply.github.com>
This commit is contained in:
parent
1ec61b9992
commit
37fbba047b
@ -12,6 +12,7 @@ import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"reflect"
|
||||
"slices"
|
||||
"strconv"
|
||||
"strings"
|
||||
"testing"
|
||||
@ -1180,6 +1181,54 @@ func TestCleanURLPath(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestAddServiceToPrefs(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
dnsName string
|
||||
startServices []string
|
||||
expected []string
|
||||
}{
|
||||
{
|
||||
name: "add service to empty prefs",
|
||||
dnsName: "svc:foo",
|
||||
expected: []string{"svc:foo"},
|
||||
},
|
||||
{
|
||||
name: "add service to existing prefs",
|
||||
dnsName: "svc:bar",
|
||||
startServices: []string{"svc:foo"},
|
||||
expected: []string{"svc:foo", "svc:bar"},
|
||||
},
|
||||
{
|
||||
name: "add existing service to prefs",
|
||||
dnsName: "svc:foo",
|
||||
startServices: []string{"svc:foo"},
|
||||
expected: []string{"svc:foo"},
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
lc := &fakeLocalServeClient{}
|
||||
ctx := t.Context()
|
||||
lc.EditPrefs(ctx, &ipn.MaskedPrefs{
|
||||
AdvertiseServicesSet: true,
|
||||
Prefs: ipn.Prefs{
|
||||
AdvertiseServices: tt.startServices,
|
||||
},
|
||||
})
|
||||
e := &serveEnv{lc: lc, bg: bgBoolFlag{true, false}}
|
||||
err := e.addServiceToPrefs(ctx, tt.dnsName)
|
||||
if err != nil {
|
||||
t.Fatalf("addServiceToPrefs(%q) returned unexpected error: %v", tt.dnsName, err)
|
||||
}
|
||||
if !slices.Equal(lc.prefs.AdvertiseServices, tt.expected) {
|
||||
t.Errorf("addServiceToPrefs(%q) = %v, want %v", tt.dnsName, lc.prefs.AdvertiseServices, tt.expected)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestMessageForPort(t *testing.T) {
|
||||
svcIPMap := tailcfg.ServiceIPMappings{
|
||||
"svc:foo": []netip.Addr{
|
||||
|
Loading…
x
Reference in New Issue
Block a user