From 5e18e5a400474b4c4c793b6562218e21fb6d2e88 Mon Sep 17 00:00:00 2001 From: wangzhengkui Date: Thu, 2 Apr 2026 15:29:51 +0800 Subject: [PATCH] fix(mail): use in-memory keyring in mail scope tests to avoid macOS keychain popups Mail scope tests (TestConfirmSendMissingScope*) were calling auth.SetStoredToken/RemoveStoredToken which accessed the real macOS keychain via go-keyring, causing persistent popup dialogs when the master key was missing. Add keyring.MockInit() to swap in an in-memory backend during tests. --- shortcuts/mail/mail_shortcut_test.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/shortcuts/mail/mail_shortcut_test.go b/shortcuts/mail/mail_shortcut_test.go index 88fa89e04..7d7ebb96c 100644 --- a/shortcuts/mail/mail_shortcut_test.go +++ b/shortcuts/mail/mail_shortcut_test.go @@ -12,6 +12,7 @@ import ( "time" "github.com/spf13/cobra" + "github.com/zalando/go-keyring" "github.com/larksuite/cli/internal/auth" "github.com/larksuite/cli/internal/cmdutil" @@ -32,6 +33,7 @@ func mailTestConfig() *core.CliConfig { func mailShortcutTestFactory(t *testing.T) (*cmdutil.Factory, *bytes.Buffer, *bytes.Buffer, *httpmock.Registry) { t.Helper() + keyring.MockInit() // use in-memory keyring to avoid macOS keychain popups t.Setenv("HOME", t.TempDir()) cfg := mailTestConfig()