UNPKG

@apica-io/url-xi

Version:

URL Check for integrations and API monitoring

145 lines (141 loc) 3.58 kB
{ "$schema": "https://files-apicasystem-com.s3-eu-west-1.amazonaws.com/schemas/url-xi-schema-v1-0.json", "baseURL": "https://jsonplaceholder.typicode.com", "description": "Get user resources from FAKE REST API JSON Placeholder and get data from ATS", "name": "Get User Resources from ATS", "scripts": [ { "name": "Before Test", "scope": "before", "script": "logger.info('Before test script executed')" }, { "name": "After Test", "scope": "after", "script": "logger.info('After test script executed')" }, { "name": "Before Each Test", "scope": "beforeEach", "script": "logger.info('Before each test script executed')" }, { "name": "After Each Test", "scope": "afterEach", "script": "logger.info('After each test script executed')" } ], "variables": [ ], "includes": [ { "name": "Common Variables", "scope": "project", "type": "vars", "src": "common_vars.json" }, { "name": "posts", "scope": "url", "type": "ats", "src": "default", "options": { "table":"posts", "columns":["id","title","body"], "emptyOK":false } } ], "steps": [ { "name": "Get My User", "description": "Get my specific user from the user repository", "requests": [ { "config": { "url": "/users" }, "scripts": [ { "name": "Get User Id", "options": { "builtin": [ "os" ] }, "scope": "after", "script": "getUserId.js" } ] } ] }, { "name": "Update posts", "scripts": [ { "name": "Before Update Posts", "scope": "before", "script": "logger.info('Before update posts script executed')" } ], "iterator": { "value": "{{$data.posts}}" }, "requests": [ { "name": "Get_Posts_{{$lapIdx1}}", "condition": { "value": "{{$data.posts.id}}", "expression": "value.length > 0" } , "config": { "url": "/posts/{{$data.posts.id}}", "method": "get" }, "expectedStatus": [200,404], "extractors": [ { "type": "jsonpath", "expression": "$.id", "variable": "id" } ] }, { "name": "Put_Posts_{{$lapIdx1}}", "condition": { "value": "{{$status}}", "expression": "Number(value) === 200" }, "config": { "url": "/posts/{{id}}", "method": "put", "data": { "userId": "{{userId}}", "title": "{{$data.posts.title}}", "body": "{{$data.posts.body}}" } } }, { "name": "Post_Posts_{{$lapIdx1}}", "condition": { "value": "{{$status}}", "expression": "Number(value) === 404" }, "config": { "url": "/posts", "method": "post", "data": { "id": "{{$data.posts.id}}", "userId": "{{userId}}", "title": "{{$data.posts.title}}", "body": "{{$data.posts.body}}" } } } ] } ] }