diff --git a/CHANGELOG.md b/CHANGELOG.md index 29b66f2a5..c5bfcc473 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,16 @@ All enhancements and patches to Cookiecutter Django will be documented in this f +## 2022.02.16 + +### Fixed +- Fix Swagger schema API endpoint & add a test for it ([#3592](https://github.com/cookiecutter/cookiecutter-django/pull/3592)) + +## 2022.02.15 + +### Changed +- Update the drf-spectacular local dev server url to use http instead of https ([#3591](https://github.com/cookiecutter/cookiecutter-django/pull/3591)) + ## 2022.02.13 ### Changed diff --git a/hooks/post_gen_project.py b/hooks/post_gen_project.py index 70ff207a7..5c01cb621 100644 --- a/hooks/post_gen_project.py +++ b/hooks/post_gen_project.py @@ -418,7 +418,7 @@ def remove_drf_starter_files(): ) os.remove( os.path.join( - "{{cookiecutter.project_slug}}", "users", "tests", "test_swagger_ui.py" + "{{cookiecutter.project_slug}}", "users", "tests", "test_swagger.py" ) ) diff --git a/setup.py b/setup.py index e8faeabc6..4be18dbfb 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ except ImportError: from distutils.core import setup # We use calendar versioning -version = "2022.02.13" +version = "2022.02.16" with open("README.rst") as readme_file: long_description = readme_file.read() diff --git a/{{cookiecutter.project_slug}}/config/settings/base.py b/{{cookiecutter.project_slug}}/config/settings/base.py index 10c53fdef..1618800d7 100644 --- a/{{cookiecutter.project_slug}}/config/settings/base.py +++ b/{{cookiecutter.project_slug}}/config/settings/base.py @@ -339,6 +339,7 @@ REST_FRAMEWORK = { "rest_framework.authentication.TokenAuthentication", ), "DEFAULT_PERMISSION_CLASSES": ("rest_framework.permissions.IsAuthenticated",), + "DEFAULT_SCHEMA_CLASS": "drf_spectacular.openapi.AutoSchema", } # django-cors-headers - https://github.com/adamchainz/django-cors-headers#setup diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_swagger_ui.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_swagger.py similarity index 70% rename from {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_swagger_ui.py rename to {{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_swagger.py index b0c24d91b..7f5b75844 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_swagger_ui.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_swagger.py @@ -14,3 +14,9 @@ def test_swagger_ui_not_accessible_by_normal_user(client): url = reverse("api-docs") response = client.get(url) assert response.status_code == 403 + + +def test_api_schema_generated_successfully(admin_client): + url = reverse("api-schema") + response = admin_client.get(url) + assert response.status_code == 200