diff options
author | Lorenz Diener <[email protected]> | 2017-11-29 17:48:56 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2017-11-29 17:48:56 +0100 |
commit | 961425e2abc91d693004f2c0d073e387de64e58c (patch) | |
tree | 8b1512daf97ab63b54f4edebc83b35f524571c53 /tests/test_status.py | |
parent | 5b811b719d379be06ed256da2ee806a051461795 (diff) | |
parent | e79987df2410ee32302abed9e486a72b2dfc9707 (diff) | |
download | mastodon.py-961425e2abc91d693004f2c0d073e387de64e58c.tar.gz |
Merge pull request #109 from codl/test-suite
Test suite
Diffstat (limited to 'tests/test_status.py')
-rw-r--r-- | tests/test_status.py | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/tests/test_status.py b/tests/test_status.py new file mode 100644 index 0000000..a5b8b3a --- /dev/null +++ b/tests/test_status.py | |||
@@ -0,0 +1,91 @@ | |||
1 | import pytest | ||
2 | from mastodon.Mastodon import MastodonAPIError | ||
3 | from time import sleep | ||
4 | |||
5 | @pytest.mark.vcr() | ||
6 | def test_status(status, api): | ||
7 | status2 = api.status(status['id']) | ||
8 | assert status2 == status | ||
9 | |||
10 | @pytest.mark.vcr() | ||
11 | def test_status_missing(api): | ||
12 | with pytest.raises(MastodonAPIError): | ||
13 | api.status(0) | ||
14 | |||
15 | @pytest.mark.skip(reason="Doesn't look like mastodon will make a card for an url that doesn't have a TLD, and relying on some external website being reachable to make a card of is messy :/") | ||
16 | def test_status_card(api): | ||
17 | status = api.status_post("http://localhost:3000") | ||
18 | card = api.status_card(status['id']) | ||
19 | assert card | ||
20 | |||
21 | @pytest.mark.vcr() | ||
22 | def test_status_context(status, api): | ||
23 | context = api.status_context(status['id']) | ||
24 | assert context | ||
25 | |||
26 | @pytest.mark.vcr() | ||
27 | def test_status_reblogged_by(status, api): | ||
28 | api.status_reblog(status['id']) | ||
29 | reblogs = api.status_reblogged_by(status['id']) | ||
30 | assert reblogs | ||
31 | |||
32 | @pytest.mark.vcr() | ||
33 | def test_status_favourited_by(status, api): | ||
34 | api.status_favourite(status['id']) | ||
35 | favourites = api.status_favourited_by(status['id']) | ||
36 | assert favourites | ||
37 | |||
38 | @pytest.mark.vcr() | ||
39 | def test_toot(api): | ||
40 | status = api.toot('Toot!') | ||
41 | try: | ||
42 | assert status | ||
43 | finally: | ||
44 | api.status_delete(status['id']) | ||
45 | |||
46 | @pytest.mark.vcr() | ||
47 | @pytest.mark.parametrize('visibility', ('', 'direct', 'private', 'unlisted', 'public', | ||
48 | pytest.param('foobar', marks=pytest.mark.xfail()))) | ||
49 | @pytest.mark.parametrize('spoiler_text', (None, 'Content warning')) | ||
50 | def test_status_post(api, visibility, spoiler_text): | ||
51 | status = api.status_post( | ||
52 | 'Toot!', | ||
53 | visibility=visibility, | ||
54 | spoiler_text=spoiler_text) | ||
55 | try: | ||
56 | assert status | ||
57 | if visibility: | ||
58 | assert status['visibility'] == visibility | ||
59 | if spoiler_text: | ||
60 | assert status['spoiler_text'] == spoiler_text | ||
61 | finally: | ||
62 | api.status_delete(status['id']) | ||
63 | |||
64 | @pytest.mark.vcr() | ||
65 | def test_status_reblog_unreblog(status, api): | ||
66 | reblog = api.status_reblog(status['id']) | ||
67 | assert reblog | ||
68 | |||
69 | status = reblog['reblog'] | ||
70 | assert status['reblogged'] | ||
71 | |||
72 | status = api.status_unreblog(status['id']) | ||
73 | assert not status['reblogged'] | ||
74 | |||
75 | |||
76 | @pytest.mark.vcr() | ||
77 | def test_status_fav_unfav(status, api): | ||
78 | status = api.status_favourite(status['id']) | ||
79 | assert status['favourited'] | ||
80 | |||
81 | status = api.status_unfavourite(status['id']) | ||
82 | assert not status['favourited'] | ||
83 | |||
84 | |||
85 | @pytest.mark.vcr() | ||
86 | def test_status_mute_unmute(status, api): | ||
87 | status = api.status_mute(status['id']) | ||
88 | assert status['muted'] | ||
89 | |||
90 | status = api.status_unmute(status['id']) | ||
91 | assert not status['muted'] | ||