mirror of
https://github.com/sissbruecker/linkding
synced 2024-11-26 13:20:23 +00:00
50 lines
1.4 KiB
Python
50 lines
1.4 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())
|