Integrate django-autoadmin into the core apps
Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
TEST_ADMIN_USER_EMAIL = 'testemail@example.com'
|
||||
TEST_ADMIN_USER_PASSWORD = 'test admin user password'
|
||||
TEST_ADMIN_USER_USERNAME = 'test_admin_user_username'
|
||||
TEST_FIRST_TIME_LOGIN_TEXT = 'First time login'
|
||||
TEST_MOCK_VIEW_TEXT = 'mock view text'
|
||||
@@ -0,0 +1,28 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.core import management
|
||||
from django.test import TestCase
|
||||
|
||||
from mayan.apps.common.tests.utils import mute_stdout
|
||||
|
||||
from ..models import AutoAdminSingleton
|
||||
|
||||
|
||||
class AutoAdminManagementCommandTestCase(TestCase):
|
||||
def setUp(self):
|
||||
with mute_stdout():
|
||||
management.call_command('createautoadmin')
|
||||
|
||||
def tearDown(self):
|
||||
AutoAdminSingleton.objects.all().delete()
|
||||
|
||||
def test_autoadmin_creation(self):
|
||||
autoadmin = AutoAdminSingleton.objects.get()
|
||||
user = get_user_model().objects.first()
|
||||
|
||||
self.assertEqual(AutoAdminSingleton.objects.count(), 1)
|
||||
|
||||
self.assertEqual(autoadmin.account, user)
|
||||
self.assertEqual(autoadmin.account.email, user.email)
|
||||
self.assertEqual(autoadmin.password_hash, user.password)
|
||||
@@ -0,0 +1,43 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import logging
|
||||
|
||||
from django.test import TestCase
|
||||
|
||||
from mayan.apps.common.tests.utils import mute_stdout
|
||||
|
||||
from ..models import AutoAdminSingleton
|
||||
from ..settings import setting_username
|
||||
|
||||
from .literals import TEST_ADMIN_USER_PASSWORD
|
||||
|
||||
|
||||
class AutoAdminHandlerTestCase(TestCase):
|
||||
def test_post_admin_creation(self):
|
||||
logging.disable(logging.INFO)
|
||||
|
||||
with mute_stdout():
|
||||
AutoAdminSingleton.objects.create_autoadmin()
|
||||
|
||||
self.assertEqual(
|
||||
AutoAdminSingleton.objects.get().account.username,
|
||||
setting_username.value
|
||||
)
|
||||
|
||||
user = AutoAdminSingleton.objects.get().account
|
||||
|
||||
user.set_password(TEST_ADMIN_USER_PASSWORD)
|
||||
user.save(update_fields=['password'])
|
||||
|
||||
self.assertEqual(AutoAdminSingleton.objects.get().account, None)
|
||||
|
||||
def test_double_creation(self):
|
||||
with mute_stdout():
|
||||
AutoAdminSingleton.objects.create_autoadmin()
|
||||
|
||||
self.assertEqual(AutoAdminSingleton.objects.count(), 1)
|
||||
|
||||
logging.disable(logging.ERROR)
|
||||
|
||||
AutoAdminSingleton.objects.create_autoadmin()
|
||||
self.assertEqual(AutoAdminSingleton.objects.count(), 1)
|
||||
@@ -0,0 +1,46 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from mayan.apps.common.settings import setting_home_view
|
||||
from mayan.apps.common.tests import GenericViewTestCase
|
||||
from mayan.apps.common.tests.utils import mute_stdout
|
||||
|
||||
from ..models import AutoAdminSingleton
|
||||
|
||||
from .literals import TEST_FIRST_TIME_LOGIN_TEXT, TEST_MOCK_VIEW_TEXT
|
||||
|
||||
|
||||
class AutoAdminViewCase(GenericViewTestCase):
|
||||
auto_create_group = False
|
||||
auto_create_users = False
|
||||
auto_login_user = False
|
||||
|
||||
def setUp(self):
|
||||
super(AutoAdminViewCase, self).setUp()
|
||||
with mute_stdout():
|
||||
AutoAdminSingleton.objects.create_autoadmin()
|
||||
|
||||
def _request_home_view(self):
|
||||
return self.get(viewname=setting_home_view.value, follow=True)
|
||||
|
||||
def test_login_302_view(self):
|
||||
response = self._request_home_view()
|
||||
|
||||
self.assertContains(
|
||||
response=response, text=TEST_FIRST_TIME_LOGIN_TEXT,
|
||||
status_code=200
|
||||
)
|
||||
|
||||
def test_login_ok_view(self):
|
||||
autoadmin = AutoAdminSingleton.objects.get()
|
||||
logged_in = self.login(
|
||||
username=autoadmin.account,
|
||||
password=autoadmin.password
|
||||
)
|
||||
self.assertTrue(logged_in)
|
||||
|
||||
response = self._request_home_view()
|
||||
|
||||
self.assertNotContains(
|
||||
response=response, text=TEST_MOCK_VIEW_TEXT,
|
||||
status_code=200
|
||||
)
|
||||
Reference in New Issue
Block a user