django-pfx 1.4.dev26__tar.gz → 1.4.dev28__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/PKG-INFO +1 -1
  2. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/django_pfx.egg-info/PKG-INFO +1 -1
  3. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/django_pfx.egg-info/SOURCES.txt +1 -0
  4. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/decorator/rest.py +1 -3
  5. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/management/commands/makeapidoc.py +1 -2
  6. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/middleware/profiling.py +1 -2
  7. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/models/login_ban.py +1 -3
  8. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/models/otp_user_mixin.py +1 -3
  9. django-pfx-1.4.dev28/pfx/pfxcore/settings.py +22 -0
  10. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/shortcuts.py +1 -3
  11. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/views/authentication_views.py +1 -2
  12. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/tests/__init__.py +1 -0
  13. django-pfx-1.4.dev28/tests/tests/test_settings.py +23 -0
  14. django-pfx-1.4.dev26/pfx/pfxcore/settings.py +0 -11
  15. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/.gitignore +0 -0
  16. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/.gitlab-ci.yml +0 -0
  17. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/.pre-commit-config.yaml +0 -0
  18. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/LICENSE +0 -0
  19. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/MANIFEST.in +0 -0
  20. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/README.md +0 -0
  21. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/django-admin-test +0 -0
  22. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/django_pfx.egg-info/dependency_links.txt +0 -0
  23. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/django_pfx.egg-info/requires.txt +0 -0
  24. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/django_pfx.egg-info/top_level.txt +0 -0
  25. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/doc/Makefile +0 -0
  26. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/doc/conf.py +0 -0
  27. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/doc/index.rst +0 -0
  28. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/doc/source/api.views.rst +0 -0
  29. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/doc/source/authentication.md +0 -0
  30. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/doc/source/decorator.md +0 -0
  31. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/doc/source/generate_openapi.md +0 -0
  32. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/doc/source/getting_started.md +0 -0
  33. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/doc/source/internationalisation.md +0 -0
  34. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/doc/source/model.md +0 -0
  35. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/doc/source/pfx_views.md +0 -0
  36. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/doc/source/profiling.md +0 -0
  37. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/doc/source/settings.md +0 -0
  38. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/doc/source/testing.md +0 -0
  39. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/img/pfx.png +0 -0
  40. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/img/pfx.svg +0 -0
  41. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/__init__.py +0 -0
  42. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/__init__.py +0 -0
  43. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/apidoc/__init__.py +0 -0
  44. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/apidoc/parameters.py +0 -0
  45. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/apidoc/schema.py +0 -0
  46. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/apidoc/tags.py +0 -0
  47. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/apps.py +0 -0
  48. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/decorator/__init__.py +0 -0
  49. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/default_settings.py +0 -0
  50. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/exceptions.py +0 -0
  51. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/fields.py +0 -0
  52. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/http/__init__.py +0 -0
  53. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/http/json_response.py +0 -0
  54. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.mo +0 -0
  55. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.po +0 -0
  56. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/management/__init__.py +0 -0
  57. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/management/commands/__init__.py +0 -0
  58. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/management/commands/profile.py +0 -0
  59. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/middleware/__init__.py +0 -0
  60. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/middleware/authentication.py +0 -0
  61. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/middleware/locale.py +0 -0
  62. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/models/__init__.py +0 -0
  63. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/models/abstract_pfx_base_user.py +0 -0
  64. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/models/cache_mixins.py +0 -0
  65. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/models/not_null_fields.py +0 -0
  66. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/models/pfx_models.py +0 -0
  67. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/models/user_filtered_queryset_mixin.py +0 -0
  68. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/serializers/__init__.py +0 -0
  69. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/serializers/json.py +0 -0
  70. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/storage/__init__.py +0 -0
  71. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/storage/s3_storage.py +0 -0
  72. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/templates/registration/otp_code_email.txt +0 -0
  73. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/templates/registration/otp_code_subject.txt +0 -0
  74. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/templates/registration/password_reset_email.txt +0 -0
  75. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/templates/registration/password_reset_subject.txt +0 -0
  76. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/templates/registration/welcome_email.txt +0 -0
  77. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/templates/registration/welcome_subject.txt +0 -0
  78. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/test.py +0 -0
  79. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/urls.py +0 -0
  80. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/views/__init__.py +0 -0
  81. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/views/fields.py +0 -0
  82. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/views/filters_views.py +0 -0
  83. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/views/locale_views.py +0 -0
  84. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/views/parameters/__init__.py +0 -0
  85. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/views/parameters/date_format.py +0 -0
  86. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/views/parameters/groups.py +0 -0
  87. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/views/parameters/list_count.py +0 -0
  88. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/views/parameters/list_items.py +0 -0
  89. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/views/parameters/list_mode.py +0 -0
  90. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/views/parameters/list_order.py +0 -0
  91. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/views/parameters/list_search.py +0 -0
  92. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/views/parameters/media_redirect.py +0 -0
  93. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/views/parameters/meta_fields.py +0 -0
  94. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/views/parameters/meta_filters.py +0 -0
  95. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/views/parameters/meta_orders.py +0 -0
  96. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/views/parameters/subset.py +0 -0
  97. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/views/parameters/subset_limit.py +0 -0
  98. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/views/parameters/subset_offset.py +0 -0
  99. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/views/parameters/subset_page.py +0 -0
  100. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/views/parameters/subset_page_size.py +0 -0
  101. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/views/parameters/subset_page_subset.py +0 -0
  102. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pfx/pfxcore/views/rest_views.py +0 -0
  103. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/pyproject.toml +0 -0
  104. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/requirements.txt +0 -0
  105. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/runtest.py +0 -0
  106. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/serve-doc +0 -0
  107. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/setup.cfg +0 -0
  108. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/setup.py +0 -0
  109. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/__init__.py +0 -0
  110. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/locale/fr/LC_MESSAGES/django.po +0 -0
  111. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/models.py +0 -0
  112. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/settings/__init__.py +0 -0
  113. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/settings/ci.py +0 -0
  114. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/settings/common.py +0 -0
  115. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/settings/dev.py +0 -0
  116. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/settings/dev_custom_example.py +0 -0
  117. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/settings/dev_default.py +0 -0
  118. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/tests/basic_api_errors.py +0 -0
  119. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/tests/basic_api_test.py +0 -0
  120. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/tests/test_api_doc.py +0 -0
  121. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/tests/test_auth_api.py +0 -0
  122. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/tests/test_body_mixin.py +0 -0
  123. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/tests/test_cache.py +0 -0
  124. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/tests/test_client.py +0 -0
  125. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/tests/test_fields.py +0 -0
  126. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/tests/test_filters.py +0 -0
  127. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/tests/test_locale_api.py +0 -0
  128. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/tests/test_perm_tests.py +0 -0
  129. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/tests/test_perms_api.py +0 -0
  130. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/tests/test_profiling_middleware.py +0 -0
  131. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/tests/test_shortcuts.py +0 -0
  132. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/tests/test_timezone_middleware.py +0 -0
  133. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/tests/test_tools.py +0 -0
  134. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/tests/test_user_queryset.py +0 -0
  135. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/tests/test_view_decorators.py +0 -0
  136. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/tests/test_view_fields.py +0 -0
  137. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/urls.py +0 -0
  138. {django-pfx-1.4.dev26 → django-pfx-1.4.dev28}/tests/views.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: django-pfx
3
- Version: 1.4.dev26
3
+ Version: 1.4.dev28
4
4
  Summary: Django PFX is a toolkit designed to streamline the development of RESTful APIs using the Django framework.
5
5
  Author: Hervé Martinet
6
6
  Author-email: herve.martinet@gmail.com
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: django-pfx
3
- Version: 1.4.dev26
3
+ Version: 1.4.dev28
4
4
  Summary: Django PFX is a toolkit designed to streamline the development of RESTful APIs using the Django framework.
5
5
  Author: Hervé Martinet
6
6
  Author-email: herve.martinet@gmail.com
@@ -127,6 +127,7 @@ tests/tests/test_locale_api.py
127
127
  tests/tests/test_perm_tests.py
128
128
  tests/tests/test_perms_api.py
129
129
  tests/tests/test_profiling_middleware.py
130
+ tests/tests/test_settings.py
130
131
  tests/tests/test_shortcuts.py
131
132
  tests/tests/test_timezone_middleware.py
132
133
  tests/tests/test_tools.py
@@ -7,11 +7,9 @@ from apispec.utils import deepupdate
7
7
 
8
8
  from pfx.pfxcore.exceptions import APIError
9
9
  from pfx.pfxcore.http import JsonResponse
10
- from pfx.pfxcore.settings import PFXSettings
10
+ from pfx.pfxcore.settings import settings
11
11
  from pfx.pfxcore.test import format_request
12
12
 
13
- settings = PFXSettings()
14
-
15
13
  logger = logging.getLogger(__name__)
16
14
 
17
15
 
@@ -11,10 +11,9 @@ from apispec.yaml_utils import load_operations_from_docstring
11
11
 
12
12
  from pfx.pfxcore import __PFX_VIEWS__
13
13
  from pfx.pfxcore.apidoc import __PARAMETERS__, __TAGS__, ParameterGroup
14
- from pfx.pfxcore.settings import PFXSettings
14
+ from pfx.pfxcore.settings import settings
15
15
  from pfx.pfxcore.views import FilterGroup, ModelMixin
16
16
 
17
- settings = PFXSettings()
18
17
  DEFAULT_TEMPLATE = dict(
19
18
  title="PFX API",
20
19
  version="1.0.0",
@@ -11,10 +11,9 @@ from django.utils.deprecation import MiddlewareMixin
11
11
 
12
12
  import sqlparse
13
13
 
14
- from pfx.pfxcore.settings import PFXSettings
14
+ from pfx.pfxcore.settings import settings
15
15
 
16
16
  logger = logging.getLogger(__name__)
17
- settings = PFXSettings()
18
17
  rid = ContextVar('var')
19
18
 
20
19
 
@@ -4,9 +4,7 @@ from django.db import models
4
4
  from django.utils import timezone
5
5
  from django.utils.translation import gettext_lazy as _
6
6
 
7
- from pfx.pfxcore.settings import PFXSettings
8
-
9
- settings = PFXSettings()
7
+ from pfx.pfxcore.settings import settings
10
8
 
11
9
 
12
10
  class LoginBanQuerySet(models.QuerySet):
@@ -4,9 +4,7 @@ from django.db import models
4
4
  from django.utils import timezone
5
5
  from django.utils.translation import gettext_lazy as _
6
6
 
7
- from pfx.pfxcore.settings import PFXSettings
8
-
9
- settings = PFXSettings()
7
+ from pfx.pfxcore.settings import settings
10
8
 
11
9
 
12
10
  class OtpUserMixin(models.Model):
@@ -0,0 +1,22 @@
1
+ from django.conf import settings as django_settings
2
+ from django.core.exceptions import ImproperlyConfigured
3
+
4
+ from . import default_settings
5
+
6
+
7
+ class PFXSettings:
8
+ def __getattr__(self, name):
9
+ try:
10
+ val = getattr(django_settings, name)
11
+ except AttributeError:
12
+ if hasattr(default_settings, name):
13
+ val = getattr(default_settings, name)
14
+ else:
15
+ raise
16
+ if name == "PFX_SECRET_KEY" and not val:
17
+ raise ImproperlyConfigured(
18
+ "The PFX_SECRET_KEY setting must not be empty.")
19
+ return val
20
+
21
+
22
+ settings = PFXSettings()
@@ -5,9 +5,7 @@ from datetime import date
5
5
  from django.core.exceptions import ObjectDoesNotExist
6
6
  from django.utils.translation import gettext_lazy as _
7
7
 
8
- from pfx.pfxcore.settings import PFXSettings
9
-
10
- settings = PFXSettings()
8
+ from .settings import settings
11
9
 
12
10
  logger = logging.getLogger(__name__)
13
11
 
@@ -32,7 +32,7 @@ from pfx.pfxcore.http import JsonResponse
32
32
  from pfx.pfxcore.middleware.authentication import JWTTokenDecodeMixin
33
33
  from pfx.pfxcore.models import CacheableMixin, OtpUserMixin
34
34
  from pfx.pfxcore.models.login_ban import LoginBan
35
- from pfx.pfxcore.settings import PFXSettings
35
+ from pfx.pfxcore.settings import settings
36
36
  from pfx.pfxcore.shortcuts import delete_token_cookie
37
37
 
38
38
  from .rest_views import (
@@ -42,7 +42,6 @@ from .rest_views import (
42
42
  ModelMixin,
43
43
  )
44
44
 
45
- settings = PFXSettings()
46
45
  logger = logging.getLogger(__name__)
47
46
  UserModel = get_user_model()
48
47
  AUTHENTICATION_TAG = Tag("Authentication")
@@ -11,6 +11,7 @@ from .test_locale_api import LocaleAPITest
11
11
  from .test_perm_tests import PermTestsTest
12
12
  from .test_perms_api import PermsAPITest
13
13
  from .test_profiling_middleware import ProfilingMiddlewareTest
14
+ from .test_settings import TestSettings
14
15
  from .test_shortcuts import ShortcutTest
15
16
  from .test_timezone_middleware import TimezoneMiddlewareTest
16
17
  from .test_tools import TestTools
@@ -0,0 +1,23 @@
1
+ from datetime import timedelta
2
+
3
+ from django.core.exceptions import ImproperlyConfigured
4
+ from django.test import TestCase, override_settings
5
+
6
+ from pfx.pfxcore.test import TestAssertMixin
7
+ from pfx.pfxcore.views import AuthenticationView
8
+ from tests.models import User
9
+
10
+
11
+ class TestSettings(TestAssertMixin, TestCase):
12
+
13
+ @override_settings(PFX_SECRET_KEY="")
14
+ def test_mandatory_pfx_secret_key(self):
15
+ user = User.objects.create_user(
16
+ username='user',
17
+ email="user@example.com",
18
+ password='test',
19
+ first_name='User',
20
+ last_name='Test')
21
+
22
+ with self.assertRaises(ImproperlyConfigured):
23
+ AuthenticationView()._prepare_token(user, timedelta())
@@ -1,11 +0,0 @@
1
- from django.conf import settings
2
-
3
- from . import default_settings
4
-
5
-
6
- class PFXSettings:
7
- def __getattr__(self, attr):
8
- try:
9
- return getattr(settings, attr)
10
- except AttributeError:
11
- return getattr(default_settings, attr)
File without changes
File without changes
File without changes
File without changes
File without changes