Skip to main content

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.

screeenshot

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.

note

Any manipulation needed in the expression field can be done using Groovy language.