diff options
| author | Ted Zlatanov | 2017-02-03 16:06:12 -0500 |
|---|---|---|
| committer | Ted Zlatanov | 2017-04-27 17:37:58 -0400 |
| commit | bd60ee2ffc37b64a898d81184089b82afd55cae0 (patch) | |
| tree | 7a9158a656ccd2ed62c58f1780996f7d71783ea5 /test | |
| parent | 79c5ea9911a9aba7db0ba0e367e06507cee2fc02 (diff) | |
| download | emacs-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.el | 45 |
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 |