Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit151c0c9

Browse files
author
Ryan P Kilby
committed
Replace list/detail route decorators in tests
1 parenta591e16 commit151c0c9

File tree

3 files changed

+30
-32
lines changed

3 files changed

+30
-32
lines changed

‎tests/test_routers.py‎

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
fromrest_frameworkimportpermissions,serializers,viewsets
1313
fromrest_framework.compatimportget_regex_pattern
14-
fromrest_framework.decoratorsimportdetail_route,list_route
14+
fromrest_framework.decoratorsimportaction
1515
fromrest_framework.responseimportResponse
1616
fromrest_framework.routersimportDefaultRouter,SimpleRouter
1717
fromrest_framework.testimportAPIRequestFactory
@@ -67,12 +67,12 @@ def get_object(self, *args, **kwargs):
6767

6868

6969
classRegexUrlPathViewSet(viewsets.ViewSet):
70-
@list_route(url_path='list/(?P<kwarg>[0-9]{4})')
70+
@action(detail=False,url_path='list/(?P<kwarg>[0-9]{4})')
7171
defregex_url_path_list(self,request,*args,**kwargs):
7272
kwarg=self.kwargs.get('kwarg','')
7373
returnResponse({'kwarg':kwarg})
7474

75-
@detail_route(url_path='detail/(?P<kwarg>[0-9]{4})')
75+
@action(detail=True,url_path='detail/(?P<kwarg>[0-9]{4})')
7676
defregex_url_path_detail(self,request,*args,**kwargs):
7777
pk=self.kwargs.get('pk','')
7878
kwarg=self.kwargs.get('kwarg','')
@@ -112,23 +112,23 @@ class BasicViewSet(viewsets.ViewSet):
112112
deflist(self,request,*args,**kwargs):
113113
returnResponse({'method':'list'})
114114

115-
@detail_route(methods=['post'])
115+
@action(methods=['post'],detail=True)
116116
defaction1(self,request,*args,**kwargs):
117117
returnResponse({'method':'action1'})
118118

119-
@detail_route(methods=['post'])
119+
@action(methods=['post'],detail=True)
120120
defaction2(self,request,*args,**kwargs):
121121
returnResponse({'method':'action2'})
122122

123-
@detail_route(methods=['post','delete'])
123+
@action(methods=['post','delete'],detail=True)
124124
defaction3(self,request,*args,**kwargs):
125125
returnResponse({'method':'action2'})
126126

127-
@detail_route()
127+
@action(detail=True)
128128
deflink1(self,request,*args,**kwargs):
129129
returnResponse({'method':'link1'})
130130

131-
@detail_route()
131+
@action(detail=True)
132132
deflink2(self,request,*args,**kwargs):
133133
returnResponse({'method':'link2'})
134134

@@ -297,7 +297,7 @@ def setUp(self):
297297
classTestViewSet(viewsets.ModelViewSet):
298298
permission_classes= []
299299

300-
@detail_route(methods=['post'],permission_classes=[permissions.AllowAny])
300+
@action(methods=['post'],detail=True,permission_classes=[permissions.AllowAny])
301301
defcustom(self,request,*args,**kwargs):
302302
returnResponse({
303303
'permission_classes':self.permission_classes
@@ -315,14 +315,14 @@ def test_action_kwargs(self):
315315

316316
classTestActionAppliedToExistingRoute(TestCase):
317317
"""
318-
Ensure `@detail_route` decorator raises an except when applied
318+
Ensure `@action` decorator raises an except when applied
319319
to an existing route
320320
"""
321321

322322
deftest_exception_raised_when_action_applied_to_existing_route(self):
323323
classTestViewSet(viewsets.ModelViewSet):
324324

325-
@detail_route(methods=['post'])
325+
@action(methods=['post'],detail=True)
326326
defretrieve(self,request,*args,**kwargs):
327327
returnResponse({
328328
'hello':'world'
@@ -339,27 +339,27 @@ class DynamicListAndDetailViewSet(viewsets.ViewSet):
339339
deflist(self,request,*args,**kwargs):
340340
returnResponse({'method':'list'})
341341

342-
@list_route(methods=['post'])
342+
@action(methods=['post'],detail=False)
343343
deflist_route_post(self,request,*args,**kwargs):
344344
returnResponse({'method':'action1'})
345345

346-
@detail_route(methods=['post'])
346+
@action(methods=['post'],detail=True)
347347
defdetail_route_post(self,request,*args,**kwargs):
348348
returnResponse({'method':'action2'})
349349

350-
@list_route()
350+
@action(detail=False)
351351
deflist_route_get(self,request,*args,**kwargs):
352352
returnResponse({'method':'link1'})
353353

354-
@detail_route()
354+
@action(detail=True)
355355
defdetail_route_get(self,request,*args,**kwargs):
356356
returnResponse({'method':'link2'})
357357

358-
@list_route(url_path="list_custom-route")
358+
@action(detail=False,url_path="list_custom-route")
359359
deflist_custom_route_get(self,request,*args,**kwargs):
360360
returnResponse({'method':'link1'})
361361

362-
@detail_route(url_path="detail_custom-route")
362+
@action(detail=True,url_path="detail_custom-route")
363363
defdetail_custom_route_get(self,request,*args,**kwargs):
364364
returnResponse({'method':'link2'})
365365

‎tests/test_schemas.py‎

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,7 @@
1010
filters,generics,pagination,permissions,serializers
1111
)
1212
fromrest_framework.compatimportcoreapi,coreschema,get_regex_pattern,path
13-
fromrest_framework.decoratorsimport (
14-
api_view,detail_route,list_route,schema
15-
)
13+
fromrest_framework.decoratorsimportaction,api_view,schema
1614
fromrest_framework.requestimportRequest
1715
fromrest_framework.routersimportDefaultRouter,SimpleRouter
1816
fromrest_framework.schemasimport (
@@ -67,25 +65,25 @@ class ExampleViewSet(ModelViewSet):
6765
filter_backends= [filters.OrderingFilter]
6866
serializer_class=ExampleSerializer
6967

70-
@detail_route(methods=['post'],serializer_class=AnotherSerializer)
68+
@action(methods=['post'],detail=True,serializer_class=AnotherSerializer)
7169
defcustom_action(self,request,pk):
7270
"""
7371
A description of custom action.
7472
"""
7573
returnsuper(ExampleSerializer,self).retrieve(self,request)
7674

77-
@detail_route(methods=['post'],serializer_class=AnotherSerializerWithListFields)
75+
@action(methods=['post'],detail=True,serializer_class=AnotherSerializerWithListFields)
7876
defcustom_action_with_list_fields(self,request,pk):
7977
"""
8078
A custom action using both list field and list serializer in the serializer.
8179
"""
8280
returnsuper(ExampleSerializer,self).retrieve(self,request)
8381

84-
@list_route()
82+
@action(detail=False)
8583
defcustom_list_action(self,request):
8684
returnsuper(ExampleViewSet,self).list(self,request)
8785

88-
@list_route(methods=['post','get'],serializer_class=EmptySerializer)
86+
@action(methods=['post','get'],detail=False,serializer_class=EmptySerializer)
8987
defcustom_list_action_multiple_methods(self,request):
9088
returnsuper(ExampleViewSet,self).list(self,request)
9189

@@ -865,11 +863,11 @@ class NamingCollisionViewSet(GenericViewSet):
865863
"""
866864
permision_class= ()
867865

868-
@list_route()
866+
@action(detail=False)
869867
defdetail(self,request):
870868
return {}
871869

872-
@list_route(url_path='detail/export')
870+
@action(detail=False,url_path='detail/export')
873871
defdetail_export(self,request):
874872
return {}
875873

@@ -1049,7 +1047,7 @@ def options(self, request, *args, **kwargs):
10491047

10501048
classAViewSet(ModelViewSet):
10511049

1052-
@detail_route(methods=['options','get'])
1050+
@action(methods=['options','get'],detail=True)
10531051
defcustom_action(self,request,pk):
10541052
pass
10551053

‎tests/test_viewsets.py‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
fromdjango.testimportTestCase,override_settings
44

55
fromrest_frameworkimportstatus
6-
fromrest_framework.decoratorsimportdetail_route,list_route
6+
fromrest_framework.decoratorsimportaction
77
fromrest_framework.responseimportResponse
88
fromrest_framework.routersimportSimpleRouter
99
fromrest_framework.testimportAPIRequestFactory
@@ -39,19 +39,19 @@ def list(self, request, *args, **kwargs):
3939
defretrieve(self,request,*args,**kwargs):
4040
pass
4141

42-
@list_route()
42+
@action(detail=False)
4343
deflist_action(self,request,*args,**kwargs):
4444
pass
4545

46-
@list_route(url_name='list-custom')
46+
@action(detail=False,url_name='list-custom')
4747
defcustom_list_action(self,request,*args,**kwargs):
4848
pass
4949

50-
@detail_route()
50+
@action(detail=True)
5151
defdetail_action(self,request,*args,**kwargs):
5252
pass
5353

54-
@detail_route(url_name='detail-custom')
54+
@action(detail=True,url_name='detail-custom')
5555
defcustom_detail_action(self,request,*args,**kwargs):
5656
pass
5757

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp