Add /admin/ and /o/ urls to test urlconfs

master
Cristi Vîjdea 2018-12-21 12:58:41 +02:00
parent 8057ce7a4a
commit f77672875d
7 changed files with 19 additions and 12 deletions

View File

@ -123,7 +123,7 @@ class SwaggerUIRenderer(_UIRenderer):
super(SwaggerUIRenderer, self).set_context(renderer_context, swagger)
swagger_ui_settings = self.get_swagger_ui_settings()
request = renderer_context['request']
request = renderer_context.get('request', None)
oauth_redirect_url = force_text(swagger_ui_settings.get('oauth2RedirectUrl', ''))
if request and oauth_redirect_url:
swagger_ui_settings['oauth2RedirectUrl'] = request.build_absolute_uri(oauth_redirect_url)

View File

@ -47,6 +47,12 @@ def root_redirect(request):
return redirect(schema_view, permanent=True)
# urlpatterns required for settings values
required_urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^o/', include('oauth2_provider.urls', namespace='oauth2_provider')),
]
urlpatterns = [
url(r'^swagger(?P<format>.json|.yaml)$', SchemaView.without_ui(cache_timeout=0), name='schema-json'),
url(r'^swagger/$', SchemaView.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
@ -59,13 +65,10 @@ urlpatterns = [
url(r'^$', root_redirect),
url(r'^admin/', admin.site.urls),
url(r'^o/', include('oauth2_provider.urls', namespace='oauth2_provider')),
url(r'^snippets/', include('snippets.urls')),
url(r'^articles/', include('articles.urls')),
url(r'^users/', include('users.urls')),
url(r'^todo/', include('todo.urls')),
url(r'^people/', include('people.urls')),
url(r'^plain/', plain_view),
]
] + required_urlpatterns

View File

@ -1,11 +1,13 @@
from django.conf.urls import url
from testproj.urls import required_urlpatterns
def dummy(request):
pass
urlpatterns = [
urlpatterns = required_urlpatterns + [
url(r'^test/login$', dummy, name='login'),
url(r'^test/logout$', dummy, name='logout'),
]

View File

@ -3,6 +3,7 @@ from rest_framework import generics, versioning
from snippets.models import Snippet
from snippets.serializers import SnippetSerializer
from testproj.urls import required_urlpatterns
class SnippetList(generics.ListCreateAPIView):
@ -21,6 +22,6 @@ class SnippetList(generics.ListCreateAPIView):
app_name = 'test_ns_versioning'
urlpatterns = [
urlpatterns = required_urlpatterns + [
url(r"^$", SnippetList.as_view())
]

View File

@ -2,6 +2,7 @@ from django.conf.urls import url
from rest_framework import fields
from snippets.serializers import SnippetSerializer
from testproj.urls import required_urlpatterns
from .ns_version1 import SnippetList as SnippetListV1
@ -19,6 +20,6 @@ class SnippetListV2(SnippetListV1):
app_name = '2.0'
urlpatterns = [
urlpatterns = required_urlpatterns + [
url(r"^$", SnippetListV2.as_view())
]

View File

@ -1,7 +1,7 @@
from django.conf.urls import include, url
from rest_framework import versioning
from testproj.urls import SchemaView
from testproj.urls import SchemaView, required_urlpatterns
from . import ns_version1, ns_version2
@ -17,7 +17,7 @@ schema_patterns = [
]
urlpatterns = [
urlpatterns = required_urlpatterns + [
url(VERSION_PREFIX_NS + r"v1.0/snippets/", include(ns_version1, namespace='1.0')),
url(VERSION_PREFIX_NS + r"v2.0/snippets/", include(ns_version2)),
url(VERSION_PREFIX_NS + r'v1.0/', include((schema_patterns, '1.0'))),

View File

@ -3,7 +3,7 @@ from rest_framework import fields, generics, versioning
from snippets.models import Snippet
from snippets.serializers import SnippetSerializer
from testproj.urls import SchemaView
from testproj.urls import SchemaView, required_urlpatterns
class SnippetSerializerV2(SnippetSerializer):
@ -42,7 +42,7 @@ class VersionedSchemaView(SchemaView):
versioning_class = versioning.URLPathVersioning
urlpatterns = [
urlpatterns = required_urlpatterns + [
url(VERSION_PREFIX_URL + r"snippets/$", SnippetList.as_view()),
url(VERSION_PREFIX_URL + r'swagger(?P<format>.json|.yaml)$', VersionedSchemaView.without_ui(), name='vschema-json'),
]