@@ -19,7 +19,7 @@ def django_settings(self):
19
19
import django
20
20
from django .conf import settings
21
21
from django .contrib import admin
22
- from django .urls import path
22
+ from django .urls import path , re_path
23
23
24
24
if settings .configured :
25
25
return
@@ -44,6 +44,7 @@ def django_settings(self):
44
44
django .setup ()
45
45
settings .ROOT_URLCONF = (
46
46
path ('admin/' , admin .site .urls ),
47
+ re_path ('^test/test-regexp/$' , lambda d : None )
47
48
)
48
49
49
50
@pytest .fixture
@@ -138,6 +139,31 @@ def test_url_rule(self, request_factory):
138
139
assert openapi_request .body == request .body
139
140
assert openapi_request .mimetype == request .content_type
140
141
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
+
141
167
142
168
class TestDjangoOpenAPIResponse (BaseTestDjango ):
143
169
0 commit comments