Bug 1179448 - Katello API throws an incorrect error when receiving non-json requests
Summary: Katello API throws an incorrect error when receiving non-json requests
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: API
Version: Unspecified
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: Unspecified
Assignee: David Davis
QA Contact: jaudet
URL: http://projects.theforeman.org/issues...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-01-06 18:55 UTC by David Davis
Modified: 2017-02-23 20:40 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-08-12 05:21:17 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Foreman Issue Tracker 8846 0 None None None 2016-04-22 16:07:25 UTC
Red Hat Product Errata RHSA-2015:1592 0 normal SHIPPED_LIVE Important: Red Hat Satellite 6.1.1 on RHEL 6 2015-08-12 09:04:35 UTC

Description David Davis 2015-01-06 18:55:08 UTC
When I run the following against our Katello API:

❯ curl -k -u admin:changeme localhost:3000/katello/api/v2/organizations/3/systems/a0ce0ce7-7935-4298-9557-9e6abbe67224 -XPUT -d'{"content_view_id": "19", "type": "system"}'

{"displayMessage":"Missing values for system.","errors":["param is missing or the value is empty: system"]}

However I'd expect a 415 since curl by default uses x-www-form-urlencoded or whatever for PUT requests. Here's a foreman example:

❯ curl -k -u admin:changeme -XPUT localhost:9292/api/v2/operatingsystems/1 -d'{"name": "test"}'

{
  "error": {"message":"'Content-Type: application/x-www-form-urlencoded' is unsupported in API v2 for POST and PUT requests. Please use 'Content-Type: application/json'."}
}

I think this is because our Katello API controllers aren't extending foreman's Api::V2::BaseController.

Comment 1 Partha Aji 2015-01-06 18:56:54 UTC
Created redmine issue http://projects.theforeman.org/issues/8846 from this bug

Comment 2 RHEL Program Management 2015-01-06 19:24:06 UTC
Since this issue was entered in Red Hat Bugzilla, the release flag has been
set to ? to ensure that it is properly evaluated for this release.

Comment 4 Bryan Kearney 2015-01-12 21:05:02 UTC
Moving to POST since upstream bug http://projects.theforeman.org/issues/8846 has been closed
-------------
David Davis
Applied in changeset commit:katello|50c3c9c3db8a637e5034d9c1d44d6bc9808eedec.

Comment 7 jaudet 2015-03-06 20:51:48 UTC
Tested against both RHEL 6.6 and RHEL 7.1 sytems using Robottelo. Example test output:

    $ nosetests tests/foreman/api/test_organization.py -m test_create_text_plain
    .
    ----------------------------------------------------------------------
    Ran 1 test in 0.152s

    OK

Comment 8 Bryan Kearney 2015-08-11 13:28:49 UTC
This bug is slated to be released with Satellite 6.1.

Comment 9 errata-xmlrpc 2015-08-12 05:21:17 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2015:1592


Note You need to log in before you can comment on or make changes to this bug.