diff options
| author | Michael Albinus | 2018-05-16 11:22:51 +0200 |
|---|---|---|
| committer | Michael Albinus | 2018-05-16 11:22:51 +0200 |
| commit | 01120ec3d2eecd11e23f008feed020def7ea0e88 (patch) | |
| tree | 0019f45ca3f7d35d8131abb6733a729e26cf08e9 /test | |
| parent | 4c3cd27df9c0735d907813a8c16a87acc54b9edc (diff) | |
| download | emacs-01120ec3d2eecd11e23f008feed020def7ea0e88.tar.gz emacs-01120ec3d2eecd11e23f008feed020def7ea0e88.zip | |
Fix creation of Secret Service items in auth-source
* lisp/auth-source.el (auth-source-secrets-create): Use ´apply'.
(auth-source-secrets-saver): Handle `auth-source-save-behavior'
equal t.
* lisp/net/secrets.el (secrets-get-items): Do not call
`secrets-open-session' here ...
(top): ... but here.
* test/lisp/auth-source-tests.el
(auth-source-test-secrets-create-secret): Bind
`auth-source-save-behavior' to t. Cleanup.
* test/lisp/net/secrets-tests.el (secrets-test00-availability):
After loading secets.el, a session is already opened.
(secrets-test02-collections, secrets-test03-items)
(secrets-test04-search): Open a new session.
Diffstat (limited to 'test')
| -rw-r--r-- | test/lisp/auth-source-tests.el | 10 | ||||
| -rw-r--r-- | test/lisp/net/secrets-tests.el | 11 |
2 files changed, 18 insertions, 3 deletions
diff --git a/test/lisp/auth-source-tests.el b/test/lisp/auth-source-tests.el index 2f5a9320b17..1f6737cb7c8 100644 --- a/test/lisp/auth-source-tests.el +++ b/test/lisp/auth-source-tests.el | |||
| @@ -292,6 +292,7 @@ | |||
| 292 | ;; The "session" collection is temporary for the lifetime of the | 292 | ;; The "session" collection is temporary for the lifetime of the |
| 293 | ;; Emacs process. Therefore, we don't care to delete it. | 293 | ;; Emacs process. Therefore, we don't care to delete it. |
| 294 | (let ((auth-sources '((:source (:secrets "session")))) | 294 | (let ((auth-sources '((:source (:secrets "session")))) |
| 295 | (auth-source-save-behavior t) | ||
| 295 | (host (md5 (concat (prin1-to-string process-environment) | 296 | (host (md5 (concat (prin1-to-string process-environment) |
| 296 | (current-time-string)))) | 297 | (current-time-string)))) |
| 297 | (passwd (md5 (concat (prin1-to-string process-environment) | 298 | (passwd (md5 (concat (prin1-to-string process-environment) |
| @@ -315,7 +316,14 @@ | |||
| 315 | (funcall auth-passwd) | 316 | (funcall auth-passwd) |
| 316 | auth-passwd)) | 317 | auth-passwd)) |
| 317 | (should (string-equal (plist-get auth-info :user) (user-login-name))) | 318 | (should (string-equal (plist-get auth-info :user) (user-login-name))) |
| 318 | (should (string-equal auth-passwd passwd)))) | 319 | (should (string-equal (plist-get auth-info :host) host)) |
| 320 | (should (string-equal auth-passwd passwd)) | ||
| 321 | |||
| 322 | ;; Cleanup. | ||
| 323 | ;; Should use `auth-source-delete' when implemented for :secrets backend. | ||
| 324 | (secrets-delete-item | ||
| 325 | "session" | ||
| 326 | (format "%s@%s" (plist-get auth-info :user) (plist-get auth-info :host))))) | ||
| 319 | 327 | ||
| 320 | (provide 'auth-source-tests) | 328 | (provide 'auth-source-tests) |
| 321 | ;;; auth-source-tests.el ends here | 329 | ;;; auth-source-tests.el ends here |
diff --git a/test/lisp/net/secrets-tests.el b/test/lisp/net/secrets-tests.el index fcc3a2d3e6e..9a61bca4351 100644 --- a/test/lisp/net/secrets-tests.el +++ b/test/lisp/net/secrets-tests.el | |||
| @@ -31,8 +31,9 @@ | |||
| 31 | :expected-result (if secrets-enabled :passed :failed) | 31 | :expected-result (if secrets-enabled :passed :failed) |
| 32 | (should secrets-enabled) | 32 | (should secrets-enabled) |
| 33 | (should (dbus-ping :session secrets-service)) | 33 | (should (dbus-ping :session secrets-service)) |
| 34 | ;; We do not test when there's an open session. | 34 | |
| 35 | (should (secrets-empty-path secrets-session-path))) | 35 | ;; Exit. |
| 36 | (secrets--test-close-all-sessions)) | ||
| 36 | 37 | ||
| 37 | (defun secrets--test-get-all-sessions () | 38 | (defun secrets--test-get-all-sessions () |
| 38 | "Return all object paths for existing secrets sessions." | 39 | "Return all object paths for existing secrets sessions." |
| @@ -88,6 +89,8 @@ | |||
| 88 | 89 | ||
| 89 | (unwind-protect | 90 | (unwind-protect |
| 90 | (progn | 91 | (progn |
| 92 | (should (secrets-open-session)) | ||
| 93 | |||
| 91 | ;; There must be at least the collections "Login" and "session". | 94 | ;; There must be at least the collections "Login" and "session". |
| 92 | (should (member "Login" (secrets-list-collections))) | 95 | (should (member "Login" (secrets-list-collections))) |
| 93 | (should (member "session" (secrets-list-collections))) | 96 | (should (member "session" (secrets-list-collections))) |
| @@ -149,6 +152,8 @@ | |||
| 149 | 152 | ||
| 150 | (unwind-protect | 153 | (unwind-protect |
| 151 | (let (item-path) | 154 | (let (item-path) |
| 155 | (should (secrets-open-session)) | ||
| 156 | |||
| 152 | ;; There shall be no items in the "session" collection. | 157 | ;; There shall be no items in the "session" collection. |
| 153 | (should-not (secrets-list-items "session")) | 158 | (should-not (secrets-list-items "session")) |
| 154 | ;; There shall be items in the "Login" collection. | 159 | ;; There shall be items in the "Login" collection. |
| @@ -208,6 +213,8 @@ | |||
| 208 | 213 | ||
| 209 | (unwind-protect | 214 | (unwind-protect |
| 210 | (progn | 215 | (progn |
| 216 | (should (secrets-open-session)) | ||
| 217 | |||
| 211 | ;; There shall be no items in the "session" collection. | 218 | ;; There shall be no items in the "session" collection. |
| 212 | (should-not (secrets-list-items "session")) | 219 | (should-not (secrets-list-items "session")) |
| 213 | 220 | ||