Commit cb50077b authored by Noam Postavsky's avatar Noam Postavsky

Fix auth-source-delete (Bug#26184)

* lisp/auth-source.el (auth-source-delete): Fix `auth-source-search'
* test/lisp/auth-source-tests.el (auth-source-delete): New test.
parent a4767a66
......@@ -763,7 +763,7 @@ Calls `auth-source-search' with the :delete property in SPEC set to t.
The backend may not actually delete the entries.
Returns the deleted entries."
(auth-source-search (plist-put spec :delete t)))
(apply #'auth-source-search (plist-put spec :delete t)))
(defun auth-source-search-collection (collection value)
"Returns t is VALUE is t or COLLECTION is t or COLLECTION contains VALUE."
......@@ -289,5 +289,25 @@
(should (equal found-as-string (concat testname ": " needed)))))
(delete-file netrc-file)))
(ert-deftest auth-source-delete ()
(let* ((netrc-file (make-temp-file "auth-source-test" nil nil "\
machine a1 port a2 user a3 password a4
machine b1 port b2 user b3 password b4
machine c1 port c2 user c3 password c4\n"))
(auth-sources (list netrc-file))
(auth-source-do-cache nil)
(expected '((:host "a1" :port "a2" :user "a3" :secret "a4")))
(parameters '(:max 1 :host t)))
(let ((found (apply #'auth-source-delete parameters)))
(dolist (f found)
(let ((s (plist-get f :secret)))
(setf f (plist-put f :secret
(if (functionp s) (funcall s) s)))))
;; Note: The netrc backend doesn't delete anything, so
;; this is actually the same as `auth-source-search'.
(should (equal found expected)))
(delete-file netrc-file))))
(provide 'auth-source-tests)
;;; auth-source-tests.el ends here
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment