@apica-io/url-xi
Version:
URL Check for integrations and API monitoring
145 lines (141 loc) • 3.58 kB
JSON
{
"$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}}"
}
}
}
]
}
]
}