Create testproj default user in data migration
parent
e98876bb38
commit
a7d3066677
|
|
@ -45,7 +45,6 @@ You want to contribute some code? Great! Here are a few steps to get you started
|
||||||
|
|
||||||
(venv) $ cd testproj
|
(venv) $ cd testproj
|
||||||
(venv) $ python manage.py migrate
|
(venv) $ python manage.py migrate
|
||||||
(venv) $ python manage.py shell -c "import createsuperuser"
|
|
||||||
(venv) $ python manage.py runserver
|
(venv) $ python manage.py runserver
|
||||||
(venv) $ firefox localhost:8000/swagger/
|
(venv) $ firefox localhost:8000/swagger/
|
||||||
|
|
||||||
|
|
|
||||||
2
Procfile
2
Procfile
|
|
@ -1,2 +1,2 @@
|
||||||
release: python testproj/manage.py migrate && python testproj/manage.py shell -c "import createsuperuser"
|
release: python testproj/manage.py migrate
|
||||||
web: gunicorn --chdir testproj testproj.wsgi --log-file -
|
web: gunicorn --chdir testproj testproj.wsgi --log-file -
|
||||||
|
|
|
||||||
|
|
@ -297,7 +297,6 @@ For additional usage examples, you can take a look at the test project in the ``
|
||||||
(venv) $ python -m pip install -U pip setuptools
|
(venv) $ python -m pip install -U pip setuptools
|
||||||
(venv) $ pip install -U -r requirements.txt
|
(venv) $ pip install -U -r requirements.txt
|
||||||
(venv) $ python manage.py migrate
|
(venv) $ python manage.py migrate
|
||||||
(venv) $ python manage.py shell -c "import createsuperuser"
|
|
||||||
(venv) $ python manage.py runserver
|
(venv) $ python manage.py runserver
|
||||||
(venv) $ firefox localhost:8000/swagger/
|
(venv) $ firefox localhost:8000/swagger/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
from __future__ import print_function
|
|
||||||
|
|
||||||
from django.contrib.auth.models import User
|
|
||||||
from django.db.utils import IntegrityError
|
|
||||||
|
|
||||||
username = 'admin'
|
|
||||||
email = 'admin@admin.admin'
|
|
||||||
password = 'passwordadmin'
|
|
||||||
|
|
||||||
try:
|
|
||||||
User.objects.create_superuser(username, email, password)
|
|
||||||
except IntegrityError:
|
|
||||||
print("User '%s <%s>' already exists" % (username, email))
|
|
||||||
else:
|
|
||||||
print("Created superuser '%s <%s>' with password '%s'" % (username, email, password))
|
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
# Generated by Django 2.1.3 on 2018-12-19 08:07
|
||||||
|
import sys
|
||||||
|
|
||||||
|
from django.conf import settings
|
||||||
|
from django.contrib.auth.hashers import make_password
|
||||||
|
from django.db import migrations, IntegrityError
|
||||||
|
|
||||||
|
|
||||||
|
def add_default_user(apps, schema_editor):
|
||||||
|
username = 'admin'
|
||||||
|
email = 'admin@admin.admin'
|
||||||
|
password = 'passwordadmin'
|
||||||
|
User = apps.get_model(settings.AUTH_USER_MODEL)
|
||||||
|
|
||||||
|
try:
|
||||||
|
admin = User(
|
||||||
|
username=username,
|
||||||
|
email=email,
|
||||||
|
password=make_password(password),
|
||||||
|
is_superuser=True,
|
||||||
|
is_staff=True
|
||||||
|
)
|
||||||
|
admin.save()
|
||||||
|
except IntegrityError:
|
||||||
|
sys.stdout.write(" User '%s <%s>' already exists..." % (username, email))
|
||||||
|
else:
|
||||||
|
sys.stdout.write(" Created superuser '%s <%s>' with password '%s'!" % (username, email, password))
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
dependencies = [
|
||||||
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RunPython(add_default_user)
|
||||||
|
]
|
||||||
|
|
@ -22,8 +22,7 @@ def mock_schema_request(db):
|
||||||
from rest_framework.test import force_authenticate
|
from rest_framework.test import force_authenticate
|
||||||
|
|
||||||
factory = APIRequestFactory()
|
factory = APIRequestFactory()
|
||||||
user = User.objects.create_user(username='admin', is_staff=True, is_superuser=True)
|
user = User.objects.get(username='admin')
|
||||||
|
|
||||||
request = factory.get('/swagger.json')
|
request = factory.get('/swagger.json')
|
||||||
force_authenticate(request, user=user)
|
force_authenticate(request, user=user)
|
||||||
request = APIView().initialize_request(request)
|
request = APIView().initialize_request(request)
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@ import tempfile
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
from django.contrib.auth.models import User
|
|
||||||
|
|
||||||
from drf_yasg import openapi
|
from drf_yasg import openapi
|
||||||
from drf_yasg.codecs import yaml_sane_load
|
from drf_yasg.codecs import yaml_sane_load
|
||||||
|
|
@ -14,8 +13,6 @@ from drf_yasg.generators import OpenAPISchemaGenerator
|
||||||
|
|
||||||
|
|
||||||
def test_reference_schema(call_generate_swagger, db, reference_schema):
|
def test_reference_schema(call_generate_swagger, db, reference_schema):
|
||||||
User.objects.create_superuser('admin', 'admin@admin.admin', 'blabla')
|
|
||||||
|
|
||||||
output = call_generate_swagger(format='yaml', api_url='http://test.local:8002/', user='admin')
|
output = call_generate_swagger(format='yaml', api_url='http://test.local:8002/', user='admin')
|
||||||
output_schema = yaml_sane_load(output)
|
output_schema = yaml_sane_load(output)
|
||||||
assert output_schema == reference_schema
|
assert output_schema == reference_schema
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue