2017-05-13 08:16:34 +00:00
|
|
|
import os
|
2019-04-28 09:10:53 +00:00
|
|
|
import random
|
2017-05-13 08:16:34 +00:00
|
|
|
from tests.api.apitestbase import ApiTestBase
|
|
|
|
from tests.api.urls import AVATAR_BASE_URL
|
|
|
|
from tests.common.utils import urljoin
|
|
|
|
from tests.common.common import BASE_URL
|
|
|
|
from django.core.urlresolvers import reverse
|
|
|
|
|
|
|
|
class AvatarApiTest(ApiTestBase):
|
|
|
|
|
|
|
|
def test_create_user_avatar(self):
|
|
|
|
|
|
|
|
# update user avatar
|
|
|
|
avatar_url = reverse('api-v2.1-user-avatar')
|
|
|
|
avatar_url = urljoin(BASE_URL, avatar_url)
|
|
|
|
avatar_file = os.path.join(os.getcwd(), 'media/img/seafile-logo.png')
|
|
|
|
|
2019-04-28 09:10:53 +00:00
|
|
|
random_avatar_size = random.randint(12,128)
|
|
|
|
|
2017-05-13 08:16:34 +00:00
|
|
|
with open(avatar_file) as f:
|
2019-04-28 09:10:53 +00:00
|
|
|
json_resp = self.post(avatar_url, files={'avatar': f}, data={'avatar_size': random_avatar_size}).json()
|
2017-05-13 08:16:34 +00:00
|
|
|
|
2019-04-28 09:10:53 +00:00
|
|
|
assert json_resp.has_key('avatar_url')
|
|
|
|
response_url = json_resp['avatar_url']
|
|
|
|
list_url = response_url.split('/')
|
|
|
|
assert str(random_avatar_size) in list_url
|
2017-05-13 08:16:34 +00:00
|
|
|
|
|
|
|
# assert is NOT default avatar
|
|
|
|
avatar_url = urljoin(AVATAR_BASE_URL, 'user', self.username, '/resized/80/')
|
|
|
|
info = self.get(avatar_url).json()
|
|
|
|
assert 'resized' in info['url']
|
|
|
|
assert info['is_default'] == False
|