Skip to main content

HTTP

Supported test-directives

Qapir supports HTTP and enables you to test RESTful HTTP json-based APIs. The supported directives are:

  1. expected_http_status of type number - verifies that response has expected HTTP-status
  2. headers of type map[string]string - lets you pass a set of header to your HTTP-request
  3. query_params of type map[string]string - lets you pass a set of query-paramemters to your HTTP-request
  4. body of type string - lets you pass a request-body to your HTTP-request
  5. method of type string - an HTTP-method, one of [GET, POST, PUT, PATCH, DELETE, OPTIONS]

QTL-directives

  1. Extracting a value by jsonpath from response-body. This example looks for field with jsonpath $.path.to.attribute and saves its value as ${var.attribute}
SELECT
$.path.to.attribute AS ${var.attribute}
FROM
${response.body};
  1. Extracting a header-value. This example looks for header with name Custom-Header and saves its value as ${var.header}
SELECT
Custom-Header AS ${var.header}
FROM
${response.headers};

Examples

Please, check out related examples in the official GitHub repo: https://github.com/vrtxlabs/qapir/blob/main/.qapir/tests/jsonpath_test.yml