Files
linkding/bookmarks/tests/test_create_initial_superuser_command.py
Sascha Ißbrücker f88cc30b48 Add option to create initial superuser (#323)
* Add option to create initial superuser

* Update .env.sample
2022-09-04 08:08:15 +02:00

46 lines
1.3 KiB
Python

import os
from unittest import mock
from django.test import TestCase
from bookmarks.models import User
from bookmarks.management.commands.create_initial_superuser import Command
class TestCreateInitialSuperuserCommand(TestCase):
@mock.patch.dict(os.environ, {'LD_SUPERUSER_NAME': 'john', 'LD_SUPERUSER_PASSWORD': 'password123'})
def test_create_with_password(self):
Command().handle()
self.assertEqual(1, User.objects.count())
user = User.objects.first()
self.assertEqual('john', user.username)
self.assertTrue(user.has_usable_password())
self.assertTrue(user.check_password('password123'))
@mock.patch.dict(os.environ, {'LD_SUPERUSER_NAME': 'john'})
def test_create_without_password(self):
Command().handle()
self.assertEqual(1, User.objects.count())
user = User.objects.first()
self.assertEqual('john', user.username)
self.assertFalse(user.has_usable_password())
def test_create_without_options(self):
Command().handle()
self.assertEqual(0, User.objects.count())
@mock.patch.dict(os.environ, {'LD_SUPERUSER_NAME': 'john', 'LD_SUPERUSER_PASSWORD': 'password123'})
def test_create_multiple_times(self):
Command().handle()
Command().handle()
Command().handle()
self.assertEqual(1, User.objects.count())