From 0f207da0dc77f18d8b67c772fc956736350fb497 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Wed, 15 Oct 2014 17:30:22 +0200 Subject: [PATCH] Put more clear names to user test functions. --- tests/integration/test_change_avatar.py | 54 ------------------------ tests/integration/test_users.py | 56 ++++++++++++++++++------- 2 files changed, 41 insertions(+), 69 deletions(-) delete mode 100644 tests/integration/test_change_avatar.py diff --git a/tests/integration/test_change_avatar.py b/tests/integration/test_change_avatar.py deleted file mode 100644 index a2202f32..00000000 --- a/tests/integration/test_change_avatar.py +++ /dev/null @@ -1,54 +0,0 @@ -# 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 diff --git a/tests/integration/test_users.py b/tests/integration/test_users.py index 2beb3762..7c749cdb 100644 --- a/tests/integration/test_users.py +++ b/tests/integration/test_users.py @@ -1,5 +1,6 @@ import pytest import json +from tempfile import NamedTemporaryFile from django.core.urlresolvers import reverse @@ -11,7 +12,7 @@ from taiga.auth.tokens import get_token_for_user 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) url = reverse('users-list') @@ -26,7 +27,7 @@ def test_api_user_normal_user(client): 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") url = reverse('users-detail', kwargs={"pk": user.pk}) data = {"email": "same@email.com"} @@ -38,7 +39,7 @@ def test_api_user_patch_same_email(client): 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") user = f.UserFactory.create(email="two@email.com") 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' -def test_api_user_patch_invalid_email(client): +def test_update_user_with_invalid_email(client): user = f.UserFactory.create(email="my@email.com") url = reverse('users-detail', kwargs={"pk": user.pk}) data = {"email": "my@email"} @@ -63,7 +64,7 @@ def test_api_user_patch_invalid_email(client): 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") url = reverse('users-detail', kwargs={"pk": user.pk}) data = {"email": "new@email.com"} @@ -77,7 +78,7 @@ def test_api_user_patch_valid_email(client): 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") url = reverse('users-change-email') 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" -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") url = reverse('users-change-email') data = {} client.login(user) response = client.post(url, json.dumps(data), content_type="application/json") - 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") url = reverse('users-change-email') 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") 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() url = reverse('users-detail', kwargs={"pk": user.pk}) @@ -128,7 +126,7 @@ def test_api_user_delete(client): 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() url = reverse('users-cancel') 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" -def test_api_user_cancel_invalid_token(client): +def test_cancel_self_user_with_invalid_token(client): user = f.UserFactory.create() url = reverse('users-cancel') 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") 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