tree 6df333372cc3766f602f62e42f90b9e9aad9ad1d
parent 61dbeef97168db1a1f7a351c5f95e09afd361e48
author AppaRao Puli <apparao.puli@linux.intel.com> 1576505139 +0530
committer AppaRao Puli <apparao.puli@linux.intel.com> 1576609058 +0000

Fix: bug fixes in readJson

This commit contains bug fixes in readJson function call
 1) Handled invalid double value which is leading to crash
    bmcweb. If user give string for double value key, its
    not handled in readJson which intern causes exception
    and crash.
 2) If any of input types of floating_point, signed or unsigned
    int type values are provided with wrong type, it should
    return error, instead its returning 200 success response.
    Added code to return proper error response.

Tested:
 - Tested invalid case by giving wrong type values in PATCH.
URI: /redfish/v1/Chassis/WC_Baseboard/Thermal
METHOD: Patch
REQUEST:
{
"Fans": [
    {
      "MemberId": "Fan_1a",
      "Reading": "200"
    }
  ]
}
RESPONSE:
{
  "Reading@Message.ExtendedInfo": [
    {
      "@odata.type": "/redfish/v1/$metadata#Message.v1_0_0.Message",
      "Message": "The value \"200\" for the property Reading is of a different type than the property can accept.",
      "MessageArgs": [
        "\"200\"",
        "Reading"
      ],
      "MessageId": "Base.1.4.0.PropertyValueTypeError",
      "Resolution": "Correct the value for the property in the request body and resubmit the request if the operation failed.",
      "Severity": "Warning"
    }
  ]
}

 - Also performed some positive and negative tests with other URI's.
 - Redfish validator ran successfully without any issue(No impact though)

Change-Id: Ie98384e67a863ab96aa537f492a686b2c7ebb3a2
Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
