Pattern matching

A YAML file has one or more rules. The stub evaluates each when of all rules and returns the first matched response.

Here is the example of manifest as follows:

rules:
  - when: params.order == 'desc'
    #first entry must contains info about request unit  
    request:
     path: /hello

    response:
      headers:
        content-type: application/json
      body: [3, 2, 1]

  - when: params.order == 'asc'
  
    response:
      headers:
        content-type: application/json
      body: [1, 2, 3]

  #presence check
  - when: params.containsKey('order')
  
    response:
      headers:
        content-type: application/json
      body: [4]

  #default response should be at the end of the list
  - response:
      headers:
        content-type: application/json
      body: [0]

The stub will return the following response on the request GET /numbers?order=asc

[1, 2, 3]

And on the request GET /numbers?order=desc

[3, 2, 1]

And on the request GET /numbers?order

[4]

And on the request GET /numbers

[0]

If the last entry is not defined, the stub will return a 404.

Last updated