--- # use the !include yaml directive for import data from other yaml files! include: !include ./importable.yaml cases: - name: test 1 # interpolate environment variables with ${...} just like you would in bash url: 'https://tabdextension.com/${ping_path}' headers: 'ping: ${ping_path}' requestMethod: GET expectData: exactly: ping: pong expectStatus: 200 - name: test should pass url: https://tabdextension.com/ping requestMethod: GET expectData: exactly: # a string can be interpolated with variables inside of a $<...> # a query should start by indexing the array `RESPONSES` which contains # the json results of all previous test results. otherwise, use normal json / jq syntax. # you can put just a bare query and subsitute any json value, or use several queries # combined with raw text and substitue string values # NOTE - The legacy reserved variable SUITE is still supported at this time, but may not # be in a future version of curl-runnings. ping: $ expectStatus: 200 - name: test will fail url: https://tabdextension.com/ping requestMethod: GET expectHeaders: "ping: $; ${ping_path}: pong" expectStatus: 200 - name: test will fail url: https://tabdextension.com/ping requestMethod: GET expectData: contains: - keyValueMatch: # environment interpolation just like bash key: 'interpolated ${env_variable} ${another_variable}-key' value: ${ping_value} - keyValueMatch: key: msg value: $ # here, we are interpolating several string values into a string - valueMatch: 'hello $ : $ trailing text' - valueMatch: $ expectStatus: 200 - name: test should pass url: https://tabdextension.com/ping requestMethod: GET expectData: notContains: - keyValueMatch: # environment interpolation just like bash key: 'interpolated ${env_variable} ${another_variable}-key' value: ${ping_value} - keyValueMatch: key: msg value: $ # here, we are interpolating several string values into a string - valueMatch: 'hello $ : $ trailing text' - valueMatch: $ # use anchors from this file or an imported one. here, `ping` is an anchor defined in importable.yaml - valueMatch: *ping expectStatus: 200