{
  "id": "6e6b9f3d-2d41-4732-91a3-83cadfc5308e",
  "startTime": "2021-07-25T09:26:28+02:00",
  "name": "jsonplaceholder from typecode",
  "key": "JSON-PLACEHOLDER",
  "env": "local",
  "duration": null,
  "durationFormat": "Invalid date",
  "timestamp": "2021-07-25T09:26:28+02:00",
  "type": "testSuite",
  "total": 6,
  "passed": 5,
  "failed": 1,
  "skipped": 0,
  "scenarios": {
    "passed": 12,
    "failed": 0,
    "skipped": 1,
    "undefined": 0
  },
  "features": [
    {
      "description": "",
      "elements": [
        {
          "description": "",
          "id": "delete-/todos/{id};delete-todos-by-id",
          "keyword": "Scenario",
          "line": 3,
          "name": "Delete todos by id",
          "steps": [
            {
              "keyword": "Before",
              "hidden": true,
              "result": {
                "status": "passed",
                "duration": 1000000
              }
            },
            {
              "arguments": [],
              "keyword": "Given ",
              "line": 4,
              "name": "I have the api gateway",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 5,
              "name": "I have the path \"/todos/45\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 6,
              "name": "I have the method \"DELETE\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "When ",
              "line": 7,
              "name": "I run the API",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:11"
              },
              "result": {
                "status": "passed",
                "duration": 416000000
              }
            },
            {
              "arguments": [],
              "keyword": "Then ",
              "line": 8,
              "name": "I should receive a response with the status 200",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 1000000
              }
            },
            {
              "keyword": "After",
              "hidden": true,
              "result": {
                "status": "passed",
                "duration": 0
              },
              "embeddings": [
                {
                  "data": "{\"apis\":[{\"request\":{\"hostname\":\"jsonplaceholder.typicode.com\",\"port\":\"\",\"protocol\":\"https:\",\"pathname\":\"/todos/45\",\"hooks\":{\"afterResponse\":[null]},\"method\":\"delete\",\"headers\":{\"x-correlation-id\":\"test-e2e-delete-381-1627197985399\",\"user-agent\":\"restqa (https://github.com/restqa/restqa)\"},\"responseType\":\"json\"},\"response\":{\"body\":{},\"timing\":404,\"headers\":{\"date\":\"Sun, 25 Jul 2021 07:26:27 GMT\",\"content-type\":\"application/json; charset=utf-8\",\"content-length\":\"2\",\"connection\":\"close\",\"x-powered-by\":\"Express\",\"x-ratelimit-limit\":\"1000\",\"x-ratelimit-remaining\":\"999\",\"x-ratelimit-reset\":\"1627198028\",\"vary\":\"Origin, Accept-Encoding\",\"access-control-allow-credentials\":\"true\",\"cache-control\":\"no-cache\",\"pragma\":\"no-cache\",\"expires\":\"-1\",\"x-content-type-options\":\"nosniff\",\"etag\":\"W/\\\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\\\"\",\"via\":\"1.1 vegur\",\"cf-cache-status\":\"DYNAMIC\",\"expect-ct\":\"max-age=604800, report-uri=\\\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\\\"\",\"report-to\":\"{\\\"endpoints\\\":[{\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v3?s=jpILC4JRzWBCI1RIq4KbXqUNkOcuO%2FshZNdv1hIp0rxbDj7D3bn%2FDpIlfYR6HQ6wj%2Bm10MWvyr6gfsxI87CAWO%2FvklLc8icnrWGG%2BVhvLaN0FNV9kb5oNwgYXPNOPUky%2FM0cSbpOId775491Eb8k\\\"}],\\\"group\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"nel\":\"{\\\"report_to\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"server\":\"cloudflare\",\"cf-ray\":\"6743a8fee85b3ba3-CDG\",\"alt-svc\":\"h3-27=\\\":443\\\"; ma=86400, h3-28=\\\":443\\\"; ma=86400, h3-29=\\\":443\\\"; ma=86400, h3=\\\":443\\\"; ma=86400\"},\"statusCode\":200,\"request\":{\"path\":\"/todos/45\",\"method\":\"delete\",\"prefix\":\"[DELETE /todos/45]\"}}}]}",
                  "mime_type": "application/json"
                }
              ]
            }
          ],
          "tags": [],
          "type": "scenario",
          "step_passed": 7,
          "step_failed": 0,
          "step_skipped": 0,
          "step_undefined": 0,
          "result": true,
          "status": "passed",
          "duration": 0.418,
          "timestamp": "2021-07-25T09:26:28+02:00",
          "metadata": {
            "id": "6e6b9f3d-2d41-4732-91a3-83cadfc5308e",
            "startTime": "2021-07-25T09:26:28+02:00",
            "name": "jsonplaceholder from typecode",
            "key": "JSON-PLACEHOLDER",
            "env": "local",
            "duration": null,
            "durationFormat": "Invalid date"
          }
        },
        {
          "description": "",
          "id": "delete-/todos/{id};get-todos-by-id-but-id-doesn't-exist",
          "keyword": "Scenario",
          "line": 10,
          "name": "Get todos by id but id doesn't exist",
          "steps": [
            {
              "keyword": "Before",
              "hidden": true,
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "Given ",
              "line": 11,
              "name": "I have the api gateway",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 12,
              "name": "I have the path \"/todos/300000\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 13,
              "name": "I have the method \"DELETE\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "When ",
              "line": 14,
              "name": "I run the API",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:11"
              },
              "result": {
                "status": "passed",
                "duration": 271000000
              }
            },
            {
              "arguments": [],
              "keyword": "Then ",
              "line": 15,
              "name": "I should receive a response with the status 200",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "keyword": "After",
              "hidden": true,
              "result": {
                "status": "passed",
                "duration": 0
              },
              "embeddings": [
                {
                  "data": "{\"apis\":[{\"request\":{\"hostname\":\"jsonplaceholder.typicode.com\",\"port\":\"\",\"protocol\":\"https:\",\"pathname\":\"/todos/300000\",\"hooks\":{\"afterResponse\":[null]},\"method\":\"delete\",\"headers\":{\"x-correlation-id\":\"test-e2e-delete-744-1627197985820\",\"user-agent\":\"restqa (https://github.com/restqa/restqa)\"},\"responseType\":\"json\"},\"response\":{\"body\":{},\"timing\":267,\"headers\":{\"date\":\"Sun, 25 Jul 2021 07:26:28 GMT\",\"content-type\":\"application/json; charset=utf-8\",\"content-length\":\"2\",\"connection\":\"close\",\"x-powered-by\":\"Express\",\"x-ratelimit-limit\":\"1000\",\"x-ratelimit-remaining\":\"998\",\"x-ratelimit-reset\":\"1627198028\",\"vary\":\"Origin, Accept-Encoding\",\"access-control-allow-credentials\":\"true\",\"cache-control\":\"no-cache\",\"pragma\":\"no-cache\",\"expires\":\"-1\",\"x-content-type-options\":\"nosniff\",\"etag\":\"W/\\\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\\\"\",\"via\":\"1.1 vegur\",\"cf-cache-status\":\"DYNAMIC\",\"expect-ct\":\"max-age=604800, report-uri=\\\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\\\"\",\"report-to\":\"{\\\"endpoints\\\":[{\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v3?s=A%2FKdMYE0vm4P2TCuEJQ2dqp2F7G7VOx17KvcV%2BQREqkpFXR%2BFWBopKcqaPDQ5MLJB0QmYgEFMf%2FeVJxBVus81IvVMpfL3wcpbKM3G%2B8QPvabE%2BRFRoVZ3ntifECkKVcwwp%2BxmQDgXgodVYG7pans\\\"}],\\\"group\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"nel\":\"{\\\"report_to\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"server\":\"cloudflare\",\"cf-ray\":\"6743a9013b793bda-CDG\",\"alt-svc\":\"h3-27=\\\":443\\\"; ma=86400, h3-28=\\\":443\\\"; ma=86400, h3-29=\\\":443\\\"; ma=86400, h3=\\\":443\\\"; ma=86400\"},\"statusCode\":200,\"request\":{\"path\":\"/todos/300000\",\"method\":\"delete\",\"prefix\":\"[DELETE /todos/300000]\"}}}]}",
                  "mime_type": "application/json"
                }
              ]
            }
          ],
          "tags": [],
          "type": "scenario",
          "step_passed": 7,
          "step_failed": 0,
          "step_skipped": 0,
          "step_undefined": 0,
          "result": true,
          "status": "passed",
          "duration": 0.271,
          "timestamp": "2021-07-25T09:26:28+02:00",
          "metadata": {
            "id": "6e6b9f3d-2d41-4732-91a3-83cadfc5308e",
            "startTime": "2021-07-25T09:26:28+02:00",
            "name": "jsonplaceholder from typecode",
            "key": "JSON-PLACEHOLDER",
            "env": "local",
            "duration": null,
            "durationFormat": "Invalid date"
          }
        }
      ],
      "id": "delete-/todos/{id}",
      "line": 1,
      "keyword": "Feature",
      "tags": [],
      "uri": "../example/tests/integration/delete-todos-id.feature",
      "total": 2,
      "passed": 2,
      "failed": 0,
      "skipped": 0,
      "undefined": 0,
      "result": true,
      "duration": 0.6890000000000001,
      "timestamp": "2021-07-25T09:26:28+02:00",
      "type": "feature",
      "feature_name": "DELETE /todos/{id}",
      "metadata": {
        "id": "6e6b9f3d-2d41-4732-91a3-83cadfc5308e",
        "startTime": "2021-07-25T09:26:28+02:00",
        "name": "jsonplaceholder from typecode",
        "key": "JSON-PLACEHOLDER",
        "env": "local",
        "duration": null,
        "durationFormat": "Invalid date"
      }
    },
    {
      "description": "",
      "elements": [
        {
          "description": "",
          "id": "get-/todos/{id};get-todos-by-id",
          "keyword": "Scenario",
          "line": 3,
          "name": "Get todos by id",
          "steps": [
            {
              "keyword": "Before",
              "hidden": true,
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "Given ",
              "line": 4,
              "name": "I have the api gateway",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 1000000
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 5,
              "name": "I have the path \"/todos/45\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 6,
              "name": "I have the method \"GET\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "When ",
              "line": 7,
              "name": "I run the API",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:11"
              },
              "result": {
                "status": "passed",
                "duration": 271000000
              }
            },
            {
              "arguments": [],
              "keyword": "Then ",
              "line": 8,
              "name": "I should receive a response with the status 200",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 1000000
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 9,
              "name": "the response body at \"userId\" should equal 3",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 10,
              "name": "the response body at \"id\" should equal 45",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 11,
              "name": "the response body at \"title\" should equal \"velit soluta adipisci molestias reiciendis harum\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 1000000
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 12,
              "name": "the response body at \"completed\" should equal false",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "keyword": "After",
              "hidden": true,
              "result": {
                "status": "passed",
                "duration": 0
              },
              "embeddings": [
                {
                  "data": "{\"apis\":[{\"request\":{\"hostname\":\"jsonplaceholder.typicode.com\",\"port\":\"\",\"protocol\":\"https:\",\"pathname\":\"/todos/45\",\"hooks\":{\"afterResponse\":[null]},\"method\":\"get\",\"headers\":{\"x-correlation-id\":\"test-e2e-get-267-1627197986094\",\"user-agent\":\"restqa (https://github.com/restqa/restqa)\"},\"responseType\":\"json\"},\"response\":{\"body\":{\"userId\":3,\"id\":45,\"title\":\"velit soluta adipisci molestias reiciendis harum\",\"completed\":false},\"timing\":265,\"headers\":{\"date\":\"Sun, 25 Jul 2021 07:26:28 GMT\",\"content-type\":\"application/json; charset=utf-8\",\"transfer-encoding\":\"chunked\",\"connection\":\"close\",\"x-powered-by\":\"Express\",\"x-ratelimit-limit\":\"1000\",\"x-ratelimit-remaining\":\"0\",\"x-ratelimit-reset\":\"1627137547\",\"retry-after\":\"60\",\"vary\":\"Origin, Accept-Encoding\",\"access-control-allow-credentials\":\"true\",\"cache-control\":\"max-age=43200\",\"pragma\":\"no-cache\",\"expires\":\"-1\",\"x-content-type-options\":\"nosniff\",\"etag\":\"W/\\\"72-Z0pGv7JRwnMMiieZKCbbYfk7hYo\\\"\",\"via\":\"1.1 vegur\",\"cf-cache-status\":\"REVALIDATED\",\"expect-ct\":\"max-age=604800, report-uri=\\\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\\\"\",\"report-to\":\"{\\\"endpoints\\\":[{\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v3?s=FlmUTFaUpkbUDET9u9km8AWbLodh6ZtNh6h6ckJCb6eHeiKP1yr2sTGh6l1Ah42Bgf1TETIFbHzQ6ioFbrlryqPjhj%2FyFl5Fmu2pInb0zY9iOSP5xKFeRehAaS6AxRT3cWAzOZNL3ykr%2Bq9%2BzDj%2F\\\"}],\\\"group\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"nel\":\"{\\\"report_to\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"server\":\"cloudflare\",\"cf-ray\":\"6743a902eb233b07-CDG\",\"content-encoding\":\"br\",\"alt-svc\":\"h3-27=\\\":443\\\"; ma=86400, h3-28=\\\":443\\\"; ma=86400, h3-29=\\\":443\\\"; ma=86400, h3=\\\":443\\\"; ma=86400\"},\"statusCode\":200,\"request\":{\"path\":\"/todos/45\",\"method\":\"get\",\"prefix\":\"[GET /todos/45]\"}}}]}",
                  "mime_type": "application/json"
                }
              ]
            }
          ],
          "tags": [],
          "type": "scenario",
          "step_passed": 11,
          "step_failed": 0,
          "step_skipped": 0,
          "step_undefined": 0,
          "result": true,
          "status": "passed",
          "duration": 0.274,
          "timestamp": "2021-07-25T09:26:28+02:00",
          "metadata": {
            "id": "6e6b9f3d-2d41-4732-91a3-83cadfc5308e",
            "startTime": "2021-07-25T09:26:28+02:00",
            "name": "jsonplaceholder from typecode",
            "key": "JSON-PLACEHOLDER",
            "env": "local",
            "duration": null,
            "durationFormat": "Invalid date"
          }
        },
        {
          "description": "",
          "id": "get-/todos/{id};get-todos-by-id-but-id-doesn't-exist",
          "keyword": "Scenario",
          "line": 14,
          "name": "Get todos by id but id doesn't exist",
          "steps": [
            {
              "keyword": "Before",
              "hidden": true,
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "Given ",
              "line": 15,
              "name": "I have the api gateway",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 1000000
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 16,
              "name": "I have the path \"/todos/300000\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 17,
              "name": "I have the method \"GET\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "When ",
              "line": 18,
              "name": "I run the API",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:11"
              },
              "result": {
                "status": "passed",
                "duration": 267000000
              }
            },
            {
              "arguments": [],
              "keyword": "Then ",
              "line": 19,
              "name": "I should receive a response with the status 404",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 1000000
              }
            },
            {
              "keyword": "After",
              "hidden": true,
              "result": {
                "status": "passed",
                "duration": 0
              },
              "embeddings": [
                {
                  "data": "{\"apis\":[{\"request\":{\"hostname\":\"jsonplaceholder.typicode.com\",\"port\":\"\",\"protocol\":\"https:\",\"pathname\":\"/todos/300000\",\"hooks\":{\"afterResponse\":[null]},\"method\":\"get\",\"headers\":{\"x-correlation-id\":\"test-e2e-get-847-1627197986369\",\"user-agent\":\"restqa (https://github.com/restqa/restqa)\"},\"responseType\":\"json\"},\"response\":{\"body\":{},\"timing\":259,\"headers\":{\"date\":\"Sun, 25 Jul 2021 07:26:28 GMT\",\"content-type\":\"application/json; charset=utf-8\",\"content-length\":\"2\",\"connection\":\"close\",\"x-powered-by\":\"Express\",\"x-ratelimit-limit\":\"1000\",\"x-ratelimit-remaining\":\"996\",\"x-ratelimit-reset\":\"1627198028\",\"vary\":\"Origin, Accept-Encoding\",\"access-control-allow-credentials\":\"true\",\"cache-control\":\"max-age=43200\",\"pragma\":\"no-cache\",\"expires\":\"-1\",\"x-content-type-options\":\"nosniff\",\"etag\":\"W/\\\"2-vyGp6PvFo4RvsFtPoIWeCReyIC8\\\"\",\"via\":\"1.1 vegur\",\"cf-cache-status\":\"MISS\",\"expect-ct\":\"max-age=604800, report-uri=\\\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\\\"\",\"report-to\":\"{\\\"endpoints\\\":[{\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v3?s=Jm1QD%2FekFGFVGF43u%2FPyyHXvwpjhN7SwQMdSn5bWJLGVP1HDUy5CrgZM7Faa%2B5RRizR5CPYIHE4NJxtzo4B%2F2nkT0u1D4z%2F0dK2bEefmOwNSKTckSxFE0XdhlIvt8GXW0YEosz5HNWUS43r4DeUa\\\"}],\\\"group\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"nel\":\"{\\\"report_to\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"server\":\"cloudflare\",\"cf-ray\":\"6743a90498033b8b-CDG\",\"alt-svc\":\"h3-27=\\\":443\\\"; ma=86400, h3-28=\\\":443\\\"; ma=86400, h3-29=\\\":443\\\"; ma=86400, h3=\\\":443\\\"; ma=86400\"},\"statusCode\":404,\"request\":{\"path\":\"/todos/300000\",\"method\":\"get\",\"prefix\":\"[GET /todos/300000]\"}}}]}",
                  "mime_type": "application/json"
                }
              ]
            }
          ],
          "tags": [],
          "type": "scenario",
          "step_passed": 7,
          "step_failed": 0,
          "step_skipped": 0,
          "step_undefined": 0,
          "result": true,
          "status": "passed",
          "duration": 0.269,
          "timestamp": "2021-07-25T09:26:28+02:00",
          "metadata": {
            "id": "6e6b9f3d-2d41-4732-91a3-83cadfc5308e",
            "startTime": "2021-07-25T09:26:28+02:00",
            "name": "jsonplaceholder from typecode",
            "key": "JSON-PLACEHOLDER",
            "env": "local",
            "duration": null,
            "durationFormat": "Invalid date"
          }
        }
      ],
      "id": "get-/todos/{id}",
      "line": 1,
      "keyword": "Feature",
      "tags": [],
      "uri": "../example/tests/integration/get-todos-id.feature",
      "total": 2,
      "passed": 2,
      "failed": 0,
      "skipped": 0,
      "undefined": 0,
      "result": true,
      "duration": 0.543,
      "timestamp": "2021-07-25T09:26:28+02:00",
      "type": "feature",
      "feature_name": "GET /todos/{id}",
      "metadata": {
        "id": "6e6b9f3d-2d41-4732-91a3-83cadfc5308e",
        "startTime": "2021-07-25T09:26:28+02:00",
        "name": "jsonplaceholder from typecode",
        "key": "JSON-PLACEHOLDER",
        "env": "local",
        "duration": null,
        "durationFormat": "Invalid date"
      }
    },
    {
      "description": "",
      "elements": [
        {
          "description": "",
          "id": "get-/todos;get-the-list-of-todos",
          "keyword": "Scenario",
          "line": 3,
          "name": "Get the list of Todos",
          "steps": [
            {
              "keyword": "Before",
              "hidden": true,
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "Given ",
              "line": 4,
              "name": "I have the api gateway",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 1000000
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 5,
              "name": "I have the path \"/todos\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 6,
              "name": "I have the method \"GET\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "When ",
              "line": 7,
              "name": "I run the API",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:11"
              },
              "result": {
                "status": "passed",
                "duration": 88000000
              }
            },
            {
              "arguments": [],
              "keyword": "Then ",
              "line": 8,
              "name": "I should receive a response with the status 200",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 9,
              "name": "the response should not be empty array",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 10,
              "name": "the response list should contain 200 items",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 11,
              "name": "the response body at \"0.userId\" should equal 1",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 12,
              "name": "the response body at \"0.id\" should equal 1",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 13,
              "name": "the response body at \"0.title\" should equal \"delectus aut autem\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 14,
              "name": "the response body at \"0.completed\" should equal false",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 1000000
              }
            },
            {
              "keyword": "After",
              "hidden": true,
              "result": {
                "status": "passed",
                "duration": 0
              },
              "embeddings": [
                {
                  "data": "{\"apis\":[{\"request\":{\"hostname\":\"jsonplaceholder.typicode.com\",\"port\":\"\",\"protocol\":\"https:\",\"pathname\":\"/todos\",\"hooks\":{\"afterResponse\":[null]},\"method\":\"get\",\"headers\":{\"x-correlation-id\":\"test-e2e-get-357-1627197986640\",\"user-agent\":\"restqa (https://github.com/restqa/restqa)\"},\"responseType\":\"json\"},\"response\":{\"body\":[{\"userId\":1,\"id\":1,\"title\":\"delectus aut autem\",\"completed\":false},{\"userId\":1,\"id\":2,\"title\":\"quis ut nam facilis et officia qui\",\"completed\":false},{\"userId\":1,\"id\":3,\"title\":\"fugiat veniam minus\",\"completed\":false},{\"userId\":1,\"id\":4,\"title\":\"et porro tempora\",\"completed\":true},{\"userId\":1,\"id\":5,\"title\":\"laboriosam mollitia et enim quasi adipisci quia provident illum\",\"completed\":false},{\"userId\":1,\"id\":6,\"title\":\"qui ullam ratione quibusdam voluptatem quia omnis\",\"completed\":false},{\"userId\":1,\"id\":7,\"title\":\"illo expedita consequatur quia in\",\"completed\":false},{\"userId\":1,\"id\":8,\"title\":\"quo adipisci enim quam ut ab\",\"completed\":true},{\"userId\":1,\"id\":9,\"title\":\"molestiae perspiciatis ipsa\",\"completed\":false},{\"userId\":1,\"id\":10,\"title\":\"illo est ratione doloremque quia maiores aut\",\"completed\":true},{\"userId\":1,\"id\":11,\"title\":\"vero rerum temporibus dolor\",\"completed\":true},{\"userId\":1,\"id\":12,\"title\":\"ipsa repellendus fugit nisi\",\"completed\":true},{\"userId\":1,\"id\":13,\"title\":\"et doloremque nulla\",\"completed\":false},{\"userId\":1,\"id\":14,\"title\":\"repellendus sunt dolores architecto voluptatum\",\"completed\":true},{\"userId\":1,\"id\":15,\"title\":\"ab voluptatum amet voluptas\",\"completed\":true},{\"userId\":1,\"id\":16,\"title\":\"accusamus eos facilis sint et aut voluptatem\",\"completed\":true},{\"userId\":1,\"id\":17,\"title\":\"quo laboriosam deleniti aut qui\",\"completed\":true},{\"userId\":1,\"id\":18,\"title\":\"dolorum est consequatur ea mollitia in culpa\",\"completed\":false},{\"userId\":1,\"id\":19,\"title\":\"molestiae ipsa aut voluptatibus pariatur dolor nihil\",\"completed\":true},{\"userId\":1,\"id\":20,\"title\":\"ullam nobis libero sapiente ad optio sint\",\"completed\":true},{\"userId\":2,\"id\":21,\"title\":\"suscipit repellat esse quibusdam voluptatem incidunt\",\"completed\":false},{\"userId\":2,\"id\":22,\"title\":\"distinctio vitae autem nihil ut molestias quo\",\"completed\":true},{\"userId\":2,\"id\":23,\"title\":\"et itaque necessitatibus maxime molestiae qui quas velit\",\"completed\":false},{\"userId\":2,\"id\":24,\"title\":\"adipisci non ad dicta qui amet quaerat doloribus ea\",\"completed\":false},{\"userId\":2,\"id\":25,\"title\":\"voluptas quo tenetur perspiciatis explicabo natus\",\"completed\":true},{\"userId\":2,\"id\":26,\"title\":\"aliquam aut quasi\",\"completed\":true},{\"userId\":2,\"id\":27,\"title\":\"veritatis pariatur delectus\",\"completed\":true},{\"userId\":2,\"id\":28,\"title\":\"nesciunt totam sit blanditiis sit\",\"completed\":false},{\"userId\":2,\"id\":29,\"title\":\"laborum aut in quam\",\"completed\":false},{\"userId\":2,\"id\":30,\"title\":\"nemo perspiciatis repellat ut dolor libero commodi blanditiis omnis\",\"completed\":true},{\"userId\":2,\"id\":31,\"title\":\"repudiandae totam in est sint facere fuga\",\"completed\":false},{\"userId\":2,\"id\":32,\"title\":\"earum doloribus ea doloremque quis\",\"completed\":false},{\"userId\":2,\"id\":33,\"title\":\"sint sit aut vero\",\"completed\":false},{\"userId\":2,\"id\":34,\"title\":\"porro aut necessitatibus eaque distinctio\",\"completed\":false},{\"userId\":2,\"id\":35,\"title\":\"repellendus veritatis molestias dicta incidunt\",\"completed\":true},{\"userId\":2,\"id\":36,\"title\":\"excepturi deleniti adipisci voluptatem et neque optio illum ad\",\"completed\":true},{\"userId\":2,\"id\":37,\"title\":\"sunt cum tempora\",\"completed\":false},{\"userId\":2,\"id\":38,\"title\":\"totam quia non\",\"completed\":false},{\"userId\":2,\"id\":39,\"title\":\"doloremque quibusdam asperiores libero corrupti illum qui omnis\",\"completed\":false},{\"userId\":2,\"id\":40,\"title\":\"totam atque quo nesciunt\",\"completed\":true},{\"userId\":3,\"id\":41,\"title\":\"aliquid amet impedit consequatur aspernatur placeat eaque fugiat suscipit\",\"completed\":false},{\"userId\":3,\"id\":42,\"title\":\"rerum perferendis error quia ut eveniet\",\"completed\":false},{\"userId\":3,\"id\":43,\"title\":\"tempore ut sint quis recusandae\",\"completed\":true},{\"userId\":3,\"id\":44,\"title\":\"cum debitis quis accusamus doloremque ipsa natus sapiente omnis\",\"completed\":true},{\"userId\":3,\"id\":45,\"title\":\"velit soluta adipisci molestias reiciendis harum\",\"completed\":false},{\"userId\":3,\"id\":46,\"title\":\"vel voluptatem repellat nihil placeat corporis\",\"completed\":false},{\"userId\":3,\"id\":47,\"title\":\"nam qui rerum fugiat accusamus\",\"completed\":false},{\"userId\":3,\"id\":48,\"title\":\"sit reprehenderit omnis quia\",\"completed\":false},{\"userId\":3,\"id\":49,\"title\":\"ut necessitatibus aut maiores debitis officia blanditiis velit et\",\"completed\":false},{\"userId\":3,\"id\":50,\"title\":\"cupiditate necessitatibus ullam aut quis dolor voluptate\",\"completed\":true},{\"userId\":3,\"id\":51,\"title\":\"distinctio exercitationem ab doloribus\",\"completed\":false},{\"userId\":3,\"id\":52,\"title\":\"nesciunt dolorum quis recusandae ad pariatur ratione\",\"completed\":false},{\"userId\":3,\"id\":53,\"title\":\"qui labore est occaecati recusandae aliquid quam\",\"completed\":false},{\"userId\":3,\"id\":54,\"title\":\"quis et est ut voluptate quam dolor\",\"completed\":true},{\"userId\":3,\"id\":55,\"title\":\"voluptatum omnis minima qui occaecati provident nulla voluptatem ratione\",\"completed\":true},{\"userId\":3,\"id\":56,\"title\":\"deleniti ea temporibus enim\",\"completed\":true},{\"userId\":3,\"id\":57,\"title\":\"pariatur et magnam ea doloribus similique voluptatem rerum quia\",\"completed\":false},{\"userId\":3,\"id\":58,\"title\":\"est dicta totam qui explicabo doloribus qui dignissimos\",\"completed\":false},{\"userId\":3,\"id\":59,\"title\":\"perspiciatis velit id laborum placeat iusto et aliquam odio\",\"completed\":false},{\"userId\":3,\"id\":60,\"title\":\"et sequi qui architecto ut adipisci\",\"completed\":true},{\"userId\":4,\"id\":61,\"title\":\"odit optio omnis qui sunt\",\"completed\":true},{\"userId\":4,\"id\":62,\"title\":\"et placeat et tempore aspernatur sint numquam\",\"completed\":false},{\"userId\":4,\"id\":63,\"title\":\"doloremque aut dolores quidem fuga qui nulla\",\"completed\":true},{\"userId\":4,\"id\":64,\"title\":\"voluptas consequatur qui ut quia magnam nemo esse\",\"completed\":false},{\"userId\":4,\"id\":65,\"title\":\"fugiat pariatur ratione ut asperiores necessitatibus magni\",\"completed\":false},{\"userId\":4,\"id\":66,\"title\":\"rerum eum molestias autem voluptatum sit optio\",\"completed\":false},{\"userId\":4,\"id\":67,\"title\":\"quia voluptatibus voluptatem quos similique maiores repellat\",\"completed\":false},{\"userId\":4,\"id\":68,\"title\":\"aut id perspiciatis voluptatem iusto\",\"completed\":false},{\"userId\":4,\"id\":69,\"title\":\"doloribus sint dolorum ab adipisci itaque dignissimos aliquam suscipit\",\"completed\":false},{\"userId\":4,\"id\":70,\"title\":\"ut sequi accusantium et mollitia delectus sunt\",\"completed\":false},{\"userId\":4,\"id\":71,\"title\":\"aut velit saepe ullam\",\"completed\":false},{\"userId\":4,\"id\":72,\"title\":\"praesentium facilis facere quis harum voluptatibus voluptatem eum\",\"completed\":false},{\"userId\":4,\"id\":73,\"title\":\"sint amet quia totam corporis qui exercitationem commodi\",\"completed\":true},{\"userId\":4,\"id\":74,\"title\":\"expedita tempore nobis eveniet laborum maiores\",\"completed\":false},{\"userId\":4,\"id\":75,\"title\":\"occaecati adipisci est possimus totam\",\"completed\":false},{\"userId\":4,\"id\":76,\"title\":\"sequi dolorem sed\",\"completed\":true},{\"userId\":4,\"id\":77,\"title\":\"maiores aut nesciunt delectus exercitationem vel assumenda eligendi at\",\"completed\":false},{\"userId\":4,\"id\":78,\"title\":\"reiciendis est magnam amet nemo iste recusandae impedit quaerat\",\"completed\":false},{\"userId\":4,\"id\":79,\"title\":\"eum ipsa maxime ut\",\"completed\":true},{\"userId\":4,\"id\":80,\"title\":\"tempore molestias dolores rerum sequi voluptates ipsum consequatur\",\"completed\":true},{\"userId\":5,\"id\":81,\"title\":\"suscipit qui totam\",\"completed\":true},{\"userId\":5,\"id\":82,\"title\":\"voluptates eum voluptas et dicta\",\"completed\":false},{\"userId\":5,\"id\":83,\"title\":\"quidem at rerum quis ex aut sit quam\",\"completed\":true},{\"userId\":5,\"id\":84,\"title\":\"sunt veritatis ut voluptate\",\"completed\":false},{\"userId\":5,\"id\":85,\"title\":\"et quia ad iste a\",\"completed\":true},{\"userId\":5,\"id\":86,\"title\":\"incidunt ut saepe autem\",\"completed\":true},{\"userId\":5,\"id\":87,\"title\":\"laudantium quae eligendi consequatur quia et vero autem\",\"completed\":true},{\"userId\":5,\"id\":88,\"title\":\"vitae aut excepturi laboriosam sint aliquam et et accusantium\",\"completed\":false},{\"userId\":5,\"id\":89,\"title\":\"sequi ut omnis et\",\"completed\":true},{\"userId\":5,\"id\":90,\"title\":\"molestiae nisi accusantium tenetur dolorem et\",\"completed\":true},{\"userId\":5,\"id\":91,\"title\":\"nulla quis consequatur saepe qui id expedita\",\"completed\":true},{\"userId\":5,\"id\":92,\"title\":\"in omnis laboriosam\",\"completed\":true},{\"userId\":5,\"id\":93,\"title\":\"odio iure consequatur molestiae quibusdam necessitatibus quia sint\",\"completed\":true},{\"userId\":5,\"id\":94,\"title\":\"facilis modi saepe mollitia\",\"completed\":false},{\"userId\":5,\"id\":95,\"title\":\"vel nihil et molestiae iusto assumenda nemo quo ut\",\"completed\":true},{\"userId\":5,\"id\":96,\"title\":\"nobis suscipit ducimus enim asperiores voluptas\",\"completed\":false},{\"userId\":5,\"id\":97,\"title\":\"dolorum laboriosam eos qui iure aliquam\",\"completed\":false},{\"userId\":5,\"id\":98,\"title\":\"debitis accusantium ut quo facilis nihil quis sapiente necessitatibus\",\"completed\":true},{\"userId\":5,\"id\":99,\"title\":\"neque voluptates ratione\",\"completed\":false},{\"userId\":5,\"id\":100,\"title\":\"excepturi a et neque qui expedita vel voluptate\",\"completed\":false},{\"userId\":6,\"id\":101,\"title\":\"explicabo enim cumque porro aperiam occaecati minima\",\"completed\":false},{\"userId\":6,\"id\":102,\"title\":\"sed ab consequatur\",\"completed\":false},{\"userId\":6,\"id\":103,\"title\":\"non sunt delectus illo nulla tenetur enim omnis\",\"completed\":false},{\"userId\":6,\"id\":104,\"title\":\"excepturi non laudantium quo\",\"completed\":false},{\"userId\":6,\"id\":105,\"title\":\"totam quia dolorem et illum repellat voluptas optio\",\"completed\":true},{\"userId\":6,\"id\":106,\"title\":\"ad illo quis voluptatem temporibus\",\"completed\":true},{\"userId\":6,\"id\":107,\"title\":\"praesentium facilis omnis laudantium fugit ad iusto nihil nesciunt\",\"completed\":false},{\"userId\":6,\"id\":108,\"title\":\"a eos eaque nihil et exercitationem incidunt delectus\",\"completed\":true},{\"userId\":6,\"id\":109,\"title\":\"autem temporibus harum quisquam in culpa\",\"completed\":true},{\"userId\":6,\"id\":110,\"title\":\"aut aut ea corporis\",\"completed\":true},{\"userId\":6,\"id\":111,\"title\":\"magni accusantium labore et id quis provident\",\"completed\":false},{\"userId\":6,\"id\":112,\"title\":\"consectetur impedit quisquam qui deserunt non rerum consequuntur eius\",\"completed\":false},{\"userId\":6,\"id\":113,\"title\":\"quia atque aliquam sunt impedit voluptatum rerum assumenda nisi\",\"completed\":false},{\"userId\":6,\"id\":114,\"title\":\"cupiditate quos possimus corporis quisquam exercitationem beatae\",\"completed\":false},{\"userId\":6,\"id\":115,\"title\":\"sed et ea eum\",\"completed\":false},{\"userId\":6,\"id\":116,\"title\":\"ipsa dolores vel facilis ut\",\"completed\":true},{\"userId\":6,\"id\":117,\"title\":\"sequi quae est et qui qui eveniet asperiores\",\"completed\":false},{\"userId\":6,\"id\":118,\"title\":\"quia modi consequatur vero fugiat\",\"completed\":false},{\"userId\":6,\"id\":119,\"title\":\"corporis ducimus ea perspiciatis iste\",\"completed\":false},{\"userId\":6,\"id\":120,\"title\":\"dolorem laboriosam vel voluptas et aliquam quasi\",\"completed\":false},{\"userId\":7,\"id\":121,\"title\":\"inventore aut nihil minima laudantium hic qui omnis\",\"completed\":true},{\"userId\":7,\"id\":122,\"title\":\"provident aut nobis culpa\",\"completed\":true},{\"userId\":7,\"id\":123,\"title\":\"esse et quis iste est earum aut impedit\",\"completed\":false},{\"userId\":7,\"id\":124,\"title\":\"qui consectetur id\",\"completed\":false},{\"userId\":7,\"id\":125,\"title\":\"aut quasi autem iste tempore illum possimus\",\"completed\":false},{\"userId\":7,\"id\":126,\"title\":\"ut asperiores perspiciatis veniam ipsum rerum saepe\",\"completed\":true},{\"userId\":7,\"id\":127,\"title\":\"voluptatem libero consectetur rerum ut\",\"completed\":true},{\"userId\":7,\"id\":128,\"title\":\"eius omnis est qui voluptatem autem\",\"completed\":false},{\"userId\":7,\"id\":129,\"title\":\"rerum culpa quis harum\",\"completed\":false},{\"userId\":7,\"id\":130,\"title\":\"nulla aliquid eveniet harum laborum libero alias ut unde\",\"completed\":true},{\"userId\":7,\"id\":131,\"title\":\"qui ea incidunt quis\",\"completed\":false},{\"userId\":7,\"id\":132,\"title\":\"qui molestiae voluptatibus velit iure harum quisquam\",\"completed\":true},{\"userId\":7,\"id\":133,\"title\":\"et labore eos enim rerum consequatur sunt\",\"completed\":true},{\"userId\":7,\"id\":134,\"title\":\"molestiae doloribus et laborum quod ea\",\"completed\":false},{\"userId\":7,\"id\":135,\"title\":\"facere ipsa nam eum voluptates reiciendis vero qui\",\"completed\":false},{\"userId\":7,\"id\":136,\"title\":\"asperiores illo tempora fuga sed ut quasi adipisci\",\"completed\":false},{\"userId\":7,\"id\":137,\"title\":\"qui sit non\",\"completed\":false},{\"userId\":7,\"id\":138,\"title\":\"placeat minima consequatur rem qui ut\",\"completed\":true},{\"userId\":7,\"id\":139,\"title\":\"consequatur doloribus id possimus voluptas a voluptatem\",\"completed\":false},{\"userId\":7,\"id\":140,\"title\":\"aut consectetur in blanditiis deserunt quia sed laboriosam\",\"completed\":true},{\"userId\":8,\"id\":141,\"title\":\"explicabo consectetur debitis voluptates quas quae culpa rerum non\",\"completed\":true},{\"userId\":8,\"id\":142,\"title\":\"maiores accusantium architecto necessitatibus reiciendis ea aut\",\"completed\":true},{\"userId\":8,\"id\":143,\"title\":\"eum non recusandae cupiditate animi\",\"completed\":false},{\"userId\":8,\"id\":144,\"title\":\"ut eum exercitationem sint\",\"completed\":false},{\"userId\":8,\"id\":145,\"title\":\"beatae qui ullam incidunt voluptatem non nisi aliquam\",\"completed\":false},{\"userId\":8,\"id\":146,\"title\":\"molestiae suscipit ratione nihil odio libero impedit vero totam\",\"completed\":true},{\"userId\":8,\"id\":147,\"title\":\"eum itaque quod reprehenderit et facilis dolor autem ut\",\"completed\":true},{\"userId\":8,\"id\":148,\"title\":\"esse quas et quo quasi exercitationem\",\"completed\":false},{\"userId\":8,\"id\":149,\"title\":\"animi voluptas quod perferendis est\",\"completed\":false},{\"userId\":8,\"id\":150,\"title\":\"eos amet tempore laudantium fugit a\",\"completed\":false},{\"userId\":8,\"id\":151,\"title\":\"accusamus adipisci dicta qui quo ea explicabo sed vero\",\"completed\":true},{\"userId\":8,\"id\":152,\"title\":\"odit eligendi recusandae doloremque cumque non\",\"completed\":false},{\"userId\":8,\"id\":153,\"title\":\"ea aperiam consequatur qui repellat eos\",\"completed\":false},{\"userId\":8,\"id\":154,\"title\":\"rerum non ex sapiente\",\"completed\":true},{\"userId\":8,\"id\":155,\"title\":\"voluptatem nobis consequatur et assumenda magnam\",\"completed\":true},{\"userId\":8,\"id\":156,\"title\":\"nam quia quia nulla repellat assumenda quibusdam sit nobis\",\"completed\":true},{\"userId\":8,\"id\":157,\"title\":\"dolorem veniam quisquam deserunt repellendus\",\"completed\":true},{\"userId\":8,\"id\":158,\"title\":\"debitis vitae delectus et harum accusamus aut deleniti a\",\"completed\":true},{\"userId\":8,\"id\":159,\"title\":\"debitis adipisci quibusdam aliquam sed dolore ea praesentium nobis\",\"completed\":true},{\"userId\":8,\"id\":160,\"title\":\"et praesentium aliquam est\",\"completed\":false},{\"userId\":9,\"id\":161,\"title\":\"ex hic consequuntur earum omnis alias ut occaecati culpa\",\"completed\":true},{\"userId\":9,\"id\":162,\"title\":\"omnis laboriosam molestias animi sunt dolore\",\"completed\":true},{\"userId\":9,\"id\":163,\"title\":\"natus corrupti maxime laudantium et voluptatem laboriosam odit\",\"completed\":false},{\"userId\":9,\"id\":164,\"title\":\"reprehenderit quos aut aut consequatur est sed\",\"completed\":false},{\"userId\":9,\"id\":165,\"title\":\"fugiat perferendis sed aut quidem\",\"completed\":false},{\"userId\":9,\"id\":166,\"title\":\"quos quo possimus suscipit minima ut\",\"completed\":false},{\"userId\":9,\"id\":167,\"title\":\"et quis minus quo a asperiores molestiae\",\"completed\":false},{\"userId\":9,\"id\":168,\"title\":\"recusandae quia qui sunt libero\",\"completed\":false},{\"userId\":9,\"id\":169,\"title\":\"ea odio perferendis officiis\",\"completed\":true},{\"userId\":9,\"id\":170,\"title\":\"quisquam aliquam quia doloribus aut\",\"completed\":false},{\"userId\":9,\"id\":171,\"title\":\"fugiat aut voluptatibus corrupti deleniti velit iste odio\",\"completed\":true},{\"userId\":9,\"id\":172,\"title\":\"et provident amet rerum consectetur et voluptatum\",\"completed\":false},{\"userId\":9,\"id\":173,\"title\":\"harum ad aperiam quis\",\"completed\":false},{\"userId\":9,\"id\":174,\"title\":\"similique aut quo\",\"completed\":false},{\"userId\":9,\"id\":175,\"title\":\"laudantium eius officia perferendis provident perspiciatis asperiores\",\"completed\":true},{\"userId\":9,\"id\":176,\"title\":\"magni soluta corrupti ut maiores rem quidem\",\"completed\":false},{\"userId\":9,\"id\":177,\"title\":\"et placeat temporibus voluptas est tempora quos quibusdam\",\"completed\":false},{\"userId\":9,\"id\":178,\"title\":\"nesciunt itaque commodi tempore\",\"completed\":true},{\"userId\":9,\"id\":179,\"title\":\"omnis consequuntur cupiditate impedit itaque ipsam quo\",\"completed\":true},{\"userId\":9,\"id\":180,\"title\":\"debitis nisi et dolorem repellat et\",\"completed\":true},{\"userId\":10,\"id\":181,\"title\":\"ut cupiditate sequi aliquam fuga maiores\",\"completed\":false},{\"userId\":10,\"id\":182,\"title\":\"inventore saepe cumque et aut illum enim\",\"completed\":true},{\"userId\":10,\"id\":183,\"title\":\"omnis nulla eum aliquam distinctio\",\"completed\":true},{\"userId\":10,\"id\":184,\"title\":\"molestias modi perferendis perspiciatis\",\"completed\":false},{\"userId\":10,\"id\":185,\"title\":\"voluptates dignissimos sed doloribus animi quaerat aut\",\"completed\":false},{\"userId\":10,\"id\":186,\"title\":\"explicabo odio est et\",\"completed\":false},{\"userId\":10,\"id\":187,\"title\":\"consequuntur animi possimus\",\"completed\":false},{\"userId\":10,\"id\":188,\"title\":\"vel non beatae est\",\"completed\":true},{\"userId\":10,\"id\":189,\"title\":\"culpa eius et voluptatem et\",\"completed\":true},{\"userId\":10,\"id\":190,\"title\":\"accusamus sint iusto et voluptatem exercitationem\",\"completed\":true},{\"userId\":10,\"id\":191,\"title\":\"temporibus atque distinctio omnis eius impedit tempore molestias pariatur\",\"completed\":true},{\"userId\":10,\"id\":192,\"title\":\"ut quas possimus exercitationem sint voluptates\",\"completed\":false},{\"userId\":10,\"id\":193,\"title\":\"rerum debitis voluptatem qui eveniet tempora distinctio a\",\"completed\":true},{\"userId\":10,\"id\":194,\"title\":\"sed ut vero sit molestiae\",\"completed\":false},{\"userId\":10,\"id\":195,\"title\":\"rerum ex veniam mollitia voluptatibus pariatur\",\"completed\":true},{\"userId\":10,\"id\":196,\"title\":\"consequuntur aut ut fugit similique\",\"completed\":true},{\"userId\":10,\"id\":197,\"title\":\"dignissimos quo nobis earum saepe\",\"completed\":true},{\"userId\":10,\"id\":198,\"title\":\"quis eius est sint explicabo\",\"completed\":true},{\"userId\":10,\"id\":199,\"title\":\"numquam repellendus a magnam\",\"completed\":true},{\"userId\":10,\"id\":200,\"title\":\"ipsam aperiam voluptates qui\",\"completed\":false}],\"timing\":81,\"headers\":{\"date\":\"Sun, 25 Jul 2021 07:26:28 GMT\",\"content-type\":\"application/json; charset=utf-8\",\"transfer-encoding\":\"chunked\",\"connection\":\"close\",\"x-powered-by\":\"Express\",\"x-ratelimit-limit\":\"1000\",\"x-ratelimit-remaining\":\"999\",\"x-ratelimit-reset\":\"1626918609\",\"vary\":\"Origin, Accept-Encoding\",\"access-control-allow-credentials\":\"true\",\"cache-control\":\"max-age=43200\",\"pragma\":\"no-cache\",\"expires\":\"-1\",\"x-content-type-options\":\"nosniff\",\"etag\":\"W/\\\"5ef7-4Ad6/n39KWY9q6Ykm/ULNQ2F5IM\\\"\",\"via\":\"1.1 vegur\",\"cf-cache-status\":\"HIT\",\"age\":\"28270\",\"expect-ct\":\"max-age=604800, report-uri=\\\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\\\"\",\"report-to\":\"{\\\"endpoints\\\":[{\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v3?s=5JBNLyqpyfqa%2FLtWl3zWNR7M1C8qnOqWPYK49Et2Ux1EHbnxf43%2FDcYZc4B%2F%2Bz1jyFxIHa05g3FAUynPJL3kYKACYvyfnsBdmIFPoSMQrVIgQLeVLmeP9Axsal90FFtsFF14a6LqhbzLmM6mlSwo\\\"}],\\\"group\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"nel\":\"{\\\"report_to\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"server\":\"cloudflare\",\"cf-ray\":\"6743a9064be33328-CDG\",\"content-encoding\":\"br\",\"alt-svc\":\"h3-27=\\\":443\\\"; ma=86400, h3-28=\\\":443\\\"; ma=86400, h3-29=\\\":443\\\"; ma=86400, h3=\\\":443\\\"; ma=86400\"},\"statusCode\":200,\"request\":{\"path\":\"/todos\",\"method\":\"get\",\"prefix\":\"[GET /todos]\"}}}]}",
                  "mime_type": "application/json"
                }
              ]
            }
          ],
          "tags": [],
          "type": "scenario",
          "step_passed": 13,
          "step_failed": 0,
          "step_skipped": 0,
          "step_undefined": 0,
          "result": true,
          "status": "passed",
          "duration": 0.09,
          "timestamp": "2021-07-25T09:26:28+02:00",
          "metadata": {
            "id": "6e6b9f3d-2d41-4732-91a3-83cadfc5308e",
            "startTime": "2021-07-25T09:26:28+02:00",
            "name": "jsonplaceholder from typecode",
            "key": "JSON-PLACEHOLDER",
            "env": "local",
            "duration": null,
            "durationFormat": "Invalid date"
          }
        },
        {
          "description": "",
          "id": "get-/todos;filter-the-list-by-userid",
          "keyword": "Scenario",
          "line": 16,
          "name": "Filter the list by userId",
          "steps": [
            {
              "keyword": "Before",
              "hidden": true,
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "Given ",
              "line": 17,
              "name": "I have the api gateway",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 18,
              "name": "I have the path \"/todos\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 19,
              "name": "I have the method \"GET\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 20,
              "name": "the query parameter contains \"userId\" as \"3\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "When ",
              "line": 21,
              "name": "I run the API",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:11"
              },
              "result": {
                "status": "passed",
                "duration": 275000000
              }
            },
            {
              "arguments": [],
              "keyword": "Then ",
              "line": 22,
              "name": "I should receive a response with the status 200",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 23,
              "name": "the response should not be empty array",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 24,
              "name": "the response list should contain 20 items",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 25,
              "name": "the response body at \"0.userId\" should equal 3",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 26,
              "name": "the response body at \"0.id\" should equal 41",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 27,
              "name": "the response body at \"0.title\" should equal \"aliquid amet impedit consequatur aspernatur placeat eaque fugiat suscipit\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 28,
              "name": "the response body at \"0.completed\" should equal false",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "keyword": "After",
              "hidden": true,
              "result": {
                "status": "passed",
                "duration": 0
              },
              "embeddings": [
                {
                  "data": "{\"apis\":[{\"request\":{\"hostname\":\"jsonplaceholder.typicode.com\",\"port\":\"\",\"protocol\":\"https:\",\"pathname\":\"/todos\",\"hooks\":{\"afterResponse\":[null]},\"method\":\"get\",\"searchParams\":{\"userId\":\"3\"},\"headers\":{\"x-correlation-id\":\"test-e2e-get-604-1627197986731\",\"user-agent\":\"restqa (https://github.com/restqa/restqa)\"},\"responseType\":\"json\"},\"response\":{\"body\":[{\"userId\":3,\"id\":41,\"title\":\"aliquid amet impedit consequatur aspernatur placeat eaque fugiat suscipit\",\"completed\":false},{\"userId\":3,\"id\":42,\"title\":\"rerum perferendis error quia ut eveniet\",\"completed\":false},{\"userId\":3,\"id\":43,\"title\":\"tempore ut sint quis recusandae\",\"completed\":true},{\"userId\":3,\"id\":44,\"title\":\"cum debitis quis accusamus doloremque ipsa natus sapiente omnis\",\"completed\":true},{\"userId\":3,\"id\":45,\"title\":\"velit soluta adipisci molestias reiciendis harum\",\"completed\":false},{\"userId\":3,\"id\":46,\"title\":\"vel voluptatem repellat nihil placeat corporis\",\"completed\":false},{\"userId\":3,\"id\":47,\"title\":\"nam qui rerum fugiat accusamus\",\"completed\":false},{\"userId\":3,\"id\":48,\"title\":\"sit reprehenderit omnis quia\",\"completed\":false},{\"userId\":3,\"id\":49,\"title\":\"ut necessitatibus aut maiores debitis officia blanditiis velit et\",\"completed\":false},{\"userId\":3,\"id\":50,\"title\":\"cupiditate necessitatibus ullam aut quis dolor voluptate\",\"completed\":true},{\"userId\":3,\"id\":51,\"title\":\"distinctio exercitationem ab doloribus\",\"completed\":false},{\"userId\":3,\"id\":52,\"title\":\"nesciunt dolorum quis recusandae ad pariatur ratione\",\"completed\":false},{\"userId\":3,\"id\":53,\"title\":\"qui labore est occaecati recusandae aliquid quam\",\"completed\":false},{\"userId\":3,\"id\":54,\"title\":\"quis et est ut voluptate quam dolor\",\"completed\":true},{\"userId\":3,\"id\":55,\"title\":\"voluptatum omnis minima qui occaecati provident nulla voluptatem ratione\",\"completed\":true},{\"userId\":3,\"id\":56,\"title\":\"deleniti ea temporibus enim\",\"completed\":true},{\"userId\":3,\"id\":57,\"title\":\"pariatur et magnam ea doloribus similique voluptatem rerum quia\",\"completed\":false},{\"userId\":3,\"id\":58,\"title\":\"est dicta totam qui explicabo doloribus qui dignissimos\",\"completed\":false},{\"userId\":3,\"id\":59,\"title\":\"perspiciatis velit id laborum placeat iusto et aliquam odio\",\"completed\":false},{\"userId\":3,\"id\":60,\"title\":\"et sequi qui architecto ut adipisci\",\"completed\":true}],\"timing\":270,\"headers\":{\"date\":\"Sun, 25 Jul 2021 07:26:29 GMT\",\"content-type\":\"application/json; charset=utf-8\",\"transfer-encoding\":\"chunked\",\"connection\":\"close\",\"x-powered-by\":\"Express\",\"x-ratelimit-limit\":\"1000\",\"x-ratelimit-remaining\":\"995\",\"x-ratelimit-reset\":\"1627198028\",\"vary\":\"Origin, Accept-Encoding\",\"access-control-allow-credentials\":\"true\",\"cache-control\":\"max-age=43200\",\"pragma\":\"no-cache\",\"expires\":\"-1\",\"x-content-type-options\":\"nosniff\",\"etag\":\"W/\\\"9fe-pVb66zv4SminOJOZ1Ke2rDta9Ic\\\"\",\"via\":\"1.1 vegur\",\"cf-cache-status\":\"MISS\",\"expect-ct\":\"max-age=604800, report-uri=\\\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\\\"\",\"report-to\":\"{\\\"endpoints\\\":[{\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v3?s=knekekKOiaojXHiAu8etaj74%2BRt1kinF2QsoZLwNSpR0I5uVYGc49bX%2B4O58azWmSKiKi7TMGrk0uVTt58H0GZ0aht2IrhgEuO3IxznfZk0FGFl7QtuV51qkn5F29ldGzkG%2F09my7wef8o1tLehx\\\"}],\\\"group\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"nel\":\"{\\\"report_to\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"server\":\"cloudflare\",\"cf-ray\":\"6743a906daf33b9d-CDG\",\"content-encoding\":\"br\",\"alt-svc\":\"h3-27=\\\":443\\\"; ma=86400, h3-28=\\\":443\\\"; ma=86400, h3-29=\\\":443\\\"; ma=86400, h3=\\\":443\\\"; ma=86400\"},\"statusCode\":200,\"request\":{\"path\":\"/todos\",\"method\":\"get\",\"prefix\":\"[GET /todos?userId=3]\"}}}]}",
                  "mime_type": "application/json"
                }
              ]
            }
          ],
          "tags": [],
          "type": "scenario",
          "step_passed": 14,
          "step_failed": 0,
          "step_skipped": 0,
          "step_undefined": 0,
          "result": true,
          "status": "passed",
          "duration": 0.275,
          "timestamp": "2021-07-25T09:26:28+02:00",
          "metadata": {
            "id": "6e6b9f3d-2d41-4732-91a3-83cadfc5308e",
            "startTime": "2021-07-25T09:26:28+02:00",
            "name": "jsonplaceholder from typecode",
            "key": "JSON-PLACEHOLDER",
            "env": "local",
            "duration": null,
            "durationFormat": "Invalid date"
          }
        },
        {
          "description": "",
          "id": "get-/todos;filter-the-list-by-userid-with-an-invalid-userid",
          "keyword": "Scenario",
          "line": 30,
          "name": "Filter the list by userId with an invalid userId",
          "steps": [
            {
              "keyword": "Before",
              "hidden": true,
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "Given ",
              "line": 31,
              "name": "I have the api gateway",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 1000000
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 32,
              "name": "I have the path \"/todos\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 1000000
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 33,
              "name": "I have the method \"GET\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 34,
              "name": "the query parameter contains \"userId\" as \"3000\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "When ",
              "line": 35,
              "name": "I run the API",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:11"
              },
              "result": {
                "status": "passed",
                "duration": 274000000
              }
            },
            {
              "arguments": [],
              "keyword": "Then ",
              "line": 36,
              "name": "I should receive a response with the status 200",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 37,
              "name": "the response should be empty array",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 1000000
              }
            },
            {
              "keyword": "After",
              "hidden": true,
              "result": {
                "status": "passed",
                "duration": 1000000
              },
              "embeddings": [
                {
                  "data": "{\"apis\":[{\"request\":{\"hostname\":\"jsonplaceholder.typicode.com\",\"port\":\"\",\"protocol\":\"https:\",\"pathname\":\"/todos\",\"hooks\":{\"afterResponse\":[null]},\"method\":\"get\",\"searchParams\":{\"userId\":\"3000\"},\"headers\":{\"x-correlation-id\":\"test-e2e-get-604-1627197987013\",\"user-agent\":\"restqa (https://github.com/restqa/restqa)\"},\"responseType\":\"json\"},\"response\":{\"body\":[],\"timing\":271,\"headers\":{\"date\":\"Sun, 25 Jul 2021 07:26:29 GMT\",\"content-type\":\"application/json; charset=utf-8\",\"content-length\":\"2\",\"connection\":\"close\",\"x-powered-by\":\"Express\",\"x-ratelimit-limit\":\"1000\",\"x-ratelimit-remaining\":\"994\",\"x-ratelimit-reset\":\"1627198028\",\"vary\":\"Origin, Accept-Encoding\",\"access-control-allow-credentials\":\"true\",\"cache-control\":\"max-age=43200\",\"pragma\":\"no-cache\",\"expires\":\"-1\",\"x-content-type-options\":\"nosniff\",\"etag\":\"W/\\\"2-l9Fw4VUO7kr8CvBlt4zaMCqXZ0w\\\"\",\"via\":\"1.1 vegur\",\"cf-cache-status\":\"MISS\",\"accept-ranges\":\"bytes\",\"expect-ct\":\"max-age=604800, report-uri=\\\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\\\"\",\"report-to\":\"{\\\"endpoints\\\":[{\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v3?s=htpX6vRECNBL2Zq5jceywwLmVt3PmuJM%2BInEt4mNQAd27IvRQ2i0XPs3kFSSlm5YF1AcZAAbOfRxYoDKWr6p5gvwXjfrs%2Fqp2LF3%2B3DqRgdt2ELvVkU2iAfLQOPOPZl6nlc%2BmtZ7GB45leE5pO0E\\\"}],\\\"group\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"nel\":\"{\\\"report_to\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"server\":\"cloudflare\",\"cf-ray\":\"6743a908afd132c5-CDG\",\"alt-svc\":\"h3-27=\\\":443\\\"; ma=86400, h3-28=\\\":443\\\"; ma=86400, h3-29=\\\":443\\\"; ma=86400, h3=\\\":443\\\"; ma=86400\"},\"statusCode\":200,\"request\":{\"path\":\"/todos\",\"method\":\"get\",\"prefix\":\"[GET /todos?userId=3000]\"}}}]}",
                  "mime_type": "application/json"
                }
              ]
            }
          ],
          "tags": [],
          "type": "scenario",
          "step_passed": 9,
          "step_failed": 0,
          "step_skipped": 0,
          "step_undefined": 0,
          "result": true,
          "status": "passed",
          "duration": 0.278,
          "timestamp": "2021-07-25T09:26:28+02:00",
          "metadata": {
            "id": "6e6b9f3d-2d41-4732-91a3-83cadfc5308e",
            "startTime": "2021-07-25T09:26:28+02:00",
            "name": "jsonplaceholder from typecode",
            "key": "JSON-PLACEHOLDER",
            "env": "local",
            "duration": null,
            "durationFormat": "Invalid date"
          }
        }
      ],
      "id": "get-/todos",
      "line": 1,
      "keyword": "Feature",
      "tags": [],
      "uri": "../example/tests/integration/get-todos.feature",
      "total": 3,
      "passed": 3,
      "failed": 0,
      "skipped": 0,
      "undefined": 0,
      "result": true,
      "duration": 0.643,
      "timestamp": "2021-07-25T09:26:28+02:00",
      "type": "feature",
      "feature_name": "GET /todos",
      "metadata": {
        "id": "6e6b9f3d-2d41-4732-91a3-83cadfc5308e",
        "startTime": "2021-07-25T09:26:28+02:00",
        "name": "jsonplaceholder from typecode",
        "key": "JSON-PLACEHOLDER",
        "env": "local",
        "duration": null,
        "durationFormat": "Invalid date"
      }
    },
    {
      "description": "",
      "elements": [
        {
          "description": "",
          "id": "patch-/todos/{id};partial-update-of-the-todo",
          "keyword": "Scenario",
          "line": 3,
          "name": "Partial update of the Todo",
          "steps": [
            {
              "keyword": "Before",
              "hidden": true,
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "Given ",
              "line": 4,
              "name": "I have the api gateway",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 5,
              "name": "I have the path \"/todos/1\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 1000000
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 6,
              "name": "I have the method \"PATCH\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 7,
              "name": "the payload contains \"title\" as \"A new RestQA post\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 1000000
              }
            },
            {
              "arguments": [],
              "keyword": "When ",
              "line": 8,
              "name": "I run the API",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:11"
              },
              "result": {
                "status": "passed",
                "duration": 265000000
              }
            },
            {
              "arguments": [],
              "keyword": "Then ",
              "line": 9,
              "name": "I should receive a response with the status 200",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 10,
              "name": "the response body at \"userId\" should equal 1",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 11,
              "name": "the response body at \"id\" should equal 1",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 1000000
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 12,
              "name": "the response body at \"title\" should equal \"A new RestQA post\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 13,
              "name": "the response body at \"completed\" should equal false",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "keyword": "After",
              "hidden": true,
              "result": {
                "status": "passed",
                "duration": 1000000
              },
              "embeddings": [
                {
                  "data": "{\"apis\":[{\"request\":{\"hostname\":\"jsonplaceholder.typicode.com\",\"port\":\"\",\"protocol\":\"https:\",\"pathname\":\"/todos/1\",\"hooks\":{\"afterResponse\":[null]},\"method\":\"patch\",\"json\":{\"title\":\"A new RestQA post\"},\"headers\":{\"x-correlation-id\":\"test-e2e-patch-995-1627197987293\",\"user-agent\":\"restqa (https://github.com/restqa/restqa)\"},\"responseType\":\"json\"},\"response\":{\"body\":{\"userId\":1,\"id\":1,\"title\":\"A new RestQA post\",\"completed\":false},\"timing\":261,\"headers\":{\"date\":\"Sun, 25 Jul 2021 07:26:29 GMT\",\"content-type\":\"application/json; charset=utf-8\",\"transfer-encoding\":\"chunked\",\"connection\":\"close\",\"x-powered-by\":\"Express\",\"x-ratelimit-limit\":\"1000\",\"x-ratelimit-remaining\":\"993\",\"x-ratelimit-reset\":\"1627198028\",\"vary\":\"Origin, Accept-Encoding\",\"access-control-allow-credentials\":\"true\",\"cache-control\":\"no-cache\",\"pragma\":\"no-cache\",\"expires\":\"-1\",\"x-content-type-options\":\"nosniff\",\"etag\":\"W/\\\"52-m74AfQ9votEnlxchfJWNffjA1ao\\\"\",\"via\":\"1.1 vegur\",\"cf-cache-status\":\"DYNAMIC\",\"expect-ct\":\"max-age=604800, report-uri=\\\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\\\"\",\"report-to\":\"{\\\"endpoints\\\":[{\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v3?s=38zC1S%2BWfbLGbtc7uqpdOv%2Fx49XqMxiOTL5370zUiJZpUChU8D8UrJEQ1Pjsr4bpm%2FI90Sh1OcY85BtrwOxKfSKEHuRP46vtOkO70T2rNtMt3ZTwOrPD6XGKTlPRbhnre0p3LT%2F7LVtGnUhnYHYh\\\"}],\\\"group\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"nel\":\"{\\\"report_to\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"server\":\"cloudflare\",\"cf-ray\":\"6743a90a6a45edeb-CDG\",\"content-encoding\":\"br\",\"alt-svc\":\"h3-27=\\\":443\\\"; ma=86400, h3-28=\\\":443\\\"; ma=86400, h3-29=\\\":443\\\"; ma=86400, h3=\\\":443\\\"; ma=86400\"},\"statusCode\":200,\"request\":{\"path\":\"/todos/1\",\"method\":\"patch\",\"prefix\":\"[PATCH /todos/1]\"}}}]}",
                  "mime_type": "application/json"
                }
              ]
            }
          ],
          "tags": [],
          "type": "scenario",
          "step_passed": 12,
          "step_failed": 0,
          "step_skipped": 0,
          "step_undefined": 0,
          "result": true,
          "status": "passed",
          "duration": 0.269,
          "timestamp": "2021-07-25T09:26:28+02:00",
          "metadata": {
            "id": "6e6b9f3d-2d41-4732-91a3-83cadfc5308e",
            "startTime": "2021-07-25T09:26:28+02:00",
            "name": "jsonplaceholder from typecode",
            "key": "JSON-PLACEHOLDER",
            "env": "local",
            "duration": null,
            "durationFormat": "Invalid date"
          }
        },
        {
          "description": "",
          "id": "patch-/todos/{id};partial-update-of-a-todo-that-doesn't-exist",
          "keyword": "Scenario",
          "line": 15,
          "name": "Partial update of a todo that doesn't exist",
          "steps": [
            {
              "keyword": "Before",
              "hidden": true,
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "Given ",
              "line": 16,
              "name": "I have the api gateway",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 17,
              "name": "I have the path \"/todos/1000200\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 18,
              "name": "I have the method \"PATCH\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 19,
              "name": "the payload contains \"title\" as \"A new RestQA post\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "When ",
              "line": 20,
              "name": "I run the API",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:11"
              },
              "result": {
                "status": "passed",
                "duration": 273000000
              }
            },
            {
              "arguments": [],
              "keyword": "Then ",
              "line": 21,
              "name": "I should receive a response with the status 200",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 22,
              "name": "the response body at \"title\" should equal \"A new RestQA post\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 1000000
              }
            },
            {
              "keyword": "After",
              "hidden": true,
              "result": {
                "status": "passed",
                "duration": 0
              },
              "embeddings": [
                {
                  "data": "{\"apis\":[{\"request\":{\"hostname\":\"jsonplaceholder.typicode.com\",\"port\":\"\",\"protocol\":\"https:\",\"pathname\":\"/todos/1000200\",\"hooks\":{\"afterResponse\":[null]},\"method\":\"patch\",\"json\":{\"title\":\"A new RestQA post\"},\"headers\":{\"x-correlation-id\":\"test-e2e-patch-178-1627197987563\",\"user-agent\":\"restqa (https://github.com/restqa/restqa)\"},\"responseType\":\"json\"},\"response\":{\"body\":{\"title\":\"A new RestQA post\"},\"timing\":269,\"headers\":{\"date\":\"Sun, 25 Jul 2021 07:26:29 GMT\",\"content-type\":\"application/json; charset=utf-8\",\"content-length\":\"34\",\"connection\":\"close\",\"x-powered-by\":\"Express\",\"x-ratelimit-limit\":\"1000\",\"x-ratelimit-remaining\":\"992\",\"x-ratelimit-reset\":\"1627198028\",\"vary\":\"Origin, Accept-Encoding\",\"access-control-allow-credentials\":\"true\",\"cache-control\":\"no-cache\",\"pragma\":\"no-cache\",\"expires\":\"-1\",\"x-content-type-options\":\"nosniff\",\"etag\":\"W/\\\"22-okiZ3WIDhxsFOUdIKURRnZezvJo\\\"\",\"via\":\"1.1 vegur\",\"cf-cache-status\":\"DYNAMIC\",\"expect-ct\":\"max-age=604800, report-uri=\\\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\\\"\",\"report-to\":\"{\\\"endpoints\\\":[{\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v3?s=YX%2FE0Bq1oRAxv9ujF%2Fl1q6bIGtWSoFkNDlYiHNQVZ4%2Bv%2B2QgzjF1JsaC4aj5ai5FGLJGKpXLJ%2BdRgrPERvnwl2vFTV7xambFSX4YHkA8RowPyQsxox5Ktn3%2FnCmQyTTDicetwzSyChtqYu5P7yZV\\\"}],\\\"group\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"nel\":\"{\\\"report_to\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"server\":\"cloudflare\",\"cf-ray\":\"6743a90c1df33ab7-CDG\",\"alt-svc\":\"h3-27=\\\":443\\\"; ma=86400, h3-28=\\\":443\\\"; ma=86400, h3-29=\\\":443\\\"; ma=86400, h3=\\\":443\\\"; ma=86400\"},\"statusCode\":200,\"request\":{\"path\":\"/todos/1000200\",\"method\":\"patch\",\"prefix\":\"[PATCH /todos/1000200]\"}}}]}",
                  "mime_type": "application/json"
                }
              ]
            }
          ],
          "tags": [],
          "type": "scenario",
          "step_passed": 9,
          "step_failed": 0,
          "step_skipped": 0,
          "step_undefined": 0,
          "result": true,
          "status": "passed",
          "duration": 0.274,
          "timestamp": "2021-07-25T09:26:28+02:00",
          "metadata": {
            "id": "6e6b9f3d-2d41-4732-91a3-83cadfc5308e",
            "startTime": "2021-07-25T09:26:28+02:00",
            "name": "jsonplaceholder from typecode",
            "key": "JSON-PLACEHOLDER",
            "env": "local",
            "duration": null,
            "durationFormat": "Invalid date"
          }
        }
      ],
      "id": "patch-/todos/{id}",
      "line": 1,
      "keyword": "Feature",
      "tags": [],
      "uri": "../example/tests/integration/patch-todos.feature",
      "total": 2,
      "passed": 2,
      "failed": 0,
      "skipped": 0,
      "undefined": 0,
      "result": true,
      "duration": 0.543,
      "timestamp": "2021-07-25T09:26:28+02:00",
      "type": "feature",
      "feature_name": "PATCH /todos/{id}",
      "metadata": {
        "id": "6e6b9f3d-2d41-4732-91a3-83cadfc5308e",
        "startTime": "2021-07-25T09:26:28+02:00",
        "name": "jsonplaceholder from typecode",
        "key": "JSON-PLACEHOLDER",
        "env": "local",
        "duration": null,
        "durationFormat": "Invalid date"
      }
    },
    {
      "description": "",
      "elements": [
        {
          "description": "",
          "id": "post-/todos;create-a-new-todo",
          "keyword": "Scenario",
          "line": 3,
          "name": "Create A new TODO",
          "steps": [
            {
              "keyword": "Before",
              "hidden": true,
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "Given ",
              "line": 4,
              "name": "I have the api gateway",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 5,
              "name": "I have the path \"/todos\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 6,
              "name": "I have the method \"POST\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 7,
              "name": "the payload contains \"userId\" as \"1\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 8,
              "name": "the payload contains \"title\" as \"A new RestQA post\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 9,
              "name": "the payload contains \"completed\" as true",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "When ",
              "line": 10,
              "name": "I run the API",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:11"
              },
              "result": {
                "status": "passed",
                "duration": 269000000
              }
            },
            {
              "arguments": [],
              "keyword": "Then ",
              "line": 11,
              "name": "I should receive a response with the status 201",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 12,
              "name": "the response body at \"userId\" should equal \"1\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 1000000
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 13,
              "name": "the response body at \"id\" should equal 201",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 14,
              "name": "the response body at \"title\" should equal \"A new RestQA post\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 1000000
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 15,
              "name": "the response body at \"completed\" should equal true",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "keyword": "After",
              "hidden": true,
              "result": {
                "status": "passed",
                "duration": 0
              },
              "embeddings": [
                {
                  "data": "{\"apis\":[{\"request\":{\"hostname\":\"jsonplaceholder.typicode.com\",\"port\":\"\",\"protocol\":\"https:\",\"pathname\":\"/todos\",\"hooks\":{\"afterResponse\":[null]},\"method\":\"post\",\"json\":{\"userId\":\"1\",\"title\":\"A new RestQA post\",\"completed\":true},\"headers\":{\"x-correlation-id\":\"test-e2e-post-172-1627197987841\",\"user-agent\":\"restqa (https://github.com/restqa/restqa)\"},\"responseType\":\"json\"},\"response\":{\"body\":{\"userId\":\"1\",\"title\":\"A new RestQA post\",\"completed\":true,\"id\":201},\"timing\":264,\"headers\":{\"date\":\"Sun, 25 Jul 2021 07:26:30 GMT\",\"content-type\":\"application/json; charset=utf-8\",\"content-length\":\"85\",\"connection\":\"close\",\"x-powered-by\":\"Express\",\"x-ratelimit-limit\":\"1000\",\"x-ratelimit-remaining\":\"991\",\"x-ratelimit-reset\":\"1627198028\",\"vary\":\"Origin, X-HTTP-Method-Override, Accept-Encoding\",\"access-control-allow-credentials\":\"true\",\"cache-control\":\"no-cache\",\"pragma\":\"no-cache\",\"expires\":\"-1\",\"access-control-expose-headers\":\"Location\",\"location\":\"http://jsonplaceholder.typicode.com/todos/201\",\"x-content-type-options\":\"nosniff\",\"etag\":\"W/\\\"55-cl/Ip5SF1P3RlOeHcWbQ8MHu3FE\\\"\",\"via\":\"1.1 vegur\",\"cf-cache-status\":\"DYNAMIC\",\"expect-ct\":\"max-age=604800, report-uri=\\\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\\\"\",\"report-to\":\"{\\\"endpoints\\\":[{\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v3?s=DkcBq1zyA0Aq9qVigs2z0W27ZCuu7qmvq5a2wVddhV9E2CYYtkbgjeJ29sw7KvbnFnFIXIjlEZH%2BVZ4OmVa4N2lPxh3v1XuGn4zCcjTKiQ9OC%2Bzfy1tTi8HHBcvWg%2BNqP%2BERN7C3v16Y96hYCnHA\\\"}],\\\"group\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"nel\":\"{\\\"report_to\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"server\":\"cloudflare\",\"cf-ray\":\"6743a90dda4aee0f-CDG\",\"alt-svc\":\"h3-27=\\\":443\\\"; ma=86400, h3-28=\\\":443\\\"; ma=86400, h3-29=\\\":443\\\"; ma=86400, h3=\\\":443\\\"; ma=86400\"},\"statusCode\":201,\"request\":{\"path\":\"/todos\",\"method\":\"post\",\"prefix\":\"[POST /todos]\"}}}]}",
                  "mime_type": "application/json"
                }
              ]
            }
          ],
          "tags": [],
          "type": "scenario",
          "step_passed": 14,
          "step_failed": 0,
          "step_skipped": 0,
          "step_undefined": 0,
          "result": true,
          "status": "passed",
          "duration": 0.271,
          "timestamp": "2021-07-25T09:26:28+02:00",
          "metadata": {
            "id": "6e6b9f3d-2d41-4732-91a3-83cadfc5308e",
            "startTime": "2021-07-25T09:26:28+02:00",
            "name": "jsonplaceholder from typecode",
            "key": "JSON-PLACEHOLDER",
            "env": "local",
            "duration": null,
            "durationFormat": "Invalid date"
          }
        },
        {
          "description": "",
          "id": "post-/todos;create-a-new-todo-but-the-userid-doesn't-exists",
          "keyword": "Scenario",
          "line": 17,
          "name": "Create A new TODO but the userId doesn't exists",
          "steps": [
            {
              "keyword": "Before",
              "hidden": true,
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "Given ",
              "line": 18,
              "name": "I have the api gateway",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 19,
              "name": "I have the path \"/todos\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 20,
              "name": "I have the method \"POST\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 21,
              "name": "the payload contains \"userId\" as \"10101010\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 22,
              "name": "the payload contains \"title\" as \"A new RestQA post\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 23,
              "name": "the payload contains \"completed\" as true",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "When ",
              "line": 24,
              "name": "I run the API",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:11"
              },
              "result": {
                "status": "passed",
                "duration": 268000000
              }
            },
            {
              "arguments": [],
              "keyword": "Then ",
              "line": 25,
              "name": "I should receive a response with the status 201",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 26,
              "name": "the response body at \"userId\" should equal \"10101010\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 27,
              "name": "the response body at \"id\" should equal 201",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 28,
              "name": "the response body at \"title\" should equal \"A new RestQA post\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 29,
              "name": "the response body at \"completed\" should equal true",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "keyword": "After",
              "hidden": true,
              "result": {
                "status": "passed",
                "duration": 0
              },
              "embeddings": [
                {
                  "data": "{\"apis\":[{\"request\":{\"hostname\":\"jsonplaceholder.typicode.com\",\"port\":\"\",\"protocol\":\"https:\",\"pathname\":\"/todos\",\"hooks\":{\"afterResponse\":[null]},\"method\":\"post\",\"json\":{\"userId\":\"10101010\",\"title\":\"A new RestQA post\",\"completed\":true},\"headers\":{\"x-correlation-id\":\"test-e2e-post-537-1627197988116\",\"user-agent\":\"restqa (https://github.com/restqa/restqa)\"},\"responseType\":\"json\"},\"response\":{\"body\":{\"userId\":\"10101010\",\"title\":\"A new RestQA post\",\"completed\":true,\"id\":201},\"timing\":265,\"headers\":{\"date\":\"Sun, 25 Jul 2021 07:26:30 GMT\",\"content-type\":\"application/json; charset=utf-8\",\"content-length\":\"92\",\"connection\":\"close\",\"x-powered-by\":\"Express\",\"x-ratelimit-limit\":\"1000\",\"x-ratelimit-remaining\":\"990\",\"x-ratelimit-reset\":\"1627198028\",\"vary\":\"Origin, X-HTTP-Method-Override, Accept-Encoding\",\"access-control-allow-credentials\":\"true\",\"cache-control\":\"no-cache\",\"pragma\":\"no-cache\",\"expires\":\"-1\",\"access-control-expose-headers\":\"Location\",\"location\":\"http://jsonplaceholder.typicode.com/todos/201\",\"x-content-type-options\":\"nosniff\",\"etag\":\"W/\\\"5c-M6IBmi9lekUmoqpCfVhYtwkWl58\\\"\",\"via\":\"1.1 vegur\",\"cf-cache-status\":\"DYNAMIC\",\"expect-ct\":\"max-age=604800, report-uri=\\\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\\\"\",\"report-to\":\"{\\\"endpoints\\\":[{\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v3?s=aJxjNxEF8DFuZDpZqctck5V1N6HqNFHjd1dtKqZCj6IjOZ%2FZLC%2FzmH9VPVQC3GXsOpAgKInFNhc2Y48BDv4%2FLm9cQsCJsIlSr0K7ontbq8H9owiLTsB84P2gZMiRoQWuBOgoycM0qbAPn4QJ5fSm\\\"}],\\\"group\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"nel\":\"{\\\"report_to\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"server\":\"cloudflare\",\"cf-ray\":\"6743a90f8bfb089b-CDG\",\"alt-svc\":\"h3-27=\\\":443\\\"; ma=86400, h3-28=\\\":443\\\"; ma=86400, h3-29=\\\":443\\\"; ma=86400, h3=\\\":443\\\"; ma=86400\"},\"statusCode\":201,\"request\":{\"path\":\"/todos\",\"method\":\"post\",\"prefix\":\"[POST /todos]\"}}}]}",
                  "mime_type": "application/json"
                }
              ]
            }
          ],
          "tags": [],
          "type": "scenario",
          "step_passed": 14,
          "step_failed": 0,
          "step_skipped": 0,
          "step_undefined": 0,
          "result": true,
          "status": "passed",
          "duration": 0.268,
          "timestamp": "2021-07-25T09:26:28+02:00",
          "metadata": {
            "id": "6e6b9f3d-2d41-4732-91a3-83cadfc5308e",
            "startTime": "2021-07-25T09:26:28+02:00",
            "name": "jsonplaceholder from typecode",
            "key": "JSON-PLACEHOLDER",
            "env": "local",
            "duration": null,
            "durationFormat": "Invalid date"
          }
        }
      ],
      "id": "post-/todos",
      "line": 1,
      "keyword": "Feature",
      "tags": [],
      "uri": "../example/tests/integration/post-todos.feature",
      "total": 2,
      "passed": 2,
      "failed": 0,
      "skipped": 0,
      "undefined": 0,
      "result": true,
      "duration": 0.539,
      "timestamp": "2021-07-25T09:26:28+02:00",
      "type": "feature",
      "feature_name": "POST /todos",
      "metadata": {
        "id": "6e6b9f3d-2d41-4732-91a3-83cadfc5308e",
        "startTime": "2021-07-25T09:26:28+02:00",
        "name": "jsonplaceholder from typecode",
        "key": "JSON-PLACEHOLDER",
        "env": "local",
        "duration": null,
        "durationFormat": "Invalid date"
      }
    },
    {
      "description": "",
      "elements": [
        {
          "description": "",
          "id": "put-/todos/{id};update-of-a-todo",
          "keyword": "Scenario",
          "line": 3,
          "name": "Update of a Todo",
          "steps": [
            {
              "keyword": "Before",
              "hidden": true,
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "Given ",
              "line": 4,
              "name": "I have the api gateway",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 5,
              "name": "I have the path \"/todos/1\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 1000000
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 6,
              "name": "I have the method \"PUT\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 7,
              "name": "the payload contains \"userId\" as \"1\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 8,
              "name": "the payload contains \"title\" as \"A new RestQA post\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 1000000
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 9,
              "name": "the payload contains \"completed\" as true",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "When ",
              "line": 10,
              "name": "I run the API",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:11"
              },
              "result": {
                "status": "passed",
                "duration": 265000000
              }
            },
            {
              "arguments": [],
              "keyword": "Then ",
              "line": 11,
              "name": "I should receive a response with the status 200",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 12,
              "name": "the response body at \"userId\" should equal \"1\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 13,
              "name": "the response body at \"id\" should equal 1",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 1000000
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 14,
              "name": "the response body at \"title\" should equal \"A new RestQA post\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 15,
              "name": "the response body at \"completed\" should equal true",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "keyword": "After",
              "hidden": true,
              "result": {
                "status": "passed",
                "duration": 1000000
              },
              "embeddings": [
                {
                  "data": "{\"apis\":[{\"request\":{\"hostname\":\"jsonplaceholder.typicode.com\",\"port\":\"\",\"protocol\":\"https:\",\"pathname\":\"/todos/1\",\"hooks\":{\"afterResponse\":[null]},\"method\":\"put\",\"json\":{\"userId\":\"1\",\"title\":\"A new RestQA post\",\"completed\":true},\"headers\":{\"x-correlation-id\":\"test-e2e-put-608-1627197988390\",\"user-agent\":\"restqa (https://github.com/restqa/restqa)\"},\"responseType\":\"json\"},\"response\":{\"body\":{\"userId\":\"1\",\"title\":\"A new RestQA post\",\"completed\":true,\"id\":1},\"timing\":260,\"headers\":{\"date\":\"Sun, 25 Jul 2021 07:26:30 GMT\",\"content-type\":\"application/json; charset=utf-8\",\"transfer-encoding\":\"chunked\",\"connection\":\"close\",\"x-powered-by\":\"Express\",\"x-ratelimit-limit\":\"1000\",\"x-ratelimit-remaining\":\"989\",\"x-ratelimit-reset\":\"1627198028\",\"vary\":\"Origin, Accept-Encoding\",\"access-control-allow-credentials\":\"true\",\"cache-control\":\"no-cache\",\"pragma\":\"no-cache\",\"expires\":\"-1\",\"x-content-type-options\":\"nosniff\",\"etag\":\"W/\\\"53-2OD37Tq8mkBjzsUGbEAV6hkcRow\\\"\",\"via\":\"1.1 vegur\",\"cf-cache-status\":\"DYNAMIC\",\"expect-ct\":\"max-age=604800, report-uri=\\\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\\\"\",\"report-to\":\"{\\\"endpoints\\\":[{\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v3?s=tTgNZmXcPRzTTekS51fP5JXlCZkB63kFrNKdmEvuN8BU0BRZxoO49coSv1XbAp1o7BfBuJYsKPif3BRwdCN9agZJ74y8AR%2FIcEr13ag7ei%2BGd7CxctybqeiT1upfu2WJZkYJ6nzKGWt4Xk3e1fT%2B\\\"}],\\\"group\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"nel\":\"{\\\"report_to\\\":\\\"cf-nel\\\",\\\"max_age\\\":604800}\",\"server\":\"cloudflare\",\"cf-ray\":\"6743a9113afe39b1-CDG\",\"content-encoding\":\"br\",\"alt-svc\":\"h3-27=\\\":443\\\"; ma=86400, h3-28=\\\":443\\\"; ma=86400, h3-29=\\\":443\\\"; ma=86400, h3=\\\":443\\\"; ma=86400\"},\"statusCode\":200,\"request\":{\"path\":\"/todos/1\",\"method\":\"put\",\"prefix\":\"[PUT /todos/1]\"}}}]}",
                  "mime_type": "application/json"
                }
              ]
            }
          ],
          "tags": [],
          "type": "scenario",
          "step_passed": 14,
          "step_failed": 0,
          "step_skipped": 0,
          "step_undefined": 0,
          "result": true,
          "status": "passed",
          "duration": 0.269,
          "timestamp": "2021-07-25T09:26:28+02:00",
          "metadata": {
            "id": "6e6b9f3d-2d41-4732-91a3-83cadfc5308e",
            "startTime": "2021-07-25T09:26:28+02:00",
            "name": "jsonplaceholder from typecode",
            "key": "JSON-PLACEHOLDER",
            "env": "local",
            "duration": null,
            "durationFormat": "Invalid date"
          }
        },
        {
          "description": "",
          "id": "put-/todos/{id};update-of-a-todo-when-the-todo-doesn't-exist",
          "keyword": "Scenario",
          "line": 18,
          "name": "Update of a Todo when the todo doesn't exist",
          "steps": [
            {
              "keyword": "Before",
              "hidden": true,
              "result": {
                "status": "passed",
                "duration": 0
              }
            },
            {
              "keyword": "Before",
              "hidden": true,
              "result": {
                "status": "skipped",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "Given ",
              "line": 19,
              "name": "I have the api gateway",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "skipped",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 20,
              "name": "I have the path \"/todos/1919191\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "skipped",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 21,
              "name": "I have the method \"PUT\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "skipped",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 22,
              "name": "the payload contains \"userId\" as \"1\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "skipped",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 23,
              "name": "the payload contains \"title\" as \"A new RestQA post\"",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "skipped",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "And ",
              "line": 24,
              "name": "the payload contains \"completed\" as true",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:6"
              },
              "result": {
                "status": "skipped",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "When ",
              "line": 25,
              "name": "I run the API",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:11"
              },
              "result": {
                "status": "skipped",
                "duration": 0
              }
            },
            {
              "arguments": [],
              "keyword": "Then ",
              "line": 26,
              "name": "I should receive a response with the status 500",
              "match": {
                "location": "../node_modules/@restqa/restqapi/src/restqapi/steps/index.js:16"
              },
              "result": {
                "status": "skipped",
                "duration": 0
              }
            },
            {
              "keyword": "After",
              "hidden": true,
              "result": {
                "status": "passed",
                "duration": 0
              },
              "embeddings": [
                {
                  "data": "{\"apis\":[]}",
                  "mime_type": "application/json"
                }
              ]
            }
          ],
          "tags": [
            {
              "name": "@skip",
              "line": 17
            }
          ],
          "type": "scenario",
          "step_passed": 2,
          "step_failed": 0,
          "step_skipped": 9,
          "step_undefined": 0,
          "result": false,
          "status": "skipped",
          "duration": 0,
          "timestamp": "2021-07-25T09:26:28+02:00",
          "metadata": {
            "id": "6e6b9f3d-2d41-4732-91a3-83cadfc5308e",
            "startTime": "2021-07-25T09:26:28+02:00",
            "name": "jsonplaceholder from typecode",
            "key": "JSON-PLACEHOLDER",
            "env": "local",
            "duration": null,
            "durationFormat": "Invalid date"
          }
        }
      ],
      "id": "put-/todos/{id}",
      "line": 1,
      "keyword": "Feature",
      "tags": [],
      "uri": "../example/tests/integration/put-todos.feature",
      "total": 2,
      "passed": 1,
      "failed": 0,
      "skipped": 1,
      "undefined": 0,
      "result": false,
      "duration": 0.269,
      "timestamp": "2021-07-25T09:26:28+02:00",
      "type": "feature",
      "feature_name": "PUT /todos/{id}",
      "metadata": {
        "id": "6e6b9f3d-2d41-4732-91a3-83cadfc5308e",
        "startTime": "2021-07-25T09:26:28+02:00",
        "name": "jsonplaceholder from typecode",
        "key": "JSON-PLACEHOLDER",
        "env": "local",
        "duration": null,
        "durationFormat": "Invalid date"
      }
    }
  ]
}