mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Moved createsuperuser test app into auth_tests.
This commit is contained in:
		@@ -169,6 +169,28 @@ class ChangepasswordManagementCommandTestCase(TestCase):
 | 
				
			|||||||
        call_command('changepassword', username='J\xfalia', stdout=self.stdout)
 | 
					        call_command('changepassword', username='J\xfalia', stdout=self.stdout)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class MultiDBChangepasswordManagementCommandTestCase(TestCase):
 | 
				
			||||||
 | 
					    multi_db = True
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @mock.patch.object(changepassword.Command, '_get_pass', return_value='not qwerty')
 | 
				
			||||||
 | 
					    def test_that_changepassword_command_with_database_option_uses_given_db(self, mock_get_pass):
 | 
				
			||||||
 | 
					        """
 | 
				
			||||||
 | 
					        changepassword --database should operate on the specified DB.
 | 
				
			||||||
 | 
					        """
 | 
				
			||||||
 | 
					        user = User.objects.db_manager('other').create_user(username='joe', password='qwerty')
 | 
				
			||||||
 | 
					        self.assertTrue(user.check_password('qwerty'))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        out = six.StringIO()
 | 
				
			||||||
 | 
					        call_command('changepassword', username='joe', database='other', stdout=out)
 | 
				
			||||||
 | 
					        command_output = out.getvalue().strip()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        self.assertEqual(
 | 
				
			||||||
 | 
					            command_output,
 | 
				
			||||||
 | 
					            "Changing password for user 'joe'\nPassword changed successfully for user 'joe'"
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					        self.assertTrue(User.objects.using('other').get(username="joe").check_password('not qwerty'))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@override_settings(
 | 
					@override_settings(
 | 
				
			||||||
    SILENCED_SYSTEM_CHECKS=['fields.W342'],  # ForeignKey(unique=True)
 | 
					    SILENCED_SYSTEM_CHECKS=['fields.W342'],  # ForeignKey(unique=True)
 | 
				
			||||||
    AUTH_PASSWORD_VALIDATORS=[{'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator'}],
 | 
					    AUTH_PASSWORD_VALIDATORS=[{'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator'}],
 | 
				
			||||||
@@ -525,6 +547,28 @@ class CreatesuperuserManagementCommandTestCase(TestCase):
 | 
				
			|||||||
        test(self)
 | 
					        test(self)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class MultiDBCreatesuperuserTestCase(TestCase):
 | 
				
			||||||
 | 
					    multi_db = True
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def test_createsuperuser_command_with_database_option(self):
 | 
				
			||||||
 | 
					        """
 | 
				
			||||||
 | 
					        changepassword --database should operate on the specified DB.
 | 
				
			||||||
 | 
					        """
 | 
				
			||||||
 | 
					        new_io = six.StringIO()
 | 
				
			||||||
 | 
					        call_command(
 | 
				
			||||||
 | 
					            'createsuperuser',
 | 
				
			||||||
 | 
					            interactive=False,
 | 
				
			||||||
 | 
					            username='joe',
 | 
				
			||||||
 | 
					            email='joe@somewhere.org',
 | 
				
			||||||
 | 
					            database='other',
 | 
				
			||||||
 | 
					            stdout=new_io,
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					        command_output = new_io.getvalue().strip()
 | 
				
			||||||
 | 
					        self.assertEqual(command_output, 'Superuser created successfully.')
 | 
				
			||||||
 | 
					        user = User.objects.using('other').get(username='joe')
 | 
				
			||||||
 | 
					        self.assertEqual(user.email, 'joe@somewhere.org')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class CustomUserModelValidationTestCase(SimpleTestCase):
 | 
					class CustomUserModelValidationTestCase(SimpleTestCase):
 | 
				
			||||||
    @override_settings(AUTH_USER_MODEL='auth_tests.CustomUserNonListRequiredFields')
 | 
					    @override_settings(AUTH_USER_MODEL='auth_tests.CustomUserNonListRequiredFields')
 | 
				
			||||||
    @override_system_checks([check_user_model])
 | 
					    @override_system_checks([check_user_model])
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,55 +0,0 @@
 | 
				
			|||||||
from django.contrib.auth import models
 | 
					 | 
				
			||||||
from django.contrib.auth.management.commands import changepassword
 | 
					 | 
				
			||||||
from django.core.management import call_command
 | 
					 | 
				
			||||||
from django.test import TestCase, mock
 | 
					 | 
				
			||||||
from django.utils.six import StringIO
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class MultiDBChangepasswordManagementCommandTestCase(TestCase):
 | 
					 | 
				
			||||||
    multi_db = True
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    def setUp(self):
 | 
					 | 
				
			||||||
        self.user = models.User.objects.db_manager('other').create_user(username='joe', password='qwerty')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    @mock.patch.object(changepassword.Command, '_get_pass', return_value='not qwerty')
 | 
					 | 
				
			||||||
    def test_that_changepassword_command_with_database_option_uses_given_db(self, mock_get_pass):
 | 
					 | 
				
			||||||
        """
 | 
					 | 
				
			||||||
        Executing the changepassword management command with a database option
 | 
					 | 
				
			||||||
        should operate on the specified DB
 | 
					 | 
				
			||||||
        """
 | 
					 | 
				
			||||||
        self.assertTrue(self.user.check_password('qwerty'))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        out = StringIO()
 | 
					 | 
				
			||||||
        call_command('changepassword', username='joe', database='other', stdout=out)
 | 
					 | 
				
			||||||
        command_output = out.getvalue().strip()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        self.assertEqual(
 | 
					 | 
				
			||||||
            command_output,
 | 
					 | 
				
			||||||
            "Changing password for user 'joe'\nPassword changed successfully for user 'joe'"
 | 
					 | 
				
			||||||
        )
 | 
					 | 
				
			||||||
        self.assertTrue(models.User.objects.using('other').get(username="joe").check_password("not qwerty"))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class MultiDBCreatesuperuserTestCase(TestCase):
 | 
					 | 
				
			||||||
    multi_db = True
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    def test_createsuperuser_command_with_database_option(self):
 | 
					 | 
				
			||||||
        " createsuperuser command should operate on specified DB"
 | 
					 | 
				
			||||||
        new_io = StringIO()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        call_command(
 | 
					 | 
				
			||||||
            "createsuperuser",
 | 
					 | 
				
			||||||
            interactive=False,
 | 
					 | 
				
			||||||
            username="joe",
 | 
					 | 
				
			||||||
            email="joe@somewhere.org",
 | 
					 | 
				
			||||||
            database='other',
 | 
					 | 
				
			||||||
            stdout=new_io
 | 
					 | 
				
			||||||
        )
 | 
					 | 
				
			||||||
        command_output = new_io.getvalue().strip()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        self.assertEqual(command_output, 'Superuser created successfully.')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        u = models.User.objects.using('other').get(username="joe")
 | 
					 | 
				
			||||||
        self.assertEqual(u.email, 'joe@somewhere.org')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        new_io.close()
 | 
					 | 
				
			||||||
		Reference in New Issue
	
	Block a user