In https://github.com/RIPAGlobal/scimitar/issues/122 problems are encountered with extension schema. This led to discovery of various shortcomings that this PR addresses (while acknowledging that there may yet be more things to fix).
While PATCH handling had become more robust in recent Scimitar versions, POST handling had not kept up; handling was simplistic and case-sensitive. Both "urn:schema:id": { "attr": "value" } and potential "urn:schema:id:attr": "value" forms are now supported, case-insensitive.
PATCH handling tripped up when multiple extension schema were in use for the same resource; this is fixed (and with POST now calling down to the same utility method to assist with schema ID handling, both benefit from that).
Most of the arising change set ends up in the test suite, as might be expected - the bugs above could only exist because of oversights therein.
In https://github.com/RIPAGlobal/scimitar/issues/122 problems are encountered with extension schema. This led to discovery of various shortcomings that this PR addresses (while acknowledging that there may yet be more things to fix).
While
PATCH
handling had become more robust in recent Scimitar versions,POST
handling had not kept up; handling was simplistic and case-sensitive. Both"urn:schema:id": { "attr": "value" }
and potential"urn:schema:id:attr": "value"
forms are now supported, case-insensitive.PATCH
handling tripped up when multiple extension schema were in use for the same resource; this is fixed (and withPOST
now calling down to the same utility method to assist with schema ID handling, both benefit from that).Most of the arising change set ends up in the test suite, as might be expected - the bugs above could only exist because of oversights therein.