Deprecate post to v2 jobs (#18)

This commit is contained in:
Jim Ladd 2017-07-24 14:24:38 -04:00 committed by GitHub
parent 01316aebf7
commit 8983351e99
2 changed files with 16 additions and 0 deletions

View File

@ -3719,6 +3719,13 @@ class JobList(ListCreateAPIView):
metadata_class = JobTypeMetadata
serializer_class = JobListSerializer
@property
def allowed_methods(self):
methods = super(JobList, self).allowed_methods
if get_request_version(self.request) > 1:
methods.remove('POST')
return methods
class JobDetail(RetrieveUpdateDestroyAPIView):

View File

@ -6,6 +6,7 @@ from rest_framework import exceptions
# AWX
from awx.main.views import ApiErrorView
from awx.api.views import JobList
HTTP_METHOD_NAMES = [
@ -35,3 +36,11 @@ def test_exception_view_raises_exception(api_view_obj_fixture, method_name):
request_mock = mock.MagicMock()
with pytest.raises(exceptions.APIException):
getattr(api_view_obj_fixture, method_name)(request_mock)
@pytest.mark.parametrize('version, supports_post', [(1, True), (2, False)])
def test_disable_post_on_v2_jobs_list(version, supports_post):
job_list = JobList()
job_list.request = mock.MagicMock()
with mock.patch('awx.api.views.get_request_version', return_value=version):
assert ('POST' in job_list.allowed_methods) == supports_post