diff options
Diffstat (limited to 'tests/test_lists.py')
-rw-r--r-- | tests/test_lists.py | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/tests/test_lists.py b/tests/test_lists.py new file mode 100644 index 0000000..61300c8 --- /dev/null +++ b/tests/test_lists.py | |||
@@ -0,0 +1,61 @@ | |||
1 | import pytest | ||
2 | |||
3 | @pytest.fixture() | ||
4 | def mastodon_list(api): | ||
5 | mastodon_list = api.list_create('ham burglars') | ||
6 | yield mastodon_list | ||
7 | api.list_delete(mastodon_list) | ||
8 | |||
9 | @pytest.mark.vcr() | ||
10 | def test_list_create(api, mastodon_list): | ||
11 | assert mastodon_list in api.lists() | ||
12 | |||
13 | @pytest.mark.vcr() | ||
14 | def test_list_update(api, mastodon_list): | ||
15 | mastodon_list_modified = api.list_update(mastodon_list, 'fry kids') | ||
16 | assert not mastodon_list in api.lists() | ||
17 | assert mastodon_list_modified in api.lists() | ||
18 | assert api.list(mastodon_list) == mastodon_list_modified | ||
19 | |||
20 | @pytest.mark.vcr() | ||
21 | def test_list_add_remove_account(api, api2, mastodon_list): | ||
22 | user = api2.account_verify_credentials() | ||
23 | |||
24 | api.account_follow(user) | ||
25 | api.list_accounts_add(mastodon_list, user) | ||
26 | assert user.id in map(lambda x: x.id, api.list_accounts(mastodon_list)) | ||
27 | |||
28 | api.account_unfollow(user) | ||
29 | assert len(api.list_accounts(mastodon_list)) == 0 | ||
30 | |||
31 | api.account_follow(user) | ||
32 | api.list_accounts_add(mastodon_list, user) | ||
33 | assert user.id in map(lambda x: x.id, api.list_accounts(mastodon_list)) | ||
34 | |||
35 | api.list_accounts_delete(mastodon_list, user) | ||
36 | assert len(api.list_accounts(mastodon_list)) == 0 | ||
37 | |||
38 | api.account_unfollow(user) | ||
39 | |||
40 | @pytest.mark.vcr() | ||
41 | def test_list_by_account(api, api2, mastodon_list): | ||
42 | user = api2.account_verify_credentials() | ||
43 | |||
44 | api.account_follow(user) | ||
45 | api.list_accounts_add(mastodon_list, user) | ||
46 | assert mastodon_list in api.account_lists(user) | ||
47 | api.account_unfollow(user) | ||
48 | |||
49 | @pytest.mark.vcr() | ||
50 | def test_list_timeline(api, api2, mastodon_list): | ||
51 | user = api2.account_verify_credentials() | ||
52 | |||
53 | api.account_follow(user) | ||
54 | api.list_accounts_add(mastodon_list, user) | ||
55 | |||
56 | status = api2.status_post("I have never stolen a ham in my life.", visibility="public") | ||
57 | assert status.id in map(lambda x: x.id, api.timeline_list(mastodon_list)) | ||
58 | |||
59 | api2.status_delete(status) | ||
60 | api.account_unfollow(user) | ||
61 | \ No newline at end of file | ||