# Copyright (C) 2014 Andrey Antukh # Copyright (C) 2014 Jesús Espino # Copyright (C) 2014 David Barragán # Copyright (C) 2014 Anler Hernández # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . from django.core.urlresolvers import reverse from tempfile import NamedTemporaryFile import pytest from .. import factories as f pytestmark = pytest.mark.django_db DUMMY_BMP_DATA = b'BM:\x00\x00\x00\x00\x00\x00\x006\x00\x00\x00(\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x18\x00\x00\x00\x00\x00\x04\x00\x00\x00\x13\x0b\x00\x00\x13\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' def test_change_avatar(client): url = reverse('users-change-avatar') user = f.UserFactory() client.login(user) with NamedTemporaryFile() as avatar: # Test no avatar send post_data = {} response = client.post(url, post_data) assert response.status_code == 400 # Test invalid file send post_data = { 'avatar': avatar } response = client.post(url, post_data) assert response.status_code == 400 # Test empty valid avatar send avatar.write(DUMMY_BMP_DATA) avatar.seek(0) response = client.post(url, post_data) assert response.status_code == 200