aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorTed Zlatanov2017-02-03 16:06:12 -0500
committerTed Zlatanov2017-04-27 17:37:58 -0400
commitbd60ee2ffc37b64a898d81184089b82afd55cae0 (patch)
tree7a9158a656ccd2ed62c58f1780996f7d71783ea5 /test
parent79c5ea9911a9aba7db0ba0e367e06507cee2fc02 (diff)
downloademacs-bd60ee2ffc37b64a898d81184089b82afd55cae0.tar.gz
emacs-bd60ee2ffc37b64a898d81184089b82afd55cae0.zip
auth-source: factor out parsers and add tests
* lisp/auth-source.el: Factor out the source parsers. Clean up comments. * test/lisp/auth-source-tests.el: Add tests.
Diffstat (limited to 'test')
-rw-r--r--test/lisp/auth-source-tests.el45
1 files changed, 27 insertions, 18 deletions
diff --git a/test/lisp/auth-source-tests.el b/test/lisp/auth-source-tests.el
index e73f55e2bfa..2634777c7db 100644
--- a/test/lisp/auth-source-tests.el
+++ b/test/lisp/auth-source-tests.el
@@ -32,6 +32,10 @@
32(defvar secrets-enabled t 32(defvar secrets-enabled t
33 "Enable the secrets backend to test its features.") 33 "Enable the secrets backend to test its features.")
34 34
35(defun auth-source-ensure-ignored-backend (source)
36 (auth-source-validate-backend source '((:source . "")
37 (:type . ignore))))
38
35(defun auth-source-validate-backend (source validation-alist) 39(defun auth-source-validate-backend (source validation-alist)
36 (let ((backend (auth-source-backend-parse source))) 40 (let ((backend (auth-source-backend-parse source)))
37 (should (auth-source-backend-p backend)) 41 (should (auth-source-backend-p backend))
@@ -119,15 +123,6 @@
119 (:search-function . auth-source-secrets-search) 123 (:search-function . auth-source-secrets-search)
120 (:create-function . auth-source-secrets-create))))) 124 (:create-function . auth-source-secrets-create)))))
121 125
122(ert-deftest auth-source-backend-parse-secrets-nil-source ()
123 (provide 'secrets) ; simulates the presence of the `secrets' package
124 (let ((secrets-enabled t))
125 (auth-source-validate-backend '(:source (:secrets nil))
126 '((:source . "session")
127 (:type . secrets)
128 (:search-function . auth-source-secrets-search)
129 (:create-function . auth-source-secrets-create)))))
130
131(ert-deftest auth-source-backend-parse-secrets-alias () 126(ert-deftest auth-source-backend-parse-secrets-alias ()
132 (provide 'secrets) ; simulates the presence of the `secrets' package 127 (provide 'secrets) ; simulates the presence of the `secrets' package
133 (let ((secrets-enabled t)) 128 (let ((secrets-enabled t))
@@ -162,17 +157,12 @@
162 (:search-function . auth-source-secrets-search) 157 (:search-function . auth-source-secrets-search)
163 (:create-function . auth-source-secrets-create)))))) 158 (:create-function . auth-source-secrets-create))))))
164 159
165;; TODO This test shows suspicious behavior of auth-source: the 160(ert-deftest auth-source-backend-parse-invalid-or-nil-source ()
166;; "secrets" source is used even though nothing in the input indicates
167;; that is what we want
168(ert-deftest auth-source-backend-parse-secrets-no-source ()
169 (provide 'secrets) ; simulates the presence of the `secrets' package 161 (provide 'secrets) ; simulates the presence of the `secrets' package
170 (let ((secrets-enabled t)) 162 (let ((secrets-enabled t))
171 (auth-source-validate-backend '(:source '(foo)) 163 (auth-source-ensure-ignored-backend nil)
172 '((:source . "session") 164 (auth-source-ensure-ignored-backend '(:source '(foo)))
173 (:type . secrets) 165 (auth-source-ensure-ignored-backend '(:source nil))))
174 (:search-function . auth-source-secrets-search)
175 (:create-function . auth-source-secrets-create)))))
176 166
177(defun auth-source--test-netrc-parse-entry (entry host user port) 167(defun auth-source--test-netrc-parse-entry (entry host user port)
178 "Parse a netrc entry from buffer." 168 "Parse a netrc entry from buffer."
@@ -219,5 +209,24 @@
219 ("login" . "user1") 209 ("login" . "user1")
220 ("machine" . "mymachine1")))))) 210 ("machine" . "mymachine1"))))))
221 211
212(ert-deftest auth-source-test-format-prompt ()
213 (should (equal (auth-source-format-prompt "test %u %h %p" '((?u "user") (?h "host")))
214 "test user host %p")))
215
216(ert-deftest auth-source-test-remembrances-of-things-past ()
217 (let ((password-cache t)
218 (password-data (make-vector 7 0)))
219 (auth-source-remember '(:host "wedd") '(4 5 6))
220 (should (auth-source-remembered-p '(:host "wedd")))
221 (should-not (auth-source-remembered-p '(:host "xedd")))
222 (auth-source-remember '(:host "xedd") '(1 2 3))
223 (should (auth-source-remembered-p '(:host "xedd")))
224 (should-not (auth-source-remembered-p '(:host "zedd")))
225 (should (auth-source-recall '(:host "xedd")))
226 (should-not (auth-source-recall nil))
227 (auth-source-forget+ :host t)
228 (should-not (auth-source-remembered-p '(:host "xedd")))
229 (should-not (auth-source-remembered-p '(:host t)))))
230
222(provide 'auth-source-tests) 231(provide 'auth-source-tests)
223;;; auth-source-tests.el ends here 232;;; auth-source-tests.el ends here