mirror of
https://github.com/tailscale/tailscale.git
synced 2025-07-15 02:00:02 +00:00
cmd/tailscale/cli: add failing test for empty --operator= value bug
For #3808 Change-Id: I6e8709930f3e0211950157aecb88ad97beedc872 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
parent
36ea837736
commit
64bd0fc320
@ -784,6 +784,10 @@ func TestUpdatePrefs(t *testing.T) {
|
|||||||
curPrefs *ipn.Prefs
|
curPrefs *ipn.Prefs
|
||||||
env upCheckEnv // empty goos means "linux"
|
env upCheckEnv // empty goos means "linux"
|
||||||
|
|
||||||
|
// checkUpdatePrefsMutations, if non-nil, is run with the new prefs after
|
||||||
|
// updatePrefs might've mutated them (from applyImplicitPrefs).
|
||||||
|
checkUpdatePrefsMutations func(t *testing.T, newPrefs *ipn.Prefs)
|
||||||
|
|
||||||
wantSimpleUp bool
|
wantSimpleUp bool
|
||||||
wantJustEditMP *ipn.MaskedPrefs
|
wantJustEditMP *ipn.MaskedPrefs
|
||||||
wantErrSubtr string
|
wantErrSubtr string
|
||||||
@ -885,6 +889,28 @@ func TestUpdatePrefs(t *testing.T) {
|
|||||||
},
|
},
|
||||||
env: upCheckEnv{backendState: "Running"},
|
env: upCheckEnv{backendState: "Running"},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
// Issue 3808: explicitly empty --operator= should clear value.
|
||||||
|
name: "explicit_empty_operator",
|
||||||
|
flags: []string{"--operator="},
|
||||||
|
curPrefs: &ipn.Prefs{
|
||||||
|
ControlURL: "https://login.tailscale.com",
|
||||||
|
CorpDNS: true,
|
||||||
|
AllowSingleHosts: true,
|
||||||
|
NetfilterMode: preftype.NetfilterOn,
|
||||||
|
OperatorUser: "somebody",
|
||||||
|
},
|
||||||
|
env: upCheckEnv{user: "somebody", backendState: "Running"},
|
||||||
|
wantJustEditMP: &ipn.MaskedPrefs{
|
||||||
|
OperatorUserSet: true,
|
||||||
|
WantRunningSet: true,
|
||||||
|
},
|
||||||
|
checkUpdatePrefsMutations: func(t *testing.T, prefs *ipn.Prefs) {
|
||||||
|
if prefs.OperatorUser != "" {
|
||||||
|
t.Errorf("operator sent to backend should be empty; got %q", prefs.OperatorUser)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
@ -909,6 +935,9 @@ func TestUpdatePrefs(t *testing.T) {
|
|||||||
}
|
}
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
if tt.checkUpdatePrefsMutations != nil {
|
||||||
|
tt.checkUpdatePrefsMutations(t, newPrefs)
|
||||||
|
}
|
||||||
if simpleUp != tt.wantSimpleUp {
|
if simpleUp != tt.wantSimpleUp {
|
||||||
t.Fatalf("simpleUp=%v, want %v", simpleUp, tt.wantSimpleUp)
|
t.Fatalf("simpleUp=%v, want %v", simpleUp, tt.wantSimpleUp)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user