Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 4ead118

Browse files
committed
Python: Add class based route handler in django tests
Disabled CSRF middleware for now, since it blocked my debugging curl POST requests :(
1 parent ffdbecf commit 4ead118

3 files changed

Lines changed: 27 additions & 1 deletion

File tree

python/ql/test/experimental/library-tests/frameworks/django-v2-v3/testapp/urls.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,7 @@
1212
# line)
1313
re_path(r"^ba[rz]/", views.bar_baz), # $routeSetup="^ba[rz]/"
1414
url(r"^deprecated/", views.deprecated), # $routeSetup="^deprecated/"
15+
16+
path("basic-view-handler/", views.MyBasicViewHandler.as_view()), # $routeSetup="basic-view-handler/"
17+
path("custom-inheritance-view-handler/", views.MyViewHandlerWithCustomInheritance.as_view()), # $routeSetup="custom-inheritance-view-handler/"
1518
]
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,33 @@
11
from django.http import HttpRequest, HttpResponse
2+
from django.views import View
3+
from django.views.decorators.csrf import csrf_exempt
4+
25

36
def foo(request: HttpRequest): # $routeHandler
47
return HttpResponse("foo") # $HttpResponse
58

9+
610
def bar_baz(request: HttpRequest): # $routeHandler
711
return HttpResponse("bar_baz") # $HttpResponse
812

13+
914
def deprecated(request: HttpRequest): # $routeHandler
1015
return HttpResponse("deprecated") # $HttpResponse
16+
17+
18+
class MyBasicViewHandler(View):
19+
def get(self, request: HttpRequest): # $ MISSING: routeHandler
20+
return HttpResponse("MyViewHandler: GET") # $ HttpResponse
21+
22+
def post(self, request: HttpRequest): # $ MISSING: routeHandler
23+
return HttpResponse("MyViewHandler: POST") # $ HttpResponse
24+
25+
26+
class MyCustomViewBaseClass(View):
27+
def post(self, request: HttpRequest): # $ MISSING: routeHandler
28+
return HttpResponse("MyCustomViewBaseClass: POST") # $ HttpResponse
29+
30+
31+
class MyViewHandlerWithCustomInheritance(MyCustomViewBaseClass):
32+
def get(self, request: HttpRequest): # $ MISSING: routeHandler
33+
return HttpResponse("MyViewHandlerWithCustomInheritance: GET") # $ HttpResponse

python/ql/test/experimental/library-tests/frameworks/django-v2-v3/testproj/settings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
'django.middleware.security.SecurityMiddleware',
4545
'django.contrib.sessions.middleware.SessionMiddleware',
4646
'django.middleware.common.CommonMiddleware',
47-
'django.middleware.csrf.CsrfViewMiddleware',
47+
# 'django.middleware.csrf.CsrfViewMiddleware',
4848
'django.contrib.auth.middleware.AuthenticationMiddleware',
4949
'django.contrib.messages.middleware.MessageMiddleware',
5050
'django.middleware.clickjacking.XFrameOptionsMiddleware',

0 commit comments

Comments
 (0)