Put more clear names to user test functions.

remotes/origin/enhancement/email-actions
Andrey Antukh 2014-10-15 17:30:22 +02:00
parent 9b6c58bad9
commit 0f207da0dc
2 changed files with 41 additions and 69 deletions

View File

@ -1,54 +0,0 @@
# Copyright (C) 2014 Andrey Antukh <niwi@niwi.be>
# Copyright (C) 2014 Jesús Espino <jespinog@gmail.com>
# Copyright (C) 2014 David Barragán <bameda@dbarragan.com>
# Copyright (C) 2014 Anler Hernández <hello@anler.me>
# 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 <http://www.gnu.org/licenses/>.
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

View File

@ -1,5 +1,6 @@
import pytest import pytest
import json import json
from tempfile import NamedTemporaryFile
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
@ -11,7 +12,7 @@ from taiga.auth.tokens import get_token_for_user
pytestmark = pytest.mark.django_db pytestmark = pytest.mark.django_db
def test_api_user_normal_user(client): def test_users_create_through_standard_api(client):
user = f.UserFactory.create(is_superuser=True) user = f.UserFactory.create(is_superuser=True)
url = reverse('users-list') url = reverse('users-list')
@ -26,7 +27,7 @@ def test_api_user_normal_user(client):
assert response.status_code == 405 assert response.status_code == 405
def test_api_user_patch_same_email(client): def test_update_user_with_same_email(client):
user = f.UserFactory.create(email="same@email.com") user = f.UserFactory.create(email="same@email.com")
url = reverse('users-detail', kwargs={"pk": user.pk}) url = reverse('users-detail', kwargs={"pk": user.pk})
data = {"email": "same@email.com"} data = {"email": "same@email.com"}
@ -38,7 +39,7 @@ def test_api_user_patch_same_email(client):
assert response.data['_error_message'] == 'Duplicated email' assert response.data['_error_message'] == 'Duplicated email'
def test_api_user_patch_duplicated_email(client): def test_update_user_with_duplicated_email(client):
f.UserFactory.create(email="one@email.com") f.UserFactory.create(email="one@email.com")
user = f.UserFactory.create(email="two@email.com") user = f.UserFactory.create(email="two@email.com")
url = reverse('users-detail', kwargs={"pk": user.pk}) url = reverse('users-detail', kwargs={"pk": user.pk})
@ -51,7 +52,7 @@ def test_api_user_patch_duplicated_email(client):
assert response.data['_error_message'] == 'Duplicated email' assert response.data['_error_message'] == 'Duplicated email'
def test_api_user_patch_invalid_email(client): def test_update_user_with_invalid_email(client):
user = f.UserFactory.create(email="my@email.com") user = f.UserFactory.create(email="my@email.com")
url = reverse('users-detail', kwargs={"pk": user.pk}) url = reverse('users-detail', kwargs={"pk": user.pk})
data = {"email": "my@email"} data = {"email": "my@email"}
@ -63,7 +64,7 @@ def test_api_user_patch_invalid_email(client):
assert response.data['_error_message'] == 'Not valid email' assert response.data['_error_message'] == 'Not valid email'
def test_api_user_patch_valid_email(client): def test_update_user_with_valid_email(client):
user = f.UserFactory.create(email="old@email.com") user = f.UserFactory.create(email="old@email.com")
url = reverse('users-detail', kwargs={"pk": user.pk}) url = reverse('users-detail', kwargs={"pk": user.pk})
data = {"email": "new@email.com"} data = {"email": "new@email.com"}
@ -77,7 +78,7 @@ def test_api_user_patch_valid_email(client):
assert user.new_email == "new@email.com" assert user.new_email == "new@email.com"
def test_api_user_action_change_email_ok(client): def test_validate_requested_email_change(client):
user = f.UserFactory.create(email_token="change_email_token", new_email="new@email.com") user = f.UserFactory.create(email_token="change_email_token", new_email="new@email.com")
url = reverse('users-change-email') url = reverse('users-change-email')
data = {"email_token": "change_email_token"} data = {"email_token": "change_email_token"}
@ -92,19 +93,17 @@ def test_api_user_action_change_email_ok(client):
assert user.email == "new@email.com" assert user.email == "new@email.com"
def test_api_user_action_change_email_no_token(client): def test_validate_requested_email_change_without_token(client):
user = f.UserFactory.create(email_token="change_email_token", new_email="new@email.com") user = f.UserFactory.create(email_token="change_email_token", new_email="new@email.com")
url = reverse('users-change-email') url = reverse('users-change-email')
data = {} data = {}
client.login(user) client.login(user)
response = client.post(url, json.dumps(data), content_type="application/json") response = client.post(url, json.dumps(data), content_type="application/json")
assert response.status_code == 400 assert response.status_code == 400
assert response.data['_error_message'] == 'Invalid, are you sure the token is correct and you didn\'t use it before?'
def test_api_user_action_change_email_invalid_token(client): def test_validate_requested_email_change_with_invalid_token(client):
user = f.UserFactory.create(email_token="change_email_token", new_email="new@email.com") user = f.UserFactory.create(email_token="change_email_token", new_email="new@email.com")
url = reverse('users-change-email') url = reverse('users-change-email')
data = {"email_token": "invalid_email_token"} data = {"email_token": "invalid_email_token"}
@ -113,10 +112,9 @@ def test_api_user_action_change_email_invalid_token(client):
response = client.post(url, json.dumps(data), content_type="application/json") response = client.post(url, json.dumps(data), content_type="application/json")
assert response.status_code == 400 assert response.status_code == 400
assert response.data['_error_message'] == 'Invalid, are you sure the token is correct and you didn\'t use it before?'
def test_api_user_delete(client): def test_delete_self_user(client):
user = f.UserFactory.create() user = f.UserFactory.create()
url = reverse('users-detail', kwargs={"pk": user.pk}) url = reverse('users-detail', kwargs={"pk": user.pk})
@ -128,7 +126,7 @@ def test_api_user_delete(client):
assert user.full_name == "Deleted user" assert user.full_name == "Deleted user"
def test_api_user_cancel_valid_token(client): def test_cancel_self_user_with_valid_token(client):
user = f.UserFactory.create() user = f.UserFactory.create()
url = reverse('users-cancel') url = reverse('users-cancel')
cancel_token = get_token_for_user(user, "cancel_account") cancel_token = get_token_for_user(user, "cancel_account")
@ -141,7 +139,7 @@ def test_api_user_cancel_valid_token(client):
assert user.full_name == "Deleted user" assert user.full_name == "Deleted user"
def test_api_user_cancel_invalid_token(client): def test_cancel_self_user_with_invalid_token(client):
user = f.UserFactory.create() user = f.UserFactory.create()
url = reverse('users-cancel') url = reverse('users-cancel')
data = {"cancel_token": "invalid_cancel_token"} data = {"cancel_token": "invalid_cancel_token"}
@ -149,4 +147,32 @@ def test_api_user_cancel_invalid_token(client):
response = client.post(url, json.dumps(data), content_type="application/json") response = client.post(url, json.dumps(data), content_type="application/json")
assert response.status_code == 400 assert response.status_code == 400
assert response.data['_error_message'] == "Invalid, are you sure the token is correct?"
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