@@ -19,7 +19,7 @@ def django_settings(self):
1919 import django
2020 from django .conf import settings
2121 from django .contrib import admin
22- from django .urls import path
22+ from django .urls import path , re_path
2323
2424 if settings .configured :
2525 return
@@ -44,6 +44,7 @@ def django_settings(self):
4444 django .setup ()
4545 settings .ROOT_URLCONF = (
4646 path ('admin/' , admin .site .urls ),
47+ re_path ('^test/test-regexp/$' , lambda d : None )
4748 )
4849
4950 @pytest .fixture
@@ -138,6 +139,31 @@ def test_url_rule(self, request_factory):
138139 assert openapi_request .body == request .body
139140 assert openapi_request .mimetype == request .content_type
140141
142+ def test_url_regexp_pattern (self , request_factory ):
143+ from django .urls import resolve
144+ request = request_factory .get ('/test/test-regexp/' )
145+ request .resolver_match = resolve ('/test/test-regexp/' )
146+
147+ openapi_request = DjangoOpenAPIRequest (request )
148+
149+ path = {}
150+ query = {}
151+ headers = {
152+ 'Cookie' : '' ,
153+ }
154+ cookies = {}
155+ assert openapi_request .parameters == RequestParameters (
156+ path = path ,
157+ query = query ,
158+ header = headers ,
159+ cookie = cookies ,
160+ )
161+ assert openapi_request .method == request .method .lower ()
162+ assert openapi_request .full_url_pattern == \
163+ request ._current_scheme_host + "/test/test-regexp/"
164+ assert openapi_request .body == request .body
165+ assert openapi_request .mimetype == request .content_type
166+
141167
142168class TestDjangoOpenAPIResponse (BaseTestDjango ):
143169
0 commit comments