From ba2fccc1cf0957387f616da64c20e329eba95263 Mon Sep 17 00:00:00 2001 From: Lorenz Diener Date: Sun, 6 May 2018 15:42:38 +0200 Subject: Add lists tests and fix a bug --- tests/test_lists.py | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 tests/test_lists.py (limited to 'tests/test_lists.py') 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 @@ +import pytest + +@pytest.fixture() +def mastodon_list(api): + mastodon_list = api.list_create('ham burglars') + yield mastodon_list + api.list_delete(mastodon_list) + +@pytest.mark.vcr() +def test_list_create(api, mastodon_list): + assert mastodon_list in api.lists() + +@pytest.mark.vcr() +def test_list_update(api, mastodon_list): + mastodon_list_modified = api.list_update(mastodon_list, 'fry kids') + assert not mastodon_list in api.lists() + assert mastodon_list_modified in api.lists() + assert api.list(mastodon_list) == mastodon_list_modified + +@pytest.mark.vcr() +def test_list_add_remove_account(api, api2, mastodon_list): + user = api2.account_verify_credentials() + + api.account_follow(user) + api.list_accounts_add(mastodon_list, user) + assert user.id in map(lambda x: x.id, api.list_accounts(mastodon_list)) + + api.account_unfollow(user) + assert len(api.list_accounts(mastodon_list)) == 0 + + api.account_follow(user) + api.list_accounts_add(mastodon_list, user) + assert user.id in map(lambda x: x.id, api.list_accounts(mastodon_list)) + + api.list_accounts_delete(mastodon_list, user) + assert len(api.list_accounts(mastodon_list)) == 0 + + api.account_unfollow(user) + +@pytest.mark.vcr() +def test_list_by_account(api, api2, mastodon_list): + user = api2.account_verify_credentials() + + api.account_follow(user) + api.list_accounts_add(mastodon_list, user) + assert mastodon_list in api.account_lists(user) + api.account_unfollow(user) + +@pytest.mark.vcr() +def test_list_timeline(api, api2, mastodon_list): + user = api2.account_verify_credentials() + + api.account_follow(user) + api.list_accounts_add(mastodon_list, user) + + status = api2.status_post("I have never stolen a ham in my life.", visibility="public") + assert status.id in map(lambda x: x.id, api.timeline_list(mastodon_list)) + + api2.status_delete(status) + api.account_unfollow(user) + \ No newline at end of file -- cgit v1.2.3