diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-15 23:57:14 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-15 23:57:14 -0500 |
| commit | 546bcf9bbe651eaaa0129346536c9e7e98748555 (patch) | |
| tree | f152accb4bf9559c78d388665fed7738494783bb /tests/test-pearl-accounts.el | |
| parent | e749badfd974de42fe8d7cdbe2bfa4fa3e0771b2 (diff) | |
| download | pearl-546bcf9bbe651eaaa0129346536c9e7e98748555.tar.gz pearl-546bcf9bbe651eaaa0129346536c9e7e98748555.zip | |
fix(api): clear auth-source's negative cache on pearl-clear-cache
A key added to authinfo read as missing for up to 2h because auth-source caches the negative lookup and `pearl-clear-cache` only cleared pearl's own caches. It now also calls `auth-source-forget-all-cached`, and the auth-source miss tells the user to run `M-x pearl-clear-cache`. This is the 2026-06-01 live incident, where a freshly-synced Linear key kept erroring as unset.
Diffstat (limited to 'tests/test-pearl-accounts.el')
| -rw-r--r-- | tests/test-pearl-accounts.el | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/test-pearl-accounts.el b/tests/test-pearl-accounts.el index 4de9c2f..82f5e56 100644 --- a/tests/test-pearl-accounts.el +++ b/tests/test-pearl-accounts.el @@ -85,6 +85,15 @@ '(:auth-source :host "api.linear.app" :user "work") "work") :type 'user-error))) +(ert-deftest test-pearl-resolve-api-key-source-auth-miss-hints-at-cache () + "An auth-source miss hints at the negative cache, so a freshly added key is +recoverable via clear-cache rather than reading as permanently missing." + (cl-letf (((symbol-function 'auth-source-search) (lambda (&rest _) nil))) + (let ((err (should-error (pearl--resolve-api-key-source + '(:auth-source :host "api.linear.app" :user "work") "work") + :type 'user-error))) + (should (string-match-p "clear-cache" (error-message-string err)))))) + ;;; pearl--resolve-account (ert-deftest test-pearl-resolve-account-returns-full-context () |
