aboutsummaryrefslogtreecommitdiff
path: root/test/mastodon-auth-tests.el
diff options
context:
space:
mode:
authormartianh <martianh@noreply.codeberg.org>2022-03-23 08:04:07 +0100
committermartianh <martianh@noreply.codeberg.org>2022-03-23 08:04:07 +0100
commitcecd5de060a56f13f7f7eb4528b341027812faab (patch)
treeb612438cd9e5b46c0300c2ae1dc1b007698226bb /test/mastodon-auth-tests.el
parentc7b475160d2e7712e339e15adf168529f71b52c6 (diff)
parent56fa25df379623e79261b535cd724db3ed979d44 (diff)
Merge pull request '2FA login support' (#255) from Red_Starfish/mastodon-up.el:login into develop
Reviewed-on: https://codeberg.org/martianh/mastodon.el/pulls/255
Diffstat (limited to 'test/mastodon-auth-tests.el')
-rw-r--r--test/mastodon-auth-tests.el52
1 files changed, 11 insertions, 41 deletions
diff --git a/test/mastodon-auth-tests.el b/test/mastodon-auth-tests.el
index 6a090b7..2d9d6df 100644
--- a/test/mastodon-auth-tests.el
+++ b/test/mastodon-auth-tests.el
@@ -32,47 +32,6 @@
`(:error "invalid_grant" :error_description ,error-message))
(t error))))))
-(ert-deftest mastodon-auth--generate-token--no-storing-credentials ()
- "Should make `mastdon-http--post' request to generate auth token."
- (with-mock
- (let ((mastodon-auth-source-file "")
- (mastodon-instance-url "https://instance.url"))
- (mock (mastodon-client) => '(:client_id "id" :client_secret "secret"))
- (mock (read-string "Email: " user-mail-address) => "foo@bar.com")
- (mock (read-passwd "Password: ") => "password")
- (mock (mastodon-http--post "https://instance.url/oauth/token"
- '(("client_id" . "id")
- ("client_secret" . "secret")
- ("grant_type" . "password")
- ("username" . "foo@bar.com")
- ("password" . "password")
- ("scope" . "read write follow"))
- nil
- :unauthenticated))
- (mastodon-auth--generate-token))))
-
-(ert-deftest mastodon-auth--generate-token--storing-credentials ()
- "Should make `mastdon-http--post' request to generate auth token."
- (with-mock
- (let ((mastodon-auth-source-file "~/.authinfo")
- (mastodon-instance-url "https://instance.url"))
- (mock (mastodon-client) => '(:client_id "id" :client_secret "secret"))
- (mock (auth-source-search :create t
- :host "https://instance.url"
- :port 443
- :require '(:user :secret))
- => '((:user "foo@bar.com" :secret (lambda () "password"))))
- (mock (mastodon-http--post "https://instance.url/oauth/token"
- '(("client_id" . "id")
- ("client_secret" . "secret")
- ("grant_type" . "password")
- ("username" . "foo@bar.com")
- ("password" . "password")
- ("scope" . "read write follow"))
- nil
- :unauthenticated))
- (mastodon-auth--generate-token))))
-
(ert-deftest mastodon-auth--get-token ()
"Should generate token and return JSON response."
(with-temp-buffer
@@ -94,12 +53,23 @@
(ert-deftest mastodon-auth--access-token-not-found ()
"Should set and return `mastodon-auth--token' if nil."
(let ((mastodon-instance-url "https://instance.url")
+ (mastodon-active-user "user")
(mastodon-auth--token-alist nil))
(with-mock
(mock (mastodon-auth--get-token) => '(:access_token "foobaz"))
+ (mock (mastodon-client--store-access-token "foobaz"))
+ (stub mastodon-client--make-user-active)
(should
(string= (mastodon-auth--access-token)
"foobaz"))
(should
(equal mastodon-auth--token-alist
'(("https://instance.url" . "foobaz")))))))
+
+(ert-deftest mastodon-auth--user-unaware ()
+ (let ((mastodon-instance-url "https://instance.url")
+ (mastodon-active-user nil)
+ (mastodon-auth--token-alist nil))
+ (with-mock
+ (mock (mastodon-client--active-user))
+ (should-error (mastodon-auth--access-token)))))