10-12-2017 02:05 PM
My application request returns 1 to many datasets to the user in a single response. For example the user requests a loan, and the response will contain a structure for each supported loan offing in the sql db. Since I configure the DB with the supported offer(s), I will always know how many are supported and thus how many responses to expect. I could simply start writing validation expecting a known quantity of nodes in the output, and then create sets of redundant assertions 1 per expected offer in the response.
Is there a smarter way combining DB queries to to get counts and data, with assertions at the request output that would validate each child with in each set?
10-13-2017 11:00 AM
Thank you for posting to our Community Forum.
Since you need to create a dynamic assertion, I would explore the "Script" assertion. I am sure you can meet your requirements through that.
Here is our documentation on it: https://support.smartbear.com/readyapi/docs/testing/assertions/reference/script.html
Let me know if you have any questions/concerns.
10-13-2017 11:43 AM
Thank you for your response.
Yes I'm aware of the script assertion, and I recognize that I this will be a script assertion. What I'm looking for is a typical strategy used in writing such a script.
I want to assume that I don't know how many offers would be in the response. The first part of the assertion (Or some prior test step) might be to perform a DB query to discover the number of offers available, as my Expect Data. Then capture the number of offer nodes in the output , Actual Data, and compare Expected and Actual values.
I want to capture and store the output data as well.
I'm not sure how to work with the JSON response and order the data into something I can compare against.
Since writing this I have added a Datasource of type JDBC, which has queried the database and returned each offer and their related properties in the same order as the offers appear in the output. Now I need a way to iterate through each offer and perform assertions on each property Expect vs. Actual Values.