Add more tests
This commit is contained in:
pare
f34a1803a3
commit
f8e209f6ff
S'han modificat 5 arxius amb 93 adicions i 2 eliminacions
28
tests/cassettes/test_instance_activity.yaml
Normal file
28
tests/cassettes/test_instance_activity.yaml
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
interactions:
|
||||||
|
- request:
|
||||||
|
body: null
|
||||||
|
headers:
|
||||||
|
Accept: ['*/*']
|
||||||
|
Accept-Encoding: ['gzip, deflate']
|
||||||
|
Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN]
|
||||||
|
Connection: [keep-alive]
|
||||||
|
User-Agent: [python-requests/2.9.1]
|
||||||
|
method: GET
|
||||||
|
uri: http://localhost:3000/api/v1/instance/activity
|
||||||
|
response:
|
||||||
|
body: {string: '[{"week":"1525039200","statuses":"402","logins":"2","registrations":"0"},{"week":"1524434400","statuses":"0","logins":"0","registrations":"0"},{"week":"1523829600","statuses":"1514","logins":"2","registrations":"0"},{"week":"1523224800","statuses":"0","logins":"0","registrations":"0"},{"week":"1522620000","statuses":"0","logins":"0","registrations":"0"},{"week":"1522015200","statuses":"0","logins":"0","registrations":"0"},{"week":"1521414000","statuses":"0","logins":"0","registrations":"0"},{"week":"1520809200","statuses":"0","logins":"0","registrations":"0"},{"week":"1520204400","statuses":"0","logins":"0","registrations":"0"},{"week":"1519599600","statuses":"0","logins":"0","registrations":"0"},{"week":"1518994800","statuses":"0","logins":"0","registrations":"0"},{"week":"1518390000","statuses":"0","logins":"0","registrations":"0"}]'}
|
||||||
|
headers:
|
||||||
|
Cache-Control: ['max-age=86400, public']
|
||||||
|
Content-Type: [application/json; charset=utf-8]
|
||||||
|
Date: ['Sun, 06 May 2018 00:22:05 GMT']
|
||||||
|
ETag: [W/"58f08c236168987e365c17c22d5d7788"]
|
||||||
|
Transfer-Encoding: [chunked]
|
||||||
|
Vary: ['Accept-Encoding, Origin']
|
||||||
|
X-Content-Type-Options: [nosniff]
|
||||||
|
X-Frame-Options: [SAMEORIGIN]
|
||||||
|
X-Request-Id: [1155ee76-f23a-407c-a833-26e70c8efbe2]
|
||||||
|
X-Runtime: ['0.070592']
|
||||||
|
X-XSS-Protection: [1; mode=block]
|
||||||
|
content-length: ['846']
|
||||||
|
status: {code: 200, message: OK}
|
||||||
|
version: 1
|
28
tests/cassettes/test_instance_peers.yaml
Normal file
28
tests/cassettes/test_instance_peers.yaml
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
interactions:
|
||||||
|
- request:
|
||||||
|
body: null
|
||||||
|
headers:
|
||||||
|
Accept: ['*/*']
|
||||||
|
Accept-Encoding: ['gzip, deflate']
|
||||||
|
Authorization: [Bearer __MASTODON_PY_TEST_ACCESS_TOKEN]
|
||||||
|
Connection: [keep-alive]
|
||||||
|
User-Agent: [python-requests/2.9.1]
|
||||||
|
method: GET
|
||||||
|
uri: http://localhost:3000/api/v1/instance/peers
|
||||||
|
response:
|
||||||
|
body: {string: '[]'}
|
||||||
|
headers:
|
||||||
|
Cache-Control: ['max-age=86400, public']
|
||||||
|
Content-Type: [application/json; charset=utf-8]
|
||||||
|
Date: ['Sun, 06 May 2018 00:24:52 GMT']
|
||||||
|
ETag: [W/"3c4a13455f997cff85b40946e8a0eb9d"]
|
||||||
|
Transfer-Encoding: [chunked]
|
||||||
|
Vary: ['Accept-Encoding, Origin']
|
||||||
|
X-Content-Type-Options: [nosniff]
|
||||||
|
X-Frame-Options: [SAMEORIGIN]
|
||||||
|
X-Request-Id: [98dc4df6-9979-4d50-8473-96f9253d65b9]
|
||||||
|
X-Runtime: ['0.031372']
|
||||||
|
X-XSS-Protection: [1; mode=block]
|
||||||
|
content-length: ['2']
|
||||||
|
status: {code: 200, message: OK}
|
||||||
|
version: 1
|
|
@ -1,19 +1,23 @@
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
def _api(access_token='__MASTODON_PY_TEST_ACCESS_TOKEN'):
|
def _api(access_token='__MASTODON_PY_TEST_ACCESS_TOKEN', version="2.3.0", version_check_mode="created"):
|
||||||
import mastodon
|
import mastodon
|
||||||
return mastodon.Mastodon(
|
return mastodon.Mastodon(
|
||||||
api_base_url='http://localhost:3000',
|
api_base_url='http://localhost:3000',
|
||||||
client_id='__MASTODON_PY_TEST_CLIENT_ID',
|
client_id='__MASTODON_PY_TEST_CLIENT_ID',
|
||||||
client_secret='__MASTODON_PY_TEST_CLIENT_SECRET',
|
client_secret='__MASTODON_PY_TEST_CLIENT_SECRET',
|
||||||
access_token=access_token,
|
access_token=access_token,
|
||||||
mastodon_version="2.3.0")
|
mastodon_version=version,
|
||||||
|
version_check_mode=version_check_mode)
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def api():
|
def api():
|
||||||
return _api()
|
return _api()
|
||||||
|
|
||||||
|
@pytest.fixture
|
||||||
|
def api_low_version():
|
||||||
|
return _api(version="1.2.0", version_check_mode="changed")
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def api2():
|
def api2():
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
from mastodon.Mastodon import MastodonVersionError
|
||||||
|
|
||||||
@pytest.mark.vcr()
|
@pytest.mark.vcr()
|
||||||
def test_instance(api):
|
def test_instance(api):
|
||||||
instance = api.instance()
|
instance = api.instance()
|
||||||
|
@ -8,3 +10,22 @@ def test_instance(api):
|
||||||
|
|
||||||
expected_keys = set(('description', 'email', 'title', 'uri', 'version', 'urls'))
|
expected_keys = set(('description', 'email', 'title', 'uri', 'version', 'urls'))
|
||||||
assert set(instance.keys()) >= expected_keys
|
assert set(instance.keys()) >= expected_keys
|
||||||
|
|
||||||
|
@pytest.mark.vcr()
|
||||||
|
def test_instance_activity(api):
|
||||||
|
activity = api.instance_activity()
|
||||||
|
|
||||||
|
assert len(activity) > 0
|
||||||
|
assert "statuses" in activity[0]
|
||||||
|
assert "logins" in activity[0]
|
||||||
|
assert "week" in activity[0]
|
||||||
|
|
||||||
|
@pytest.mark.vcr()
|
||||||
|
def test_instance_peers(api):
|
||||||
|
assert len(api.instance_peers()) == 0
|
||||||
|
|
||||||
|
@pytest.mark.vcr()
|
||||||
|
def test_low_version(api_low_version):
|
||||||
|
with pytest.raises(MastodonVersionError):
|
||||||
|
instance = api_low_version.instance()
|
||||||
|
|
|
@ -164,6 +164,16 @@ def test_invalid_event():
|
||||||
'',
|
'',
|
||||||
])
|
])
|
||||||
|
|
||||||
|
def test_invalid_json():
|
||||||
|
"""But not too tolerant"""
|
||||||
|
listener = Listener()
|
||||||
|
with pytest.raises(MastodonMalformedEventError):
|
||||||
|
listener.handle_stream_([
|
||||||
|
'event: blahblah',
|
||||||
|
'data: {kjaslkdjalskdjasd asdkjhak ajdasldasd}',
|
||||||
|
'',
|
||||||
|
])
|
||||||
|
|
||||||
def test_missing_event_name():
|
def test_missing_event_name():
|
||||||
listener = Listener()
|
listener = Listener()
|
||||||
with pytest.raises(MastodonMalformedEventError):
|
with pytest.raises(MastodonMalformedEventError):
|
||||||
|
|
Loading…
Referencia en una nova incidència