Not Contains Assertion (JSON attribute value) - not XML
Hey,
I've been investigating the Not Contains assertion to verify that a json attribute does NOT contain a specific value.
HOWEVER - all the posts I've seen on this on this forum/stackoverflow (stackoverflow post)etc. and soapuiforum either provide a groovyscript option to handle the not contains or uses XML as the example for the not contains.
HOWEVER - my response is in .json and my groovyscript is rubbish so I'd like to find the OTB solution.
I want to assert that a specific name/value pair attribute in my json response does NOT contain a certain value.
As stated above - I've seen the following Not Contains assertion value repeated in lots of places to assert that a tag doesnt contain the value zero, but this is XML, NOT json.
(?s).*<recordCount>[^0]</recordCount>(?s).*
Does anyone know the syntax to do this in jsonpath?
I miss XPATH & XML....
thanks to all! :)
richie
richie ,
Here is the script assertion for the same.
If I understand right, the value of "entityLogicalName" should not be "appointment". And below script checks that.
/** * Below is the script assertion for the REST Request Test step **/ def json = new groovy.json.JsonSlurper().parseText(context.response) def logicalNames = json.sessiondata.'appointment.nhs_slottype'.entityLogicalName def checkFor = 'appointment' //Negative check - value should not have appointment "!=", //Positive check - use "==" to match value with appointment assert logicalNames.every {it != checkFor}, "Not expecting value ${checkFor} for entityLogicalName, but found"