kopia lustrzana https://github.com/halcy/Mastodon.py
Improve test coverage
rodzic
fa1c6c97d2
commit
5542d58c36
|
@ -58,15 +58,15 @@ class Mastodon(Internals):
|
|||
'User-Agent': user_agent
|
||||
}
|
||||
|
||||
if redirect_uris is not None:
|
||||
if isinstance(redirect_uris, (list, tuple)):
|
||||
redirect_uris = "\n".join(list(redirect_uris))
|
||||
request_data['redirect_uris'] = redirect_uris
|
||||
else:
|
||||
request_data['redirect_uris'] = 'urn:ietf:wg:oauth:2.0:oob'
|
||||
if website is not None:
|
||||
request_data['website'] = website
|
||||
try:
|
||||
if redirect_uris is not None:
|
||||
if isinstance(redirect_uris, (list, tuple)):
|
||||
redirect_uris = "\n".join(list(redirect_uris))
|
||||
request_data['redirect_uris'] = redirect_uris
|
||||
else:
|
||||
request_data['redirect_uris'] = 'urn:ietf:wg:oauth:2.0:oob'
|
||||
if website is not None:
|
||||
request_data['website'] = website
|
||||
if session:
|
||||
ret = session.post(f"{api_base_url}/api/v1/apps", data=request_data, headers=headers, timeout=request_timeout)
|
||||
response = ret.json()
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
from mastodon import Mastodon
|
||||
from mastodon import Mastodon, MastodonNetworkError
|
||||
import pytest
|
||||
import requests
|
||||
from requests import HTTPError
|
||||
import time
|
||||
|
||||
try:
|
||||
|
@ -39,11 +40,34 @@ def test_create_app_redirect_uris(mocker):
|
|||
kwargs = requests.post.call_args[1]
|
||||
assert kwargs['data']['redirect_uris'] == 'http://example.net'
|
||||
|
||||
def test_create_app_multiple_redirect_uris(mocker):
|
||||
test_create_app(mocker, redirect_uris=['http://example.net', 'https://example.net'])
|
||||
kwargs = requests.post.call_args[1]
|
||||
assert kwargs['data']['redirect_uris'] == 'http://example.net\nhttps://example.net'
|
||||
|
||||
def test_create_app_website(mocker):
|
||||
test_create_app(mocker, website='http://example.net')
|
||||
kwargs = requests.post.call_args[1]
|
||||
assert kwargs['data']['website'] == 'http://example.net'
|
||||
|
||||
def test_create_app_session():
|
||||
resp = Mock(**{'json.return_value': {'client_id': 'foo', 'client_secret': 'bar'}})
|
||||
sess = Mock(**{'post.return_value': resp})
|
||||
|
||||
app = Mastodon.create_app("Mastodon.py test suite", api_base_url="example.com", session=sess)
|
||||
|
||||
assert app == ('foo', 'bar')
|
||||
sess.post.assert_called()
|
||||
|
||||
def test_create_app_error(mocker):
|
||||
def post(_url, **_kwargs):
|
||||
raise HTTPError("Unauthorized")
|
||||
|
||||
mocker.patch('requests.post', side_effect=post)
|
||||
|
||||
with pytest.raises(MastodonNetworkError):
|
||||
Mastodon.create_app("Mastodon.py test suite", api_base_url="example.com")
|
||||
|
||||
def test_create_app_user_agent(mocker):
|
||||
test_create_app(mocker, user_agent="pytest")
|
||||
kwargs = requests.post.call_args[1]
|
||||
|
@ -60,7 +84,7 @@ def test_app_account_create():
|
|||
# This leaves behind stuff on the test server, which is unfortunate, but eh.
|
||||
suffix = str(time.time()).replace(".", "")[-5:]
|
||||
|
||||
test_app = test_app = Mastodon.create_app(
|
||||
test_app = Mastodon.create_app(
|
||||
"mastodon.py generated test app",
|
||||
api_base_url="http://localhost:3000/"
|
||||
)
|
||||
|
@ -80,7 +104,7 @@ def test_app_account_create():
|
|||
def test_app_account_create_invalid():
|
||||
suffix = str(time.time()).replace(".", "")[-5:]
|
||||
|
||||
test_app = test_app = Mastodon.create_app(
|
||||
test_app = Mastodon.create_app(
|
||||
"mastodon.py generated test app",
|
||||
api_base_url="http://localhost:3000/"
|
||||
)
|
||||
|
|
Ładowanie…
Reference in New Issue