From 022c92f77518134fc4c06dccae256ae5ab54a952 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Fri, 21 Sep 2018 00:12:45 -0400 Subject: [PATCH] Add an user test mixin to group user testing. Add test the user managament app for database conversion. Signed-off-by: Roberto Rosario --- HISTORY.rst | 5 ++++- mayan/apps/user_management/tests/mixins.py | 20 +++++++++++++++++++ mayan/apps/user_management/tests/test_api.py | 10 ++-------- .../apps/user_management/tests/test_models.py | 11 ++++++++++ .../apps/user_management/tests/test_views.py | 8 ++------ 5 files changed, 39 insertions(+), 15 deletions(-) create mode 100644 mayan/apps/user_management/tests/mixins.py create mode 100644 mayan/apps/user_management/tests/test_models.py diff --git a/HISTORY.rst b/HISTORY.rst index b5ffdcf61e..a143646fa1 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -3,8 +3,11 @@ * Database access in data migrations defaults to the 'default' database. Force it to the user selected database instead. * Don't use a hardcoded database alias for the destination of the database conversion. * Improve natural key support in the UserOptions model. -* Update from Django 1.11.11 to 1.11.16 +* Update from Django 1.11.11 to 1.11.16. * Add support to the convertdb command to operate on specified apps too. +* Add test mixin to test the db conversion (dumping and loading) of a specific app. +* Add an user test mixin to group user testing. +* Add test the user managament app for database conversion. 3.1.1 (2018-09-18) ================== diff --git a/mayan/apps/user_management/tests/mixins.py b/mayan/apps/user_management/tests/mixins.py new file mode 100644 index 0000000000..ed3c0cd77b --- /dev/null +++ b/mayan/apps/user_management/tests/mixins.py @@ -0,0 +1,20 @@ +from __future__ import unicode_literals + +from django.contrib.auth import get_user_model + +from .literals import ( + TEST_USER_2_EMAIL, TEST_USER_2_PASSWORD, TEST_USER_2_USERNAME +) + + +class UserTestMixin(object): + def _create_user(self): + return get_user_model().objects.create_user( + username=TEST_USER_2_USERNAME, email=TEST_USER_2_EMAIL, + password=TEST_USER_2_PASSWORD + ) + + def _create_test_user_2(self): + self.user_2 = get_user_model().objects.create( + username=TEST_USER_2_USERNAME + ) diff --git a/mayan/apps/user_management/tests/test_api.py b/mayan/apps/user_management/tests/test_api.py index 7297648713..f84671b8ea 100644 --- a/mayan/apps/user_management/tests/test_api.py +++ b/mayan/apps/user_management/tests/test_api.py @@ -19,21 +19,15 @@ from .literals import ( TEST_USER_2_PASSWORD, TEST_USER_2_USERNAME, TEST_USER_2_USERNAME_EDITED, TEST_USER_2_PASSWORD_EDITED ) +from .mixins import UserTestMixin -class UserManagementUserAPITestCase(BaseAPITestCase): +class UserManagementUserAPITestCase(UserTestMixin, BaseAPITestCase): def setUp(self): super(UserManagementUserAPITestCase, self).setUp() self.login_user() # User create - - def _create_user(self): - return get_user_model().objects.create_user( - username=TEST_USER_2_USERNAME, email=TEST_USER_2_EMAIL, - password=TEST_USER_2_PASSWORD - ) - def _request_user_create(self): return self.post( viewname='rest_api:user-list', data={ diff --git a/mayan/apps/user_management/tests/test_models.py b/mayan/apps/user_management/tests/test_models.py new file mode 100644 index 0000000000..12e3b5c4e3 --- /dev/null +++ b/mayan/apps/user_management/tests/test_models.py @@ -0,0 +1,11 @@ +from __future__ import unicode_literals + +from common.tests import BaseTestCase + +from .mixins import UserTestMixin + + +class UserTestCase(UserTestMixin, BaseTestCase): + def test_natural_keys(self): + self._create_user() + self._test_database_conversion('auth', 'user_management') diff --git a/mayan/apps/user_management/tests/test_views.py b/mayan/apps/user_management/tests/test_views.py index 3f398f4615..c857f5882e 100644 --- a/mayan/apps/user_management/tests/test_views.py +++ b/mayan/apps/user_management/tests/test_views.py @@ -20,11 +20,12 @@ from ..permissions import ( from .literals import ( TEST_USER_PASSWORD_EDITED, TEST_USER_USERNAME, TEST_USER_2_USERNAME ) +from .mixins import UserTestMixin TEST_USER_TO_DELETE_USERNAME = 'user_to_delete' -class UserManagementViewTestCase(GenericViewTestCase): +class UserManagementViewTestCase(UserTestMixin, GenericViewTestCase): def setUp(self): super(UserManagementViewTestCase, self).setUp() self.login_user() @@ -57,11 +58,6 @@ class UserManagementViewTestCase(GenericViewTestCase): } ) - def _create_test_user_2(self): - self.user_2 = get_user_model().objects.create( - username=TEST_USER_2_USERNAME - ) - def test_user_set_password_view_no_access(self): self._create_test_user_2() response = self._request_set_password(