Project

Profile

Help

Issue #1356

closed

Pulp returns HTTP 500 when a bad request is made during repo creation.

Added by jcline@redhat.com over 8 years ago. Updated about 5 years ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Assignee:
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
Estimated time:
Severity:
2. Medium
Version:
Master
Platform Release:
2.8.0
OS:
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Easy Fix, Pulp 2
Sprint:
Quarter:

Description

If an incorrect JSON data type is provided when creating a repository (say an array rather than an object), Pulp returns an HTTP 500 rather than HTTP 400. This is demonstrated by the following pulp-smash test case: https://github.com/PulpQE/pulp-smash/pull/28/files#diff-df63d36099c3c8fe4fe877283d5eb7d1R96

Test failure:

======================================================================
FAIL: test_status_code (tests.platform.api_v2.test_repository.CreateFailureTestCase) [(400, [u'Incorrect data type'])]
Assert that each response has the expected HTTP status code.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/vagrant/devel/pulp-smash/pulp_smash/tests/platform/api_v2/test_repository.py", line 117, in test_status_code
    self.assertEqual(response.status_code, self.bodies[i][0])
AssertionError: 500 != 400

======================================================================

Traceback:

Nov 05 09:48:13 dev pulp[4808]: pulp.server.webservices.middleware.exception:ERROR: Unhandled Exception
Nov 05 09:48:13 dev pulp[4808]: pulp.server.webservices.middleware.exception:ERROR: (4808-32512) 'list' object has no attribute 'get'
Nov 05 09:48:13 dev pulp[4808]: pulp.server.webservices.middleware.exception:ERROR: (4808-32512) Traceback (most recent call last):
Nov 05 09:48:13 dev pulp[4808]: pulp.server.webservices.middleware.exception:ERROR: (4808-32512)   File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 132, in get_response
Nov 05 09:48:13 dev pulp[4808]: pulp.server.webservices.middleware.exception:ERROR: (4808-32512)     response = wrapped_callback(request, *callback_args, **callback_kwargs)
Nov 05 09:48:13 dev pulp[4808]: pulp.server.webservices.middleware.exception:ERROR: (4808-32512)   File "/usr/lib/python2.7/site-packages/django/views/generic/base.py", line 71, in view
Nov 05 09:48:13 dev pulp[4808]: pulp.server.webservices.middleware.exception:ERROR: (4808-32512)     return self.dispatch(request, *args, **kwargs)
Nov 05 09:48:13 dev pulp[4808]: pulp.server.webservices.middleware.exception:ERROR: (4808-32512)   File "/usr/lib/python2.7/site-packages/django/views/generic/base.py", line 89, in dispatch
Nov 05 09:48:13 dev pulp[4808]: pulp.server.webservices.middleware.exception:ERROR: (4808-32512)     return handler(request, *args, **kwargs)
Nov 05 09:48:13 dev pulp[4808]: pulp.server.webservices.middleware.exception:ERROR: (4808-32512)   File "/home/vagrant/devel/pulp/server/pulp/server/webservices/views/decorators.py", line 239, in _auth_decorator
Nov 05 09:48:13 dev pulp[4808]: pulp.server.webservices.middleware.exception:ERROR: (4808-32512)     return _verify_auth(self, operation, super_user_only, method, *args, **kwargs)
Nov 05 09:48:13 dev pulp[4808]: pulp.server.webservices.middleware.exception:ERROR: (4808-32512)   File "/home/vagrant/devel/pulp/server/pulp/server/webservices/views/decorators.py", line 193, in _verify_auth
Nov 05 09:48:13 dev pulp[4808]: pulp.server.webservices.middleware.exception:ERROR: (4808-32512)     value = method(self, *args, **kwargs)
Nov 05 09:48:13 dev pulp[4808]: pulp.server.webservices.middleware.exception:ERROR: (4808-32512)   File "/home/vagrant/devel/pulp/server/pulp/server/webservices/views/util.py", line 111, in wrapper
Nov 05 09:48:13 dev pulp[4808]: pulp.server.webservices.middleware.exception:ERROR: (4808-32512)     return func(*args, **kwargs)
Nov 05 09:48:13 dev pulp[4808]: pulp.server.webservices.middleware.exception:ERROR: (4808-32512)   File "/home/vagrant/devel/pulp/server/pulp/server/webservices/views/repositories.py", line 137, in post
Nov 05 09:48:13 dev pulp[4808]: pulp.server.webservices.middleware.exception:ERROR: (4808-32512)     repo_id = repo_data.get('id')
Nov 05 09:48:13 dev pulp[4808]: pulp.server.webservices.middleware.exception:ERROR: (4808-32512) AttributeError: 'list' object has no attribute 'get'

Related issues

Copied to Pulp - Issue #1745: Pulp returns HTTP 500 when a bad request is made during sync schedule creationCLOSED - DUPLICATEActions

Also available in: Atom PDF