diff options
-rw-r--r-- | mastodon/Mastodon.py | 26 | ||||
-rw-r--r-- | tests/test_account.py | 20 |
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']) | ||
97 | def 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']) | ||
105 | def 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 | ||