Expressions in Mocked APIs
Legacy Documentation
You're viewing legacy documentation for API Fortress (deployed via an on-premises container). To view documentation for the new SaaS version of API Fortress — now known as Sauce Labs API Testing and Monitoring (with Sauce Connect tunnels) — see API Testing on the Sauce Labs Cloud.
The expression field in mocking can evaluate multiple fields:
Evaluate a Query
To evaluate query or post parameters use the following syntax:
request.params[parameter_name] == 'parameter_value'
Evaluate a Header
To evaluate a header use the following syntax:
request.headers[‘header_name’]=="header_value"
Multiple Queries
You can string multiple queries together using standard Groovy expression language like below:
AND:
request.params[parameter_name] == 'parameter_value' &&
request.params[parameter_name] == 'parameter_value'
OR:
request.headers[‘header_name’]=="header_value"||request.headers[‘header_name’]=="header_value"
Evaluate a POST body
To evaluate a POST body use the following syntax (this only works with JSON, so content type must be set to application/json
):
request.payload.”left_side_JSON”==”right_side_JSON”
Evaluate the URL
You can also evaluate parts of the mocked url itself, if your mocked URL is https://m1-test.apif.apifortress.com/api/users/info
Starting after the ".com"
you have “api”=0
, “users”=1
, “info”=2
Using the following syntax you can evaluate parts of the URL:
request.pattern[1]==”users”
Use Wildcards
The url can use wildcards like so:
https://m1-test.apif.apifortress.com/api/users/\[a-zA-Z0-9\]\*
Which means the last part of the URL can be any string containing a lowercase, uppercase, or number. Then using the “request.pattern\[2\]”
you can evaluate the last part.
Any manipulation needed in the expression field can be done using Groovy language.