From eed6f8f0a4498bf6393c4f79a5dc662c48e98d73 Mon Sep 17 00:00:00 2001 From: codl Date: Mon, 27 Nov 2017 20:43:27 +0100 Subject: add tests for log_in --- tests/test_auth.py | 44 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) (limited to 'tests/test_auth.py') diff --git a/tests/test_auth.py b/tests/test_auth.py index 3b62a2f..502d825 100644 --- a/tests/test_auth.py +++ b/tests/test_auth.py @@ -1,7 +1,11 @@ +import pytest +from mastodon.Mastodon import MastodonIllegalArgumentError +from mastodon import Mastodon try: from urllib.parse import urlparse, parse_qs except ImportError: - from urlparse import urlparse, parse_qs + from urlparse import urlparse, parse_qs + def test_auth_request_url(api): url = api.auth_request_url() @@ -14,3 +18,41 @@ def test_auth_request_url(api): assert set(query['scope'][0].split()) == set(('read', 'write', 'follow')) +@pytest.mark.vcr() +def test_log_in_password(api_anonymous): + token = api_anonymous.log_in( + username='admin@localhost:3000', + password='mastodonadmin') + assert token + + +@pytest.mark.vcr() +def test_log_in_password_incorrect(api_anonymous): + with pytest.raises(MastodonIllegalArgumentError): + api_anonymous.log_in( + username='admin@localhost:3000', + password='hunter2') + + +@pytest.mark.vcr() +def test_log_in_password_to_file(api_anonymous, tmpdir): + filepath = tmpdir.join('token') + api_anonymous.log_in( + username='admin@localhost:3000', + password='mastodonadmin', + to_file=str(filepath)) + token = filepath.read_text('UTF-8').rstrip() + assert token + api = api_anonymous + api.access_token = token + assert api.account_verify_credentials() + + +@pytest.mark.skip(reason="Not sure how to test this without setting up selenium or a similar browser automation suite to click on the allow button") +def test_log_in_code(api_anonymous): + pass + + +@pytest.mark.skip(reason="Not supported by Mastodon 😬 (yet?)") +def test_log_in_refresh(api_anonymous): + pass -- cgit v1.2.3