Mastodon.py/tests/conftest.py

63 wiersze
1.6 KiB
Python

import pytest
2022-11-10 22:21:00 +00:00
# Set this to True to debug issues with tests
DEBUG_REQUESTS = True
2022-11-13 12:54:23 +00:00
def _api(access_token='__MASTODON_PY_TEST_ACCESS_TOKEN', version="4.0.0", version_check_mode="created"):
import mastodon
return mastodon.Mastodon(
api_base_url='http://localhost:3000',
2017-11-29 20:42:20 +00:00
client_id='__MASTODON_PY_TEST_CLIENT_ID',
client_secret='__MASTODON_PY_TEST_CLIENT_SECRET',
2017-12-11 13:52:03 +00:00
access_token=access_token,
2018-05-06 00:26:19 +00:00
mastodon_version=version,
version_check_mode=version_check_mode,
2022-11-10 22:21:00 +00:00
user_agent='tests/v311',
debug_requests=DEBUG_REQUESTS)
2017-11-29 20:42:20 +00:00
@pytest.fixture
def api():
return _api()
2018-05-06 00:26:19 +00:00
@pytest.fixture
def api_low_version():
return _api(version="1.2.0", version_check_mode="changed")
2017-11-29 20:42:20 +00:00
@pytest.fixture
def api2():
return _api(access_token='__MASTODON_PY_TEST_ACCESS_TOKEN_2')
2019-06-22 21:16:47 +00:00
@pytest.fixture
def api3():
return _api(access_token='__MASTODON_PY_TEST_ACCESS_TOKEN_3')
2017-11-27 13:19:21 +00:00
@pytest.fixture
def api_anonymous():
2017-11-29 20:42:20 +00:00
return _api(access_token=None)
2017-11-27 13:19:21 +00:00
2018-11-26 10:15:59 +00:00
@pytest.fixture
def status(api):
_status = api.status_post('Toot!')
yield _status
api.status_delete(_status['id'])
2018-11-26 10:15:59 +00:00
@pytest.fixture
2018-06-04 18:55:44 +00:00
def status2(api):
_status = api.status_post('Toot, too!')
yield _status
api.status_delete(_status['id'])
@pytest.fixture
def status3(api2):
_status = api2.status_post('Toot, finally!')
yield _status
api2.status_delete(_status['id'])
2018-11-26 10:15:59 +00:00
@pytest.fixture(scope="module")
def vcr_config():
return dict(
2024-02-11 14:11:17 +00:00
match_on = ['method', 'path', 'query', 'body'],
2024-02-11 14:03:45 +00:00
decode_compressed_response = True
)