aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mastodon/Mastodon.py26
-rw-r--r--tests/test_account.py20
2 files changed, 34 insertions, 12 deletions
diff --git a/mastodon/Mastodon.py b/mastodon/Mastodon.py
index 527f1ac..e616aa3 100644
--- a/mastodon/Mastodon.py
+++ b/mastodon/Mastodon.py
@@ -1226,20 +1226,22 @@ class Mastodon:
1226 params_initial = locals() 1226 params_initial = locals()
1227 1227
1228 # Load avatar, if specified 1228 # Load avatar, if specified
1229 if avatar_mime_type is None and os.path.isfile(avatar): 1229 if not avatar is None:
1230 avatar_mime_type = mimetypes.guess_type(avatar)[0] 1230 if avatar_mime_type is None and os.path.isfile(avatar):
1231 avatar = open(avatar, 'rb') 1231 avatar_mime_type = mimetypes.guess_type(avatar)[0]
1232 1232 avatar = open(avatar, 'rb')
1233 if (not avatar is None and avatar_mime_type is None): 1233
1234 raise MastodonIllegalArgumentError('Could not determine mime type or data passed directly without mime type.') 1234 if avatar_mime_type is None:
1235 raise MastodonIllegalArgumentError('Could not determine mime type or data passed directly without mime type.')
1235 1236
1236 # Load header, if specified 1237 # Load header, if specified
1237 if header_mime_type is None and os.path.isfile(header): 1238 if not header is None:
1238 header_mime_type = mimetypes.guess_type(header)[0] 1239 if header_mime_type is None and os.path.isfile(header):
1239 header = open(header, 'rb') 1240 header_mime_type = mimetypes.guess_type(header)[0]
1240 1241 header = open(header, 'rb')
1241 if (not header is None and header_mime_type is None): 1242
1242 raise MastodonIllegalArgumentError('Could not determine mime type or data passed directly without mime type.') 1243 if header_mime_type is None:
1244 raise MastodonIllegalArgumentError('Could not determine mime type or data passed directly without mime type.')
1243 1245
1244 # Clean up params 1246 # Clean up params
1245 for param in ["avatar", "avatar_mime_type", "header", "header_mime_type"]: 1247 for param in ["avatar", "avatar_mime_type", "header", "header_mime_type"]:
diff --git a/tests/test_account.py b/tests/test_account.py
index 240abca..2716ad1 100644
--- a/tests/test_account.py
+++ b/tests/test_account.py
@@ -92,3 +92,23 @@ def test_account_update_credentials(api):
92 header = image, 92 header = image,
93 header_mime_type = "image/jpeg") 93 header_mime_type = "image/jpeg")
94 assert account 94 assert account
95
96@pytest.mark.vcr(match_on=['path'])
97def test_account_update_credentials_no_header(api):
98 account = api.account_update_credentials(
99 display_name='John Lennon',
100 note='I walk funny',
101 avatar = "tests/image.jpg")
102 assert account
103
104@pytest.mark.vcr(match_on=['path'])
105def test_account_update_credentials_no_avatar(api):
106 with open('tests/image.jpg', 'rb') as f:
107 image = f.read()
108
109 account = api.account_update_credentials(
110 display_name='John Lennon',
111 note='I walk funny',
112 header = image,
113 header_mime_type = "image/jpeg")
114 assert account
Powered by cgit v1.2.3 (git 2.41.0)