blob: 668c541d91170420647dffa2eaa2bacc92ee332d [file] [log] [blame]
{
"info": {
"_postman_id": "23a07cf3-5e20-48d5-8af3-8aa65c6a681f",
"name": "Data Operational Performance Test",
"description": "A collection to test performance of registering and getting cmHandles (20000 is the default)",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
"_exporter_id": "17907116"
},
"item": [
{
"name": "Register CM Handles",
"event": [
{
"listen": "prerequest",
"script": {
"exec": [
"const uuid = require(\"uuid\");",
"",
"const TOTAL_CMHANDLES = Number(pm.collectionVariables.get(\"TOTAL_CMHANDLES\"));",
"",
"var cmHandleIds = [];",
"var createdCmHandles = []",
"",
"for (i = 0; i < TOTAL_CMHANDLES; i++) {",
" let cmHandleId = uuid.v4().replace(/-/g, \"\");",
" cmHandleIds.push(cmHandleId);",
" createdCmHandles.push({",
" \"cmHandle\": cmHandleId,",
" \"cmHandleProperties\": { \"neType\": \"RadioNode\" },",
" \"publicCmHandleProperties\": {",
" \"Book\": \"Harry Potter\",",
" \"Author\": \"JK Rowling\"",
" }",
" });",
"}",
"",
"pm.collectionVariables.set(\"createdCmHandleIds\", JSON.stringify(cmHandleIds));",
"pm.collectionVariables.set(\"createdCmHandles\", JSON.stringify(createdCmHandles));",
"pm.collectionVariables.set(\"targetIds\", cmHandleIds);"
],
"type": "text/javascript"
}
},
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"HTTP Status is 200\", function () {\r",
" pm.response.to.be.ok;\r",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"dmiPlugin\": \"http://{{DMI_HOST}}:{{DMI_PORT}}\",\r\n \"createdCmHandles\": {{createdCmHandles}}\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "http://{{CPS_HOST}}:{{CPS_PORT}}/ncmpInventory/v1/ch",
"protocol": "http",
"host": [
"{{CPS_HOST}}"
],
"port": "{{CPS_PORT}}",
"path": [
"ncmpInventory",
"v1",
"ch"
]
}
},
"response": []
},
{
"name": "Get All Cm Handle IDs",
"event": [
{
"listen": "test",
"script": {
"exec": [
"// Convert the response body to a JSON object\r",
"var responseBodyAsJsonArray = JSON.parse(responseBody);\r",
"\r",
"var cmHandleInReadyState = [];\r",
"var cmHandleInNonReadyState = [];\r",
"\r",
"function countCmHandleStateInReady() {\r",
"for(var index = 0; index < responseBodyAsJsonArray.length; index++) {\r",
" if(typeof responseBodyAsJsonArray[index].state.cmHandleState !== 'undefined'\r",
" && responseBodyAsJsonArray[index].state.cmHandleState == 'READY') {\r",
" cmHandleInReadyState.push(responseBodyAsJsonArray[index].state.cmHandleState);\r",
" }else{\r",
" cmHandleInNonReadyState.push(responseBodyAsJsonArray[index].state.cmHandleState);\r",
" }\r",
"}\r",
"}\r",
"\r",
"countCmHandleStateInReady();\r",
"\r",
"pm.collectionVariables.set(\"numberOfCmHandlesInReadyState\", cmHandleInReadyState.length);\r",
"pm.collectionVariables.set(\"numberOfCmHandlesInNonReadyState\", cmHandleInNonReadyState.length);\r",
"\r",
"pm.test(\"HTTP Status is 200 with valid JSON response\", function () {\r",
" pm.response.to.be.ok;\r",
" pm.response.to.be.withBody;\r",
" pm.response.to.be.json;\r",
"});\r",
"\r",
"pm.test(\"20000 cm handles are in Ready state\", function () {\r",
" pm.expect(cmHandleInReadyState.length).to.eql(20000);\r",
"});\r",
""
],
"type": "text/javascript"
}
}
],
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"conditions\": [\r\n {\r\n \"name\": \"hasAllModules\"\r\n }\r\n ]\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "http://{{CPS_HOST}}:{{CPS_PORT}}/ncmp/v1/ch/searches",
"protocol": "http",
"host": [
"{{CPS_HOST}}"
],
"port": "{{CPS_PORT}}",
"path": [
"ncmp",
"v1",
"ch",
"searches"
],
"query": [
{
"key": "resourceIdentifier",
"value": "stores:bookstore",
"disabled": true
},
{
"key": "options",
"value": "(fields=schemas/schema/location,depth=5)",
"disabled": true
}
]
}
},
"response": []
},
{
"name": "ReadResourceDataForCmHandles",
"event": [
{
"listen": "prerequest",
"script": {
"exec": [
"const cmHandleIds = pm.collectionVariables.get(\"targetIds\"); \r",
"\r",
"var dataOperationRequest = []\r",
"var targetIds = [];\r",
"\r",
"for (index = 0; index < cmHandleIds.length ; index++) {\r",
"\r",
" targetIds.push(cmHandleIds[index]);\r",
" var dataOperationTargetIds = [];\r",
" if (targetIds.length == 5){\r",
" dataOperationTargetIds = targetIds;\r",
" dataOperationRequest.push({\r",
" \"operation\": \"read\",\r",
" \"operationId\": \"operational-\"+index,\r",
" \"datastore\": \"ncmp-datastore:passthrough-running\",\r",
" \"resourceIdentifier\": \"parent/child\",\r",
" \"targetIds\": dataOperationTargetIds\r",
" });\r",
"\r",
" pm.collectionVariables.unset(\"dataOperationTargetIds\");\r",
" // pm.globals.unset(\"variable_key\");\r",
" // pm.environment.unset(\"variable_key\");\r",
" // pm.collectionVariables.set(\"variable_key\", \"variable_value\");\r",
" // pm.sendRequest(\"https://postman-echo.com/get\", function (err, response) {\r",
" // console.log(response.json());\r",
" // });\r",
" // for (index = 0; index < dataOperationTargetIds.length ; index++) {\r",
" // targetIds.pop(dataOperationTargetIds[index]);\r",
" // }\r",
" }\r",
"}\r",
"\r",
" pm.collectionVariables.set(\"dataOperationRequest\", JSON.stringify(dataOperationRequest));"
],
"type": "text/javascript"
}
},
{
"listen": "test",
"script": {
"exec": [
"pm.test(\"HTTP Status is 200 with valid JSON response\", function () {\r",
" pm.response.to.be.ok;\r",
" pm.response.to.be.withBody;\r",
" pm.response.to.be.json;\r",
"});"
],
"type": "text/javascript"
}
}
],
"request": {
"method": "POST",
"header": [
{
"key": "topic",
"value": "client-topic",
"type": "default",
"disabled": true
}
],
"body": {
"mode": "raw",
"raw": "{\r\n \"operations\":\r\n {{dataOperationRequest}}\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "http://{{CPS_HOST}}:{{CPS_PORT}}/ncmp/v1/data?topic=my-client-topic",
"protocol": "http",
"host": [
"{{CPS_HOST}}"
],
"port": "{{CPS_PORT}}",
"path": [
"ncmp",
"v1",
"data"
],
"query": [
{
"key": "topic",
"value": "my-client-topic"
}
]
}
},
"response": []
}
],
"auth": {
"type": "basic",
"basic": [
{
"key": "password",
"value": "cpsr0cks!",
"type": "string"
},
{
"key": "username",
"value": "cpsuser",
"type": "string"
}
]
},
"event": [
{
"listen": "prerequest",
"script": {
"type": "text/javascript",
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"type": "text/javascript",
"exec": [
""
]
}
}
],
"variable": [
{
"key": "createdCmHandleIds",
"value": ""
},
{
"key": "createdCmHandles",
"value": ""
},
{
"key": "TOTAL_CMHANDLES",
"value": "20000",
"type": "default"
},
{
"key": "numberOfCmHandlesInReadyState",
"value": "",
"type": "default"
},
{
"key": "numberOfCmHandlesInNonReadyState",
"value": "",
"type": "default"
},
{
"key": "dataOperationRequest",
"value": "",
"type": "default"
},
{
"key": "targetIds",
"value": "",
"type": "default"
}
]
}