DMTF / Redfish-Service-Validator

The Redfish Service Validator is a Python3 tool for checking conformance of any "device" with a Redfish service interface against Redfish CSDL schema
Other
41 stars 34 forks source link

Validator should report failure for Object with empty value of '@odata.id' and continue with the next payload #454

Closed arahimanshaik closed 2 years ago

arahimanshaik commented 2 years ago

stdout: _*** /redfish/v1/Managers/1df3248f-5ddd-4b62-868d-74f33c4a89d0 Type (Manager.v1_13_0.Manager), GET SUCCESS (time: 0:00:00.310813) Certificates: Could not finish check on this property (string index out of range) Traceback (most recent call last): File "/home/odimra/Redfish-Service-Validator/validateResource.py", line 189, in validateSingleURI propMessages, propCounts = checkPropertyConformance(service, prop_name, prop) File "/home/odimra/Redfish-Service-Validator/validateRedfish.py", line 480, in checkPropertyConformance excerptPass = validateExcerpt(prop, val) File "/home/odimra/Redfish-Service-Validator/validateRedfish.py", line 18, in validateExcerpt my_props = prop.Type.createObject().populate(val).properties File "/home/odimra/Redfish-Service-Validator/common/catalog.py", line 919, in populate if my_odata_id != '/redfish/v1/' and my_odataid[-1] == '/': IndexError: string index out of range

For a resource in manager with below payload,

 Certificates":{
"@odata.id": ""
}

Validator Can report the issue and move to the next resource without failing the run.

The above snippet of code is not competent wrt to the OCP standards, true. By bypassing such resources, Validator can still generate the report.