From 53ef77f254223e19e8185ffd9de85f101ad187a6 Mon Sep 17 00:00:00 2001 From: Rene Robert Date: Thu, 24 Jan 2019 18:24:55 +0100 Subject: add Postman Collection Issue-ID: INT-825 Change-Id: I95b99798462ab5852d8da90bb337d818e80c0ef8 Signed-off-by: Rene Robert --- .../01_Onboard_Vendor.postman_collection.json | 421 ++++++++ .../02_Onboard_VSP_part1.postman_collection.json | 375 +++++++ .../03_Onboard_VSP_part2.postman_collection.json | 77 ++ .../04_Onboard_VSP_part3.postman_collection.json | 345 +++++++ test/postman/05_Onboard_VF.postman_collection.json | 594 +++++++++++ .../06_Onboard_Service.postman_collection.json | 891 ++++++++++++++++ ...siness_project_platform.postman_collection.json | 144 +++ ...vice_Subscription_Cloud.postman_collection.json | 1065 ++++++++++++++++++++ .../10_Service Order.postman_collection.json | 494 +++++++++ test/postman/globals.postman_globals.json | 233 +++++ .../integration_test_urls.postman_environment.json | 52 + 11 files changed, 4691 insertions(+) create mode 100644 test/postman/01_Onboard_Vendor.postman_collection.json create mode 100644 test/postman/02_Onboard_VSP_part1.postman_collection.json create mode 100644 test/postman/03_Onboard_VSP_part2.postman_collection.json create mode 100644 test/postman/04_Onboard_VSP_part3.postman_collection.json create mode 100644 test/postman/05_Onboard_VF.postman_collection.json create mode 100644 test/postman/06_Onboard_Service.postman_collection.json create mode 100644 test/postman/07_Declare_owningEntity_LineOfBusiness_project_platform.postman_collection.json create mode 100644 test/postman/08_Declare_Customer_Service_Subscription_Cloud.postman_collection.json create mode 100644 test/postman/10_Service Order.postman_collection.json create mode 100644 test/postman/globals.postman_globals.json create mode 100644 test/postman/integration_test_urls.postman_environment.json diff --git a/test/postman/01_Onboard_Vendor.postman_collection.json b/test/postman/01_Onboard_Vendor.postman_collection.json new file mode 100644 index 000000000..dfa0aad5b --- /dev/null +++ b/test/postman/01_Onboard_Vendor.postman_collection.json @@ -0,0 +1,421 @@ +{ + "variables": [], + "info": { + "name": "01_Onboard_Vendor", + "_postman_id": "f646198b-2f39-fb4f-c550-7c703688ac85", + "description": "onboard new vendor", + "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json" + }, + "item": [ + { + "name": "Get Vendor before create", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "var vendor_found = false;", + "for (var i = 0; i < jsonData.results.length; i++) { ", + " if (jsonData.results[i][\"name\"] === postman.getGlobalVariable(\"vendor_name\")) {", + " vendor_found = true;", + " postman.setGlobalVariable(\"auto_vendor_id\", \"\"+jsonData.results[i][\"id\"]+\"\");", + " }", + "}", + "if (vendor_found === false) {", + " tests[postman.getGlobalVariable(\"vendor_name\")+\" does not exists\"] = true;", + "}", + "", + "else {", + " tests[postman.getGlobalVariable(\"vendor_name\")+\" already exists, we stop the run\"] = true;", + " postman.setNextRequest(null);", + "}", + "" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-license-models", + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "robot-ete", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\"iconRef\": \"icon\", \"vendorName\": \"test-api-license-model\", \"description\": \"vendor license model\"}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Create Vendor", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "postman.setGlobalVariable(\"auto_vendor_id\", \"\"+jsonData[\"itemId\"]+\"\");", + "postman.setGlobalVariable(\"auto_vendor_version_id\", \"\"+jsonData[\"version\"][\"id\"]+\"\");", + "", + "var jsonData = JSON.parse(responseBody);", + "tests[\"Vendor version is in Draft status\"] = jsonData[\"version\"][\"status\"] === \"Draft\";" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-license-models", + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "robot-ete", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"iconRef\": \"icon\",\r\n \"vendorName\": \"{{vendor_name}}\",\r\n \"description\": \"Vendor\"\r\n}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Get Vendor after create", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "var vendor_found = false;", + "for (var i = 0; i < jsonData.results.length; i++) { ", + " if (jsonData.results[i][\"name\"] === postman.getGlobalVariable(\"vendor_name\")) {", + " vendor_found = true;", + " postman.setGlobalVariable(\"auto_vendor_id\", \"\"+jsonData.results[i][\"id\"]+\"\");", + " }", + "}", + "tests[postman.getGlobalVariable(\"vendor_name\")+\" found\"] = vendor_found === true;", + "", + "", + "" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-license-models", + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "robot-ete", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\"iconRef\": \"icon\", \"vendorName\": \"test-api-license-model\", \"description\": \"vendor license model\"}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Get Vendor additional info after create", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "", + "", + "" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/items/{{auto_vendor_id}}/versions", + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "robot-ete", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\"iconRef\": \"icon\", \"vendorName\": \"test-api-license-model\", \"description\": \"vendor license model\"}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Submit Vendor", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-license-models/{{auto_vendor_id}}/versions/{{auto_vendor_version_id}}/actions", + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "robot-ete", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\"action\":\"Submit\"}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Get Vendor after submit", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "", + "", + "" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-license-models", + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "robot-ete", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\"iconRef\": \"icon\", \"vendorName\": \"test-api-license-model\", \"description\": \"vendor license model\"}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Get Vendor additional info after Submit", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "", + "tests[\"Vendor version is in Draft status\"] = jsonData[\"status\"] === \"Certified\";", + "" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/items/{{auto_vendor_id}}/versions/{{auto_vendor_version_id}}", + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "robot-ete", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\"iconRef\": \"icon\", \"vendorName\": \"test-api-license-model\", \"description\": \"vendor license model\"}" + }, + "description": "" + }, + "response": [] + } + ] +} \ No newline at end of file diff --git a/test/postman/02_Onboard_VSP_part1.postman_collection.json b/test/postman/02_Onboard_VSP_part1.postman_collection.json new file mode 100644 index 000000000..207d35a6c --- /dev/null +++ b/test/postman/02_Onboard_VSP_part1.postman_collection.json @@ -0,0 +1,375 @@ +{ + "variables": [], + "info": { + "name": "02_Onboard_VSP_part1", + "_postman_id": "8c958074-e35a-6ae9-4ce4-2133b11d72b0", + "description": "", + "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json" + }, + "item": [ + { + "name": "check VSP exists", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "var vsp_found = false;", + "for (var i = 0; i < jsonData['results'].length; i++) { ", + " if (jsonData['results'][i].name === postman.getGlobalVariable(\"vsp_name\")) {", + " vsp_found = true;", + " }", + "}", + "", + "if (vsp_found === false) {", + " tests[postman.getGlobalVariable(\"vsp_name\")+\" does not exists, we continue\"] = true;", + "}", + "", + "else {", + " tests[postman.getGlobalVariable(\"vsp_name\")+\" already exists, we stop the run\"] = true;", + " postman.setNextRequest(null);", + "}" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-software-products", + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "robot-ete", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\"category\": \"resourceNewCategory.generic\", \"vendorId\": \"CE00625F0B334F7FBD7294293956649E\", \"subCategory\": \"resourceNewCategory.generic.abstract\", \"description\": \"vendor software product\", \"licensingVersion\": \"1.0\", \"licensingData\": {\"featureGroups\": [\"74F4A12BA9B5461CAF69C17AB4301889\"], \"licenseAgreement\": \"D738E60042A14FE0914B375F3FAE1BC8\"}, \"icon\": \"icon\", \"vendorName\": \"test-api-license-model\", \"name\": \"test-vsp\"}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Get Vendor infos", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "var vendor_found = false;", + "for (var i = 0; i < jsonData.results.length; i++) { ", + " if (jsonData.results[i][\"name\"] === postman.getGlobalVariable(\"vendor_name\")) {", + " vendor_found = true;", + " postman.setGlobalVariable(\"auto_vendor_id\", \"\"+jsonData.results[i][\"id\"]+\"\");", + " }", + "}", + "if (vendor_found === false) {", + " tests[postman.getGlobalVariable(\"vendor_name\")+\" does not exists : we stop the run\"] = false;", + " postman.setNextRequest(null);", + "}", + "", + "else {", + " tests[postman.getGlobalVariable(\"vendor_name\")+\" exists\"] = true;", + "}", + "", + "", + "" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-license-models", + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "robot-ete", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\"iconRef\": \"icon\", \"vendorName\": \"test-api-license-model\", \"description\": \"vendor license model\"}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Create VSP", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "postman.setGlobalVariable(\"auto_vsp_id\", \"\"+jsonData[\"itemId\"]+\"\");", + "postman.setGlobalVariable(\"auto_vsp_version_id\", \"\"+jsonData[\"version\"][\"id\"]+\"\");", + "postman.setGlobalVariable(\"auto_vsp_version_name\", \"\"+jsonData[\"version\"][\"name\"]+\"\");", + "", + "tests[\"Vendor version is in Draft status\"] = jsonData[\"version\"][\"status\"] === \"Draft\";" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-software-products", + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "robot-ete", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"{{vsp_name}}\",\r\n \"description\": \"vendor software product\",\r\n \"icon\": \"icon\",\r\n \"category\": \"resourceNewCategory.generic\",\r\n \"subCategory\": \"resourceNewCategory.generic.abstract\",\r\n \"vendorName\": \"{{vendor_name}}\",\r\n \"vendorId\": \"{{auto_vendor_id}}\",\r\n \"licensingData\": {},\r\n \"onboardingMethod\": \"NetworkPackage\"\r\n}" + }, + "description": "" + }, + "response": [ + { + "id": "ca88aaf4-ec1b-4d75-8834-85c628a10c50", + "name": "Create Vendor Software Product", + "originalRequest": { + "url": "", + "header": [], + "body": { + "mode": "raw", + "raw": "" + }, + "description": "" + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "_postman_previewtype": "text", + "header": [ + { + "name": "access-control-allow-credentials", + "key": "access-control-allow-credentials", + "value": "true", + "description": "Indicates whether or not the response to the request can be exposed when the credentials flag is true. When used as part of a response to a preflight request, this indicates whether or not the actual request can be made using credentials." + }, + { + "name": "access-control-allow-origin", + "key": "access-control-allow-origin", + "value": "chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop", + "description": "Specifies a URI that may access the resource. For requests without credentials, the server may specify '*' as a wildcard, thereby allowing any origin to access the resource." + }, + { + "name": "access-control-expose-headers", + "key": "access-control-expose-headers", + "value": "", + "description": "Lets a server whitelist headers that browsers are allowed to access." + }, + { + "name": "content-type", + "key": "content-type", + "value": "application/json", + "description": "The mime type of this content" + }, + { + "name": "date", + "key": "date", + "value": "Wed, 06 Jun 2018 15:02:46 GMT", + "description": "The date and time that the message was sent" + }, + { + "name": "server", + "key": "server", + "value": "Jetty(9.3.21.v20170918)", + "description": "A name for the server" + }, + { + "name": "transfer-encoding", + "key": "transfer-encoding", + "value": "chunked", + "description": "The form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress, deflate, gzip, identity." + } + ], + "cookie": [], + "responseTime": 82, + "body": "{\"vspId\":\"b3267b0aefbd4e2ea52be0e414139b1c\"}" + } + ] + }, + { + "name": "Get VSP versions", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/items/{{auto_vsp_id}}/versions", + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "robot-ete", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\"category\": \"resourceNewCategory.generic\", \"vendorId\": \"CE00625F0B334F7FBD7294293956649E\", \"subCategory\": \"resourceNewCategory.generic.abstract\", \"description\": \"vendor software product\", \"licensingVersion\": \"1.0\", \"licensingData\": {\"featureGroups\": [\"74F4A12BA9B5461CAF69C17AB4301889\"], \"licenseAgreement\": \"D738E60042A14FE0914B375F3FAE1BC8\"}, \"icon\": \"icon\", \"vendorName\": \"test-api-license-model\", \"name\": \"test-vsp\"}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Get VSP status", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/items/{{auto_vsp_id}}/versions/{{auto_vsp_version_id}}", + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "robot-ete", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\"category\": \"resourceNewCategory.generic\", \"vendorId\": \"CE00625F0B334F7FBD7294293956649E\", \"subCategory\": \"resourceNewCategory.generic.abstract\", \"description\": \"vendor software product\", \"licensingVersion\": \"1.0\", \"licensingData\": {\"featureGroups\": [\"74F4A12BA9B5461CAF69C17AB4301889\"], \"licenseAgreement\": \"D738E60042A14FE0914B375F3FAE1BC8\"}, \"icon\": \"icon\", \"vendorName\": \"test-api-license-model\", \"name\": \"test-vsp\"}" + }, + "description": "" + }, + "response": [] + } + ] +} \ No newline at end of file diff --git a/test/postman/03_Onboard_VSP_part2.postman_collection.json b/test/postman/03_Onboard_VSP_part2.postman_collection.json new file mode 100644 index 000000000..5d411eae0 --- /dev/null +++ b/test/postman/03_Onboard_VSP_part2.postman_collection.json @@ -0,0 +1,77 @@ +{ + "variables": [], + "info": { + "name": "03_Onboard_VSP_part2", + "_postman_id": "296fe94c-89fd-6a70-53ee-e5e5faa6f570", + "description": "", + "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json" + }, + "item": [ + { + "name": "Upload zip file containing Heat files", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "", + "if (jsonData.status === \"Success\") {", + " tests[\"Upload Success\"] = true; ", + "}", + "", + "" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-software-products/{{auto_vsp_id}}/versions/{{auto_vsp_version_id}}/orchestration-template-candidate", + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "multipart/form-data", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "robot-ete", + "description": "" + } + ], + "body": { + "mode": "formdata", + "formdata": [ + { + "key": "upload", + "type": "file", + "src": "ubuntu16.zip", + "value": "" + } + ] + }, + "description": "" + }, + "response": [] + } + ] +} \ No newline at end of file diff --git a/test/postman/04_Onboard_VSP_part3.postman_collection.json b/test/postman/04_Onboard_VSP_part3.postman_collection.json new file mode 100644 index 000000000..17f0c2f16 --- /dev/null +++ b/test/postman/04_Onboard_VSP_part3.postman_collection.json @@ -0,0 +1,345 @@ +{ + "variables": [], + "info": { + "name": "04_Onboard_VSP_part3", + "_postman_id": "7530fcb9-b083-dd18-980c-a42984b5db46", + "description": "", + "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json" + }, + "item": [ + { + "name": "Process VSP zip file", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-software-products/{{auto_vsp_id}}/versions/{{auto_vsp_version_id}}/orchestration-template-candidate/process", + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "robot-ete", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{}" + }, + "description": "" + }, + "response": [ + { + "id": "32ef77d5-fdb3-45d3-ae12-1e9a75be08bc", + "name": "Checkin VSP", + "originalRequest": { + "url": "", + "header": [], + "body": { + "mode": "raw", + "raw": "" + }, + "description": "" + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "_postman_previewtype": "text", + "header": [ + { + "name": "access-control-allow-credentials", + "key": "access-control-allow-credentials", + "value": "true", + "description": "Indicates whether or not the response to the request can be exposed when the credentials flag is true. When used as part of a response to a preflight request, this indicates whether or not the actual request can be made using credentials." + }, + { + "name": "access-control-allow-origin", + "key": "access-control-allow-origin", + "value": "chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop", + "description": "Specifies a URI that may access the resource. For requests without credentials, the server may specify '*' as a wildcard, thereby allowing any origin to access the resource." + }, + { + "name": "access-control-expose-headers", + "key": "access-control-expose-headers", + "value": "", + "description": "Lets a server whitelist headers that browsers are allowed to access." + }, + { + "name": "content-type", + "key": "content-type", + "value": "application/json", + "description": "The mime type of this content" + }, + { + "name": "date", + "key": "date", + "value": "Wed, 06 Jun 2018 16:14:24 GMT", + "description": "The date and time that the message was sent" + }, + { + "name": "server", + "key": "server", + "value": "Jetty(9.3.21.v20170918)", + "description": "A name for the server" + }, + { + "name": "transfer-encoding", + "key": "transfer-encoding", + "value": "chunked", + "description": "The form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress, deflate, gzip, identity." + } + ], + "cookie": [], + "responseTime": 68, + "body": "{}" + } + ] + }, + { + "name": "Commit VSP", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/items/{{auto_vsp_id}}/versions/{{auto_vsp_version_id}}/actions", + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "robot-ete", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\"action\":\"Commit\",\"commitRequest\":{\"message\":\"ok\"}}" + }, + "description": "" + }, + "response": [ + { + "id": "ed777560-450d-4f6c-8226-b3a7b9f8d297", + "name": "Checkin VSP", + "originalRequest": { + "url": "", + "header": [], + "body": { + "mode": "raw", + "raw": "" + }, + "description": "" + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "_postman_previewtype": "text", + "header": [ + { + "name": "access-control-allow-credentials", + "key": "access-control-allow-credentials", + "value": "true", + "description": "Indicates whether or not the response to the request can be exposed when the credentials flag is true. When used as part of a response to a preflight request, this indicates whether or not the actual request can be made using credentials." + }, + { + "name": "access-control-allow-origin", + "key": "access-control-allow-origin", + "value": "chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop", + "description": "Specifies a URI that may access the resource. For requests without credentials, the server may specify '*' as a wildcard, thereby allowing any origin to access the resource." + }, + { + "name": "access-control-expose-headers", + "key": "access-control-expose-headers", + "value": "", + "description": "Lets a server whitelist headers that browsers are allowed to access." + }, + { + "name": "content-type", + "key": "content-type", + "value": "application/json", + "description": "The mime type of this content" + }, + { + "name": "date", + "key": "date", + "value": "Wed, 06 Jun 2018 16:14:24 GMT", + "description": "The date and time that the message was sent" + }, + { + "name": "server", + "key": "server", + "value": "Jetty(9.3.21.v20170918)", + "description": "A name for the server" + }, + { + "name": "transfer-encoding", + "key": "transfer-encoding", + "value": "chunked", + "description": "The form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress, deflate, gzip, identity." + } + ], + "cookie": [], + "responseTime": 68, + "body": "{}" + } + ] + }, + { + "name": "Submit VSP", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-software-products/{{auto_vsp_id}}/versions/{{auto_vsp_version_id}}/actions", + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "robot-ete", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\"action\": \"Submit\"}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "CSAR VSP", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-software-products/{{auto_vsp_id}}/versions/{{auto_vsp_version_id}}/actions", + "method": "PUT", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "robot-ete", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\"action\": \"Create_Package\"}" + }, + "description": "" + }, + "response": [] + } + ] +} \ No newline at end of file diff --git a/test/postman/05_Onboard_VF.postman_collection.json b/test/postman/05_Onboard_VF.postman_collection.json new file mode 100644 index 000000000..9b49aa4c8 --- /dev/null +++ b/test/postman/05_Onboard_VF.postman_collection.json @@ -0,0 +1,594 @@ +{ + "variables": [], + "info": { + "name": "05_Onboard_VF", + "_postman_id": "3a292462-bd95-304c-041a-62a8bd1538a5", + "description": "", + "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json" + }, + "item": [ + { + "name": "check vf exists and get id", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "var vf_found = false;", + "for (var i = 0; i < jsonData.length; i++) { ", + " if (jsonData[i][\"name\"] === postman.getGlobalVariable(\"vf_name\")) {", + " vf_found = true;", + " postman.setGlobalVariable(\"auto_vf_uuid\", \"\"+jsonData[i][\"uuid\"]+\"\");", + " postman.setGlobalVariable(\"auto_vf_invariant_uuid\", \"\"+jsonData[i][\"invariantUUID\"]+\"\");", + " }", + "}", + "if (vf_found === false) {", + " tests[postman.getGlobalVariable(\"vf_name\")+\" does not exists, we continue the run\"] = true;", + "}", + "", + "else {", + " tests[postman.getGlobalVariable(\"vf_name\")+\" already exists, stop the run\"] = true;", + " postman.setNextRequest(null);", + "}" + ] + } + } + ], + "request": { + "url": { + "raw": "{{url-sdc}}/sdc/v1/catalog/resources?resourceType=VF", + "host": [ + "{{url-sdc}}" + ], + "path": [ + "sdc", + "v1", + "catalog", + "resources" + ], + "query": [ + { + "key": "resourceType", + "value": "VF", + "equals": true, + "description": "" + } + ], + "variable": [] + }, + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "Authorization", + "value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=", + "description": "" + }, + { + "key": "x-ecomp-instanceid", + "value": "ONAP-Test", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\"contactId\": \"cs0008\", \"vendorRelease\": \"1.0\", \"requirements\": {}, \"artifacts\": {}, \"capabilities\": {}, \"componentInstancesProperties\": {}, \"deploymentArtifacts\": {}, \"icon\": \"defaulticon\", \"vendorName\": \"test-api-license-model\", \"description\": \"vendor software product\", \"tags\": [\"test-vsp\"], \"groups\": [], \"properties\": [], \"categories\": [{\"subcategories\": [{\"normalizedName\": \"abstract\", \"name\": \"Abstract\", \"uniqueId\": \"resourceNewCategory.generic.abstract\", \"icons\": [\"icon\"]}], \"normalizedName\": \"generic\", \"name\": \"Generic\", \"uniqueId\": \"resourceNewCategory.generic\"}], \"name\": \"test-vsp\", \"toscaArtifacts\": {}, \"csarUUID\": \"F3CD5189C2DF45B4B1CFA6D6E45FD613\", \"resourceType\": \"VF\", \"csarVersion\": \"1.0\", \"componentType\": \"RESOURCE\", \"componentInstancesAttributes\": {}, \"attributes\": [], \"componentInstances\": []}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "check VSP exists and get infos", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "var vsp_found = false;", + "for (var i = 0; i < jsonData.results.length; i++) { ", + " if (jsonData.results[i].name === postman.getGlobalVariable(\"vsp_name\")) {", + " vsp_found = true;", + " postman.setGlobalVariable(\"auto_vsp_id\", \"\"+jsonData.results[i].id+\"\");", + "", + " }", + "}", + "if (vsp_found === false) {", + " tests[postman.getGlobalVariable(\"vsp_name\")+\" does not exists, we stop the run\"] = true;", + " postman.setNextRequest(null); ", + "}", + "", + "else {", + " tests[postman.getGlobalVariable(\"vsp_name\")+\" exists, we can continue\"] = true;", + "}" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-software-products", + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "robot-ete", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\"category\": \"resourceNewCategory.generic\", \"vendorId\": \"CE00625F0B334F7FBD7294293956649E\", \"subCategory\": \"resourceNewCategory.generic.abstract\", \"description\": \"vendor software product\", \"licensingVersion\": \"1.0\", \"licensingData\": {\"featureGroups\": [\"74F4A12BA9B5461CAF69C17AB4301889\"], \"licenseAgreement\": \"D738E60042A14FE0914B375F3FAE1BC8\"}, \"icon\": \"icon\", \"vendorName\": \"test-api-license-model\", \"name\": \"test-vsp\"}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Get VSP versions", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "var vsp_found = false;", + "for (var i = 0; i < jsonData.results.length; i++) { ", + " if (jsonData.results[i].name === postman.getGlobalVariable(\"vsp_name\")) {", + " vsp_found = true;", + " postman.setGlobalVariable(\"auto_vsp_version_id\", \"\"+jsonData.results[i].id+\"\");", + " postman.setGlobalVariable(\"auto_vsp_version_name\", \"\"+jsonData.results[i].name+\"\");", + " }", + "}" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/items/{{auto_vsp_id}}/versions", + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "robot-ete", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\"category\": \"resourceNewCategory.generic\", \"vendorId\": \"CE00625F0B334F7FBD7294293956649E\", \"subCategory\": \"resourceNewCategory.generic.abstract\", \"description\": \"vendor software product\", \"licensingVersion\": \"1.0\", \"licensingData\": {\"featureGroups\": [\"74F4A12BA9B5461CAF69C17AB4301889\"], \"licenseAgreement\": \"D738E60042A14FE0914B375F3FAE1BC8\"}, \"icon\": \"icon\", \"vendorName\": \"test-api-license-model\", \"name\": \"test-vsp\"}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Get Vendor infos", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "var vendor_found = false;", + "for (var i = 0; i < jsonData.results.length; i++) { ", + " if (jsonData.results[i][\"name\"] === postman.getGlobalVariable(\"vendor_name\")) {", + " vendor_found = true;", + " postman.setGlobalVariable(\"auto_vendor_id\", \"\"+jsonData.results[i][\"id\"]+\"\");", + " }", + "}", + "if (vendor_found === false) {", + " tests[postman.getGlobalVariable(\"vendor_name\")+\" does not exists : we stop the run\"] = false;", + " postman.setNextRequest(null);", + "}", + "", + "else {", + " tests[postman.getGlobalVariable(\"vendor_name\")+\" exists\"] = true;", + "}", + "", + "", + "" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-license-models", + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "robot-ete", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\"iconRef\": \"icon\", \"vendorName\": \"test-api-license-model\", \"description\": \"vendor license model\"}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Create VF resource", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 201\"] = responseCode.code === 201;", + "", + "var jsonData = JSON.parse(responseBody);", + "postman.setGlobalVariable(\"auto_vf_invariant_uuid\", \"\"+jsonData[\"invariantUUID\"]+\"\");", + "postman.setGlobalVariable(\"auto_vf_uuid\", \"\"+jsonData[\"uuid\"]+\"\");", + "postman.setGlobalVariable(\"auto_vf_unique_id\", \"\"+jsonData[\"uniqueId\"]+\"\");", + "", + "tests[\"VF version is in NOT_CERTIFIED_CHECKOUT status\"] = jsonData[\"lifecycleState\"] === \"NOT_CERTIFIED_CHECKOUT\";" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/resources", + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "Authorization", + "value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=", + "description": "" + }, + { + "key": "x-ecomp-instanceid", + "value": "ONAP-Test", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n\t\"artifacts\": {},\r\n\t\"toscaArtifacts\": {},\r\n\t\"contactId\": \"cs0008\",\r\n\t\"categories\": [{\r\n\t\t\"name\": \"Generic\",\r\n\t\t\"normalizedName\": \"generic\",\r\n\t\t\"uniqueId\": \"resourceNewCategory.generic\",\r\n\t\t\"icons\": null,\r\n\t\t\"subcategories\": [{\r\n\t\t\t\"name\": \"Abstract\",\r\n\t\t\t\"normalizedName\": \"abstract\",\r\n\t\t\t\"uniqueId\": \"resourceNewCategory.generic.abstract\",\r\n\t\t\t\"icons\": [\"objectStorage\", \"compute\"],\r\n\t\t\t\"groupings\": null,\r\n\t\t\t\"ownerId\": null,\r\n\t\t\t\"empty\": false\r\n\t\t}],\r\n\t\t\"ownerId\": null,\r\n\t\t\"empty\": false\r\n\t}],\r\n\t\"description\": \"VF named {{vf_name}}\",\r\n\t\"icon\": \"defaulticon\",\r\n\t\"componentInstancesProperties\": {},\r\n\t\"componentInstancesAttributes\": {},\r\n\t\"name\": \"{{vf_name}}\",\r\n\t\"tags\": [\"{{vf_name}}\"],\r\n\t\"capabilities\": {},\r\n\t\"requirements\": {},\r\n\t\"deploymentArtifacts\": {},\r\n\t\"componentType\": \"RESOURCE\",\r\n\t\"vendorName\": \"{{vendor_name}}\",\r\n\t\"vendorRelease\": \"1.0\",\r\n\t\"componentInstances\": [],\r\n\t\"properties\": [],\r\n\t\"attributes\": [],\r\n\t\"groups\": [],\r\n\t\"resourceType\": \"VF\",\r\n\t\"csarUUID\": \"{{auto_vsp_id}}\",\r\n\t\"csarVersion\": \"{{auto_vsp_version_name}}\"\r\n}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Checkin VF resource", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var jsonData = JSON.parse(responseBody);", + "", + "tests[\"VF version is in NOT_CERTIFIED_CHECKIN status\"] = jsonData[\"lifecycleState\"] === \"NOT_CERTIFIED_CHECKIN\";" + ] + } + } + ], + "request": { + "url": "{{url-sdc}}/sdc/v1/catalog/resources/{{auto_vf_uuid}}/lifecycleState/checkin", + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "X-ECOMP-InstanceID", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "Authorization", + "value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\"userRemarks\": \"ONAP-Test checkin\"}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Certify VF resource", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var jsonData = JSON.parse(responseBody);", + "", + "tests[\"VF version is in CERTIFIED status\"] = jsonData[\"lifecycleState\"] === \"CERTIFIED\";" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/resources/{{auto_vf_unique_id}}/lifecycleState/certify", + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "Authorization", + "value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=", + "description": "" + }, + { + "key": "X-ECOMP-InstanceID", + "value": "ONAP-Test", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\"userRemarks\": \"certify\"}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Get VF infos by uniqueId to get new vf_unique_Id (=new version id)", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "postman.setGlobalVariable(\"auto_vf_new_unique_id\", \"\"+jsonData[\"metadata\"][\"allVersions\"][\"1.0\"]+\"\");", + "" + ] + } + } + ], + "request": { + "url": { + "raw": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/resources/{{auto_vf_unique_id}}/filteredDataByParams?include=metadata", + "host": [ + "{{url-sdc2}}" + ], + "path": [ + "sdc1", + "feProxy", + "rest", + "v1", + "catalog", + "resources", + "{{auto_vf_unique_id}}", + "filteredDataByParams" + ], + "query": [ + { + "key": "include", + "value": "metadata", + "equals": true, + "description": "" + } + ], + "variable": [] + }, + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "Authorization", + "value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=", + "description": "" + }, + { + "key": "x-ecomp-instanceid", + "value": "ONAP-Test", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\"contactId\": \"cs0008\", \"vendorRelease\": \"1.0\", \"requirements\": {}, \"artifacts\": {}, \"capabilities\": {}, \"componentInstancesProperties\": {}, \"deploymentArtifacts\": {}, \"icon\": \"defaulticon\", \"vendorName\": \"test-api-license-model\", \"description\": \"vendor software product\", \"tags\": [\"test-vsp\"], \"groups\": [], \"properties\": [], \"categories\": [{\"subcategories\": [{\"normalizedName\": \"abstract\", \"name\": \"Abstract\", \"uniqueId\": \"resourceNewCategory.generic.abstract\", \"icons\": [\"icon\"]}], \"normalizedName\": \"generic\", \"name\": \"Generic\", \"uniqueId\": \"resourceNewCategory.generic\"}], \"name\": \"test-vsp\", \"toscaArtifacts\": {}, \"csarUUID\": \"F3CD5189C2DF45B4B1CFA6D6E45FD613\", \"resourceType\": \"VF\", \"csarVersion\": \"1.0\", \"componentType\": \"RESOURCE\", \"componentInstancesAttributes\": {}, \"attributes\": [], \"componentInstances\": []}" + }, + "description": "" + }, + "response": [] + } + ] +} \ No newline at end of file diff --git a/test/postman/06_Onboard_Service.postman_collection.json b/test/postman/06_Onboard_Service.postman_collection.json new file mode 100644 index 000000000..19aebc302 --- /dev/null +++ b/test/postman/06_Onboard_Service.postman_collection.json @@ -0,0 +1,891 @@ +{ + "variables": [], + "info": { + "name": "06_Onboard_Service", + "_postman_id": "52d092e4-3896-404a-0ebd-e0bef781492e", + "description": "", + "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json" + }, + "item": [ + { + "name": "check service exists and get infos", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "var service_found = false;", + "for (var i = 0; i < jsonData.length; i++) { ", + " if (jsonData[i].name === postman.getGlobalVariable(\"service\")) {", + " service_found = true;", + " postman.setGlobalVariable(\"auto_service_uuid\", \"\"+jsonData[i].uuid+\"\");", + " postman.setGlobalVariable(\"auto_service_invariant_uuid\", \"\"+jsonData[i].invariantUUID+\"\");", + " }", + "}", + "if (service_found === false) {", + " tests[postman.getGlobalVariable(\"service\")+\" does not exists, we continue the run\"] = true;", + "}", + "", + "else {", + " tests[postman.getGlobalVariable(\"service\")+\" already exists, stop the run\"] = true;", + " postman.setNextRequest(null);", + "}" + ] + } + } + ], + "request": { + "url": "{{url-sdc}}/sdc/v1/catalog/services", + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "Authorization", + "value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=", + "description": "" + }, + { + "key": "x-ecomp-instanceid", + "value": "ONAP-Test", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\"contactId\": \"cs0008\", \"vendorRelease\": \"1.0\", \"requirements\": {}, \"artifacts\": {}, \"capabilities\": {}, \"componentInstancesProperties\": {}, \"deploymentArtifacts\": {}, \"icon\": \"defaulticon\", \"vendorName\": \"test-api-license-model\", \"description\": \"vendor software product\", \"tags\": [\"test-vsp\"], \"groups\": [], \"properties\": [], \"categories\": [{\"subcategories\": [{\"normalizedName\": \"abstract\", \"name\": \"Abstract\", \"uniqueId\": \"resourceNewCategory.generic.abstract\", \"icons\": [\"icon\"]}], \"normalizedName\": \"generic\", \"name\": \"Generic\", \"uniqueId\": \"resourceNewCategory.generic\"}], \"name\": \"test-vsp\", \"toscaArtifacts\": {}, \"csarUUID\": \"F3CD5189C2DF45B4B1CFA6D6E45FD613\", \"resourceType\": \"VF\", \"csarVersion\": \"1.0\", \"componentType\": \"RESOURCE\", \"componentInstancesAttributes\": {}, \"attributes\": [], \"componentInstances\": []}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Create a aLaCarte Service", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 201\"] = responseCode.code === 201;", + "", + "var jsonData = JSON.parse(responseBody);", + "postman.setGlobalVariable(\"auto_service_invariant_uuid\", \"\"+jsonData[\"invariantUUID\"]+\"\");", + "postman.setGlobalVariable(\"auto_service_uuid\", \"\"+jsonData[\"uuid\"]+\"\");", + "postman.setGlobalVariable(\"auto_service_unique_id\", \"\"+jsonData[\"uniqueId\"]+\"\");", + "", + "tests[\"Service version is in NOT_CERTIFIED_CHECKOUT status\"] = jsonData[\"lifecycleState\"] === \"NOT_CERTIFIED_CHECKOUT\";" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/services", + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "Authorization", + "value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=", + "description": "" + }, + { + "key": "x-ecomp-instanceid", + "value": "ONAP-Test", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n\t\"artifacts\": {},\r\n\t\"toscaArtifacts\": {},\r\n\t\"contactId\": \"cs0008\",\r\n\t\"categories\": [{\r\n\t\t\"name\": \"Network Service\",\r\n\t\t\"normalizedName\": \"network service\",\r\n\t\t\"uniqueId\": \"serviceNewCategory.network service\",\r\n\t\t\"icons\": [\"network_l_1-3\"],\r\n\t\t\"subcategories\": null,\r\n\t\t\"version\": null,\r\n\t\t\"ownerId\": null,\r\n\t\t\"empty\": false,\r\n\t\t\"type\": null\r\n\t}],\r\n\t\"description\": \"Service {{service}}\",\r\n\t\"icon\": \"defaulticon\",\r\n\t\"componentInstancesProperties\": {},\r\n\t\"componentInstancesAttributes\": {},\r\n\t\"name\": \"{{service}}\",\r\n\t\"tags\": [\"{{service}}\"],\r\n\t\"capabilities\": {},\r\n\t\"requirements\": {},\r\n\t\"deploymentArtifacts\": {},\r\n\t\"componentType\": \"SERVICE\",\r\n\t\"projectCode\": \"123456\",\r\n\t\"componentInstances\": [],\r\n\t\"properties\": [],\r\n\t\"attributes\": [],\r\n\t\"forwardingPaths\": {},\r\n\t\"ecompGeneratedNaming\": true,\r\n\t\"serviceApiArtifacts\": {},\r\n\t\"instantiationType\": \"A-la-carte\",\r\n\t\"environmentContext\": \"General_Revenue-Bearing\"\r\n}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "check VF exists and get uuid", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "var vf_found = false;", + "for (var i = 0; i < jsonData.length; i++) { ", + " if (jsonData[i][\"name\"] === postman.getGlobalVariable(\"vf_name\")) {", + " vf_found = true;", + " postman.setGlobalVariable(\"auto_vf_uuid\", \"\"+jsonData[i][\"uuid\"]+\"\");", + " postman.setGlobalVariable(\"auto_vf_invariant_uuid\", \"\"+jsonData[i][\"invariantUUID\"]+\"\");", + " }", + "}", + "if (vf_found === false) {", + " tests[postman.getGlobalVariable(\"vf_name\")+\" does not exists, we stop the run\"] = true;", + " postman.setNextRequest(null);", + "", + "}", + "", + "else {", + " tests[postman.getGlobalVariable(\"vf_name\")+\" exists, we continue the run\"] = true;", + "}" + ] + } + } + ], + "request": { + "url": "{{url-sdc}}/sdc/v1/catalog/resources/{{auto_vf_uuid}}/metadata", + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "Authorization", + "value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=", + "description": "" + }, + { + "key": "x-ecomp-instanceid", + "value": "ONAP-Test", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\"contactId\": \"cs0008\", \"vendorRelease\": \"1.0\", \"requirements\": {}, \"artifacts\": {}, \"capabilities\": {}, \"componentInstancesProperties\": {}, \"deploymentArtifacts\": {}, \"icon\": \"defaulticon\", \"vendorName\": \"test-api-license-model\", \"description\": \"vendor software product\", \"tags\": [\"test-vsp\"], \"groups\": [], \"properties\": [], \"categories\": [{\"subcategories\": [{\"normalizedName\": \"abstract\", \"name\": \"Abstract\", \"uniqueId\": \"resourceNewCategory.generic.abstract\", \"icons\": [\"icon\"]}], \"normalizedName\": \"generic\", \"name\": \"Generic\", \"uniqueId\": \"resourceNewCategory.generic\"}], \"name\": \"test-vsp\", \"toscaArtifacts\": {}, \"csarUUID\": \"F3CD5189C2DF45B4B1CFA6D6E45FD613\", \"resourceType\": \"VF\", \"csarVersion\": \"1.0\", \"componentType\": \"RESOURCE\", \"componentInstancesAttributes\": {}, \"attributes\": [], \"componentInstances\": []}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Get VF uniqueId", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "var vf_found = false;", + "for (var i = 0; i < jsonData.resources.length; i++) { ", + " if (jsonData.resources[i].name === postman.getGlobalVariable(\"vf_name\")) {", + " vf_found = true;", + " postman.setGlobalVariable(\"auto_vf_unique_id\", \"\"+jsonData.resources[i].uniqueId+\"\");", + " }", + "}", + "" + ] + } + } + ], + "request": { + "url": { + "raw": "{{url-sdc2}}/sdc1/feProxy/rest/v1/screen?excludeTypes=VFCMT&excludeTypes=Configuration", + "host": [ + "{{url-sdc2}}" + ], + "path": [ + "sdc1", + "feProxy", + "rest", + "v1", + "screen" + ], + "query": [ + { + "key": "excludeTypes", + "value": "VFCMT", + "equals": true, + "description": "" + }, + { + "key": "excludeTypes", + "value": "Configuration", + "equals": true, + "description": "" + } + ], + "variable": [] + }, + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "Authorization", + "value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=", + "description": "" + }, + { + "key": "x-ecomp-instanceid", + "value": "ONAP-Test", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\"contactId\": \"cs0008\", \"vendorRelease\": \"1.0\", \"requirements\": {}, \"artifacts\": {}, \"capabilities\": {}, \"componentInstancesProperties\": {}, \"deploymentArtifacts\": {}, \"icon\": \"defaulticon\", \"vendorName\": \"test-api-license-model\", \"description\": \"vendor software product\", \"tags\": [\"test-vsp\"], \"groups\": [], \"properties\": [], \"categories\": [{\"subcategories\": [{\"normalizedName\": \"abstract\", \"name\": \"Abstract\", \"uniqueId\": \"resourceNewCategory.generic.abstract\", \"icons\": [\"icon\"]}], \"normalizedName\": \"generic\", \"name\": \"Generic\", \"uniqueId\": \"resourceNewCategory.generic\"}], \"name\": \"test-vsp\", \"toscaArtifacts\": {}, \"csarUUID\": \"F3CD5189C2DF45B4B1CFA6D6E45FD613\", \"resourceType\": \"VF\", \"csarVersion\": \"1.0\", \"componentType\": \"RESOURCE\", \"componentInstancesAttributes\": {}, \"attributes\": [], \"componentInstances\": []}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Add VF to Service", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 201\"] = responseCode.code === 201;" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/services/{{auto_service_unique_id}}/resourceInstance", + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "Authorization", + "value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=", + "description": "" + }, + { + "key": "x-ecomp-instanceid", + "value": "ONAP-Test", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n\t\"name\": \"{{vf_name}}\",\r\n\t\"componentVersion\": \"1.0\",\r\n\t\"posY\": 100,\r\n\t\"posX\": 200,\r\n\t\"uniqueId\": \"{{auto_vf_unique_id}}\",\r\n\t\"originType\": \"VF\",\r\n\t\"componentUid\": \"{{auto_vf_unique_id}}\",\r\n\t\"icon\": \"defaulticon\"\r\n}\r\n" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Submit for testing", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/services/{{auto_service_unique_id}}/lifecycleState/certificationRequest", + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "Authorization", + "value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=", + "description": "" + }, + { + "key": "x-ecomp-instanceid", + "value": "ONAP-Test", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\"userRemarks\":\"please test\"}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Start Certification", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/services/{{auto_service_unique_id}}/lifecycleState/startCertification", + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "USER_ID", + "value": "jm0007", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "Authorization", + "value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=", + "description": "" + }, + { + "key": "x-ecomp-instanceid", + "value": "ONAP-Test", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Certify", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "postman.setGlobalVariable(\"auto_service_new_unique_id\", \"\"+jsonData[\"uniqueId\"]+\"\");" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/services/{{auto_service_unique_id}}/lifecycleState/certify", + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "USER_ID", + "value": "jm0007", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "Authorization", + "value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=", + "description": "" + }, + { + "key": "x-ecomp-instanceid", + "value": "ONAP-Test", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\"userRemarks\":\"ok\"}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "distribution approuve", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/services/{{auto_service_new_unique_id}}/distribution-state/approve", + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "USER_ID", + "value": "gv0001", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "Authorization", + "value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=", + "description": "" + }, + { + "key": "x-ecomp-instanceid", + "value": "ONAP-Test", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\"userRemarks\":\"ok\"}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Distribute service", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/services/{{auto_service_new_unique_id}}/distribution/PROD/activate", + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "USER_ID", + "value": "op0001", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "Authorization", + "value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=", + "description": "" + }, + { + "key": "x-ecomp-instanceid", + "value": "ONAP-Test", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "check distribution", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "var distrib_done = false;", + "for (var i = 0; i < jsonData.distributionStatusOfServiceList.length; i++) { ", + " if (jsonData.distributionStatusOfServiceList[i].deployementStatus === \"Distributed\") {", + " distrib_done = true;", + " postman.setGlobalVariable(\"auto_distribution_id\", \"\"+jsonData.distributionStatusOfServiceList[i].distributionID+\"\");", + "", + " }", + "}", + "if (distrib_done === false) {", + " tests[postman.getGlobalVariable(\"service\")+\" not distributed\"] = false;", + "}", + "", + "else {", + " tests[postman.getGlobalVariable(\"service\")+\" distributed\"] = true;", + " postman.setNextRequest(null);", + "}" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/services/{{auto_service_uuid}}/distribution", + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "USER_ID", + "value": "op0001", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "Authorization", + "value": "Basic YmVlcDpib29w", + "description": "" + }, + { + "key": "x-ecomp-instanceid", + "value": "ONAP-Test", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "check distribution fully completed", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "var distrib_SO = false;", + "var distrib_AAI = false;", + "var distrib_SDNC = false;", + "", + "", + "for (var i = 0; i < jsonData.distributionStatusList.length; i++) { ", + " if ((jsonData.distributionStatusList[i].omfComponentID === \"SO-COpenSource-Env11\") && (jsonData.distributionStatusList[i].status === \"DOWNLOAD_OK\"))", + " {", + " distrib_SO = true;", + " }", + " if ((jsonData.distributionStatusList[i].omfComponentID === \"aai-ml\") && (jsonData.distributionStatusList[i].status === \"DOWNLOAD_OK\"))", + " {", + " distrib_AAI = true;", + " }", + " if ((jsonData.distributionStatusList[i].omfComponentID === \"sdc-COpenSource-Env11-sdnc-dockero\") && (jsonData.distributionStatusList[i].status === \"DOWNLOAD_OK\"))", + " {", + " distrib_SDNC = true;", + " }", + "}", + "", + "", + "if (distrib_SO === false) {", + " tests[postman.getGlobalVariable(\"service\")+\" not distributed to SO\"] = false;", + "}", + "", + "else {", + " tests[postman.getGlobalVariable(\"service\")+\" distributed to SO\"] = true;", + "}", + "", + "if (distrib_AAI === false) {", + " tests[postman.getGlobalVariable(\"service\")+\" not distributed to AAI\"] = false;", + "}", + "", + "else {", + " tests[postman.getGlobalVariable(\"service\")+\" distributed to AAI\"] = true;", + "}", + "", + "if (distrib_SDNC === false) {", + " tests[postman.getGlobalVariable(\"service\")+\" not distributed to SDNC\"] = false;", + "}", + "", + "else {", + " tests[postman.getGlobalVariable(\"service\")+\" distributed to SDNC\"] = true;", + "}" + ] + } + } + ], + "request": { + "url": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/services/distribution/{{auto_distribution_id}}", + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "USER_ID", + "value": "op0001", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "Authorization", + "value": "Basic YmVlcDpib29w", + "description": "" + }, + { + "key": "x-ecomp-instanceid", + "value": "ONAP-Test", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{}" + }, + "description": "" + }, + "response": [] + } + ] +} \ No newline at end of file diff --git a/test/postman/07_Declare_owningEntity_LineOfBusiness_project_platform.postman_collection.json b/test/postman/07_Declare_owningEntity_LineOfBusiness_project_platform.postman_collection.json new file mode 100644 index 000000000..a77751ca8 --- /dev/null +++ b/test/postman/07_Declare_owningEntity_LineOfBusiness_project_platform.postman_collection.json @@ -0,0 +1,144 @@ +{ + "variables": [], + "info": { + "name": "07_Declare_owningEntity_LineOfBusiness_project_platform", + "_postman_id": "7143bf9e-0167-af43-26cb-0cec6550dcd1", + "description": "", + "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json" + }, + "item": [ + { + "name": "Declare owningEntity", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = (responseCode.code === 200) || (responseCode.code === 207) ;", + "" + ] + } + } + ], + "request": { + "url": "{{url-vid}}/vid/maintenance/category_parameter/owningEntity", + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept-Encoding", + "value": "gzip, deflate", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"options\": [\"{{owning_entity}}\"]\n}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Declare platform", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = (responseCode.code === 200) || (responseCode.code === 207) ;", + "" + ] + } + } + ], + "request": { + "url": "{{url-vid}}/vid/maintenance/category_parameter/platform", + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"options\": [\"{{platform}}\"]\n}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Declare lineOfBusiness", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = (responseCode.code === 200) || (responseCode.code === 207) ;", + "" + ] + } + } + ], + "request": { + "url": "{{url-vid}}/vid/maintenance/category_parameter/lineOfBusiness", + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"options\": [\"{{lineofbusiness}}\"]\n}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Declare project", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = (responseCode.code === 200) || (responseCode.code === 207) ;", + "" + ] + } + } + ], + "request": { + "url": "{{url-vid}}/vid/maintenance/category_parameter/project", + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"options\": [\"{{project}}\"]\n}" + }, + "description": "" + }, + "response": [] + } + ] +} \ No newline at end of file diff --git a/test/postman/08_Declare_Customer_Service_Subscription_Cloud.postman_collection.json b/test/postman/08_Declare_Customer_Service_Subscription_Cloud.postman_collection.json new file mode 100644 index 000000000..f100c33f2 --- /dev/null +++ b/test/postman/08_Declare_Customer_Service_Subscription_Cloud.postman_collection.json @@ -0,0 +1,1065 @@ +{ + "variables": [], + "info": { + "name": "08_Declare_Customer_Service_Subscription_Cloud", + "_postman_id": "ea6f17c2-1abd-62ff-a260-17fad1bdf6b8", + "description": "", + "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json" + }, + "item": [ + { + "name": "List Customers", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var customer_found = false;", + "if (responseCode.code === 404) {", + " tests[postman.getGlobalVariable(\"customer_name\")+\" does not exists\"] = true;", + "}", + "else {", + " if (responseCode.code === 200) {", + " tests[\"Status code is 200\"] = responseCode.code === 200;", + " }", + " var jsonData = JSON.parse(responseBody);", + " for (var i = 0; i < jsonData.customer.length; i++) { ", + " if (jsonData.customer[i][\"global-customer-id\"] === postman.getGlobalVariable(\"customer_name\")) {", + " customer_found = true;", + " postman.setGlobalVariable(\"auto_customer_id\", \"\"+jsonData.customer[i][\"global-customer-id\"]+\"\");", + " }", + " }", + " if (customer_found === false) {", + " tests[postman.getGlobalVariable(\"customer_name\")+\" does not exists\"] = true;", + " }", + " ", + " else {", + " tests[postman.getGlobalVariable(\"customer_name\")+\" already exists, we skip creation\"] = true;", + " postman.setNextRequest(\"List Services from SDC catalog\");", + " }", + "}" + ] + } + } + ], + "request": { + "url": "{{url-aai}}/aai/v14/business/customers", + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic QUFJOkFBSQ==", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "AAI", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"global-customer-id\": \"Chouchen22\",\r\n \"subscriber-name\": \"Chouchen22\",\r\n \"subscriber-type\": \"INFRA\"\r\n}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Declare a Customer", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 201\"] = responseCode.code === 201;" + ] + } + } + ], + "request": { + "url": "{{url-aai}}/aai/v14/business/customers/customer/{{customer_name}}", + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic QUFJOkFBSQ==", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "AAI", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"global-customer-id\": \"{{customer_name}}\",\n \"subscriber-name\": \"{{customer_name}}\",\n \"subscriber-type\": \"INFRA\"\n}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Check customer creation", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "var customer_found = false;", + "for (var i = 0; i < jsonData.customer.length; i++) { ", + " if (jsonData.customer[i][\"global-customer-id\"] === postman.getGlobalVariable(\"customer_name\")) {", + " customer_found = true;", + " postman.setGlobalVariable(\"auto_customer_id\", \"\"+jsonData.customer[i][\"global-customer-id\"]+\"\");", + " }", + "}", + "tests[postman.getGlobalVariable(\"customer_name\")+\" found\"] = customer_found === true;" + ] + } + } + ], + "request": { + "url": "{{url-aai}}/aai/v14/business/customers", + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic QUFJOkFBSQ==", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "AAI", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"global-customer-id\": \"Chouchen22\",\r\n \"subscriber-name\": \"Chouchen22\",\r\n \"subscriber-type\": \"INFRA\"\r\n}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "List Services from SDC catalog", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "var service_found = false;", + "for (var i = 0; i < jsonData.length; i++) { ", + " if (jsonData[i][\"name\"] === postman.getGlobalVariable(\"service\")) {", + " service_found = true;", + " postman.setGlobalVariable(\"auto_service_invariantUUID\", \"\"+jsonData[i][\"invariantUUID\"]+\"\");", + " }", + "}", + "", + "if (service_found === false) {", + " tests[postman.getGlobalVariable(\"service\")+\" does not exists\"] = true;", + " postman.setNextRequest(null);", + "}", + "", + "else {", + " tests[postman.getGlobalVariable(\"service\")+\" exists, we continue the run\"] = true;", + "}" + ] + } + } + ], + "request": { + "url": "{{url-sdc}}/sdc/v1/catalog/services", + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "USER_ID", + "value": "cs0008", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "ONAP-Test", + "description": "" + }, + { + "key": "Authorization", + "value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=", + "description": "" + }, + { + "key": "x-ecomp-instanceid", + "value": "ONAP-Test", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\"contactId\": \"cs0008\", \"vendorRelease\": \"1.0\", \"requirements\": {}, \"artifacts\": {}, \"capabilities\": {}, \"componentInstancesProperties\": {}, \"deploymentArtifacts\": {}, \"icon\": \"defaulticon\", \"vendorName\": \"test-api-license-model\", \"description\": \"vendor software product\", \"tags\": [\"test-vsp\"], \"groups\": [], \"properties\": [], \"categories\": [{\"subcategories\": [{\"normalizedName\": \"abstract\", \"name\": \"Abstract\", \"uniqueId\": \"resourceNewCategory.generic.abstract\", \"icons\": [\"icon\"]}], \"normalizedName\": \"generic\", \"name\": \"Generic\", \"uniqueId\": \"resourceNewCategory.generic\"}], \"name\": \"test-vsp\", \"toscaArtifacts\": {}, \"csarUUID\": \"F3CD5189C2DF45B4B1CFA6D6E45FD613\", \"resourceType\": \"VF\", \"csarVersion\": \"1.0\", \"componentType\": \"RESOURCE\", \"componentInstancesAttributes\": {}, \"attributes\": [], \"componentInstances\": []}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Check Subscription in AAI", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var service_found = false;", + "if (responseCode.code === 404) {", + " tests[postman.getGlobalVariable(\"service\")+\" does not exists in AAI\"] = true;", + "}", + "else {", + " if (responseCode.code === 200) {", + " tests[\"Status code is 200\"] = responseCode.code === 200;", + " }", + " var jsonData = JSON.parse(responseBody);", + " for (var i = 0; i < jsonData.service.length; i++) { ", + " if (jsonData.service[i][\"service-description\"] === postman.getGlobalVariable(\"service\")) {", + " service_found = true;", + " }", + " }", + " ", + " if (service_found === false) {", + " tests[postman.getGlobalVariable(\"service\")+\" does not exists in AAI\"] = true;", + " }", + " ", + " else {", + " tests[postman.getGlobalVariable(\"service\")+\" already exists in AAI, we skip creation\"] = true;", + " postman.setNextRequest(\"check cloud-region exists\");", + " }", + "}" + ] + } + } + ], + "request": { + "url": "{{url-aai}}/aai/v14/service-design-and-creation/services", + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "AAI", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "get_aai_subscr", + "description": "" + }, + { + "key": "Authorization", + "value": "Basic QUFJOkFBSQ==", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Declare subscription in AAI", + "request": { + "url": "{{url-aai}}/aai/v14/service-design-and-creation/services/service/{{auto_service_invariantUUID}}", + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic QUFJOkFBSQ==", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "AAI", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n\"service-id\": \"{{auto_service_invariantUUID}}\",\r\n\"service-description\": \"{{service}}\"\r\n}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Check Subscription creation in AAI", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "var service_found = false;", + "for (var i = 0; i < jsonData.service.length; i++) { ", + " if (jsonData.service[i][\"service-description\"] === postman.getGlobalVariable(\"service\")) {", + " service_found = true;", + " postman.setGlobalVariable(\"auto_service_resource_version\", \"\"+jsonData.service[i][\"resource-version\"]+\"\");", + " }", + "}", + "tests[postman.getGlobalVariable(\"service\")+\" found\"] = service_found === true;" + ] + } + } + ], + "request": { + "url": "{{url-aai}}/aai/v14/service-design-and-creation/services", + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "AAI", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "get_aai_subscr", + "description": "" + }, + { + "key": "Authorization", + "value": "Basic QUFJOkFBSQ==", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "description": "" + }, + "response": [] + }, + { + "name": "check cloud-region exists", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var region_found = false;", + "if (responseCode.code === 404) {", + " tests[postman.getGlobalVariable(\"cloud_region_id\")+\" does not exists in AAI\"] = true;", + "}", + "else {", + " if (responseCode.code === 200) {", + " tests[\"Status code is 200\"] = responseCode.code === 200;", + " }", + "var jsonData = JSON.parse(responseBody);", + "for (var i = 0; i < jsonData[\"cloud-region\"].length; i++) { ", + " if (jsonData[\"cloud-region\"][i][\"cloud-region-id\"] === postman.getGlobalVariable(\"cloud_region_id\")) {", + " region_found = true;", + " }", + "}", + "", + "if (region_found === false) {", + " tests[postman.getGlobalVariable(\"cloud_region_id\")+\" does not exists\"] = true;", + "}", + "else {", + " tests[postman.getGlobalVariable(\"cloud_region_id\")+\" already exists, we skip creation\"] = true;", + " postman.setNextRequest(\"check tenant in cloud region\");", + "}", + "}" + ] + } + } + ], + "request": { + "url": "{{url-aai}}/aai/v14/cloud-infrastructure/cloud-regions", + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic QUFJOkFBSQ==", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "AAI", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f", + "description": "" + } + ], + "body": {}, + "description": "" + }, + "response": [] + }, + { + "name": "create CloudOwner/RegionOne cloud-region", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 201\"] = responseCode.code === 201;" + ] + } + } + ], + "request": { + "url": "{{url-aai}}/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/{{cloud_owner_name}}/{{cloud_region_id}}", + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic QUFJOkFBSQ==", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "AAI", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"cloud-owner\": \"{{cloud_owner_name}}\",\r\n \"cloud-region-id\": \"{{cloud_region_id}}\",\r\n \"cloud-type\": \"openstack\",\r\n \"owner-defined-type\": \"\",\r\n \"cloud-region-version\": \"\",\r\n \"cloud-zone\": \"\",\r\n \"complex-name\": \"\",\r\n \"identity-url\": \"\",\r\n \"sriov-automation\": false,\r\n \"cloud-extra-info\": \"\"\r\n}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Check Cloud-region creation", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "var region_found = false;", + "for (var i = 0; i < jsonData[\"cloud-region\"].length; i++) { ", + " if (jsonData[\"cloud-region\"][i][\"cloud-region-id\"] === postman.getGlobalVariable(\"cloud_region_id\")) {", + " region_found = true;", + " }", + "}", + "tests[postman.getGlobalVariable(\"cloud_region_id\")+\" found\"] = region_found === true;", + "" + ] + } + } + ], + "request": { + "url": "{{url-aai}}/aai/v14/cloud-infrastructure/cloud-regions", + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic QUFJOkFBSQ==", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "AAI", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f", + "description": "" + } + ], + "body": {}, + "description": "" + }, + "response": [] + }, + { + "name": "check tenant in cloud region", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var tenant_found = false;", + "if (responseCode.code === 404) {", + " tests[postman.getGlobalVariable(\"tenant_name\")+\" does not exists in AAI\"] = true;", + "}", + "else {", + " if (responseCode.code === 200) {", + " tests[\"Status code is 200\"] = responseCode.code === 200;", + " }", + "var jsonData = JSON.parse(responseBody);", + "", + "if(jsonData.hasOwnProperty('tenant'))", + " {", + " for (var i = 0; i < jsonData.tenant.length; i++) ", + " { ", + " if (jsonData.tenant[i]['tenant-id'] === postman.getGlobalVariable(\"tenant_id\")) ", + " {", + " tenant_found = true;", + " }", + " }", + " if (tenant_found === true) ", + " {", + " tests[postman.getGlobalVariable(\"tenant_name\")+\" already exists, we skip creation\"] = true;", + " postman.setNextRequest(\"check customer-service-tenant relations\");", + " }", + "", + "if (tenant_found === false)", + " {", + " tests[postman.getGlobalVariable(\"tenant_name\")+\" does not exists\"] = true;", + " }", + "}", + "}" + ] + } + } + ], + "request": { + "url": "{{url-aai}}/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/{{cloud_owner_name}}/{{cloud_region_id}}/tenants", + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic QUFJOkFBSQ==", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "AAI", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": {}, + "description": "" + }, + "response": [] + }, + { + "name": "add tenant to region", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 201\"] = responseCode.code === 201;" + ] + } + } + ], + "request": { + "url": "{{url-aai}}/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/{{cloud_owner_name}}/{{cloud_region_id}}/tenants/tenant/{{tenant_id}}", + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic QUFJOkFBSQ==", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "AAI", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "get_aai_subscr", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"tenant-id\": \"{{tenant_id}}\",\n \"tenant-name\": \"{{tenant_name}}\"\n}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "check tenant creation", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "var tenant_found = false;", + "for (var i = 0; i < jsonData[\"tenant\"].length; i++) { ", + " if (jsonData[\"tenant\"][i][\"tenant-id\"] === postman.getGlobalVariable(\"tenant_id\")) {", + " tenant_found = true;", + " }", + "}", + "tests[postman.getGlobalVariable(\"tenant_name\")+\" found\"] = tenant_found === true;", + "" + ] + } + } + ], + "request": { + "url": "{{url-aai}}/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/{{cloud_owner_name}}/{{cloud_region_id}}/tenants", + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic QUFJOkFBSQ==", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "AAI", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": {}, + "description": "" + }, + "response": [] + }, + { + "name": "check customer-service-tenant relations", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var relation_found = false;", + "if (responseCode.code === 404) {", + " tests[postman.getGlobalVariable(\"tenant_name\")+\" / \"+postman.getGlobalVariable(\"service\")+ \" relation does not exists\"] = true;", + "}", + "else {", + " if (responseCode.code === 200) {", + " tests[\"Status code is 200\"] = responseCode.code === 200;", + " }", + "", + "var jsonData = JSON.parse(responseBody);", + "for (var i = 0; i < jsonData[\"service-subscription\"].length; i++) { ", + " if (jsonData[\"service-subscription\"][i][\"service-type\"] === postman.getGlobalVariable(\"service\")) {", + " relation_found = true;", + " }", + "}", + "", + "if (relation_found === false) {", + " tests[postman.getGlobalVariable(\"tenant_name\")+\" / \"+postman.getGlobalVariable(\"service\")+ \" relation does not exists\"] = true;", + "}", + "", + "else {", + " tests[postman.getGlobalVariable(\"tenant_name\")+\" / \"+postman.getGlobalVariable(\"service\")+ \" already exists, we skip relation creation\"] = true;", + " postman.setNextRequest(\"check customer-service-tenant relation creation\");", + "}", + "}" + ] + } + } + ], + "request": { + "url": { + "raw": "{{url-aai}}/aai/v14/business/customers/customer/{{customer_name}}/service-subscriptions?depth=all", + "host": [ + "{{url-aai}}" + ], + "path": [ + "aai", + "v14", + "business", + "customers", + "customer", + "{{customer_name}}", + "service-subscriptions" + ], + "query": [ + { + "key": "depth", + "value": "all", + "equals": true, + "description": "" + } + ], + "variable": [] + }, + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic QUFJOkFBSQ==", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "AAI", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"global-customer-id\": \"Sina\",\r\n \"subscriber-name\": \"Sina\",\r\n \"subscriber-type\": \"INFRA\"\r\n}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "Add customer-service-tenant relations init", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 201\"] = responseCode.code === 201;" + ] + } + } + ], + "request": { + "url": { + "raw": "{{url-aai}}/aai/v14/business/customers/customer/{{customer_name}}/service-subscriptions/service-subscription/{{service}}?resource-version={{auto_service_resource_version}}", + "host": [ + "{{url-aai}}" + ], + "path": [ + "aai", + "v14", + "business", + "customers", + "customer", + "{{customer_name}}", + "service-subscriptions", + "service-subscription", + "{{service}}" + ], + "query": [ + { + "key": "resource-version", + "value": "{{auto_service_resource_version}}", + "equals": true, + "description": "" + } + ], + "variable": [] + }, + "method": "PUT", + "header": [ + { + "key": "Authorization", + "value": "Basic QUFJOkFBSQ==", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "AAI", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n\t\"service-type\": \"{{service}}\",\r\n\t\"relationship-list\": {\r\n\t\t\"relationship\": [{\r\n\t\t\t\"related-to\": \"tenant\",\r\n\t\t\t\"related-link\": \"https://aai.api.simpledemo.onap.org:8443/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/{{cloud_owner_name}}/{{cloud_region_id}}/tenants/tenant/{{tenant_id}}\",\r\n\t\t\t\"relationship-data\": [{\r\n\t\t\t\t\t\"relationship-key\": \"cloud-region.cloud-owner\",\r\n\t\t\t\t\t\"relationship-value\": \"{{cloud_owner_name}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"relationship-key\": \"cloud-region.cloud-region-id\",\r\n\t\t\t\t\t\"relationship-value\": \"{{cloud_region_id}}\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"relationship-key\": \"tenant.tenant-id\",\r\n\t\t\t\t\t\"relationship-value\": \"{{tenant_id}}\"\r\n\t\t\t\t}\r\n\t\t\t],\r\n\t\t\t\"related-to-property\": [{\r\n\t\t\t\t\"property-key\": \"tenant.tenant-name\",\r\n\t\t\t\t\"property-value\": \"{{tenant_name}}\"\r\n\t\t\t}]\r\n\t\t}]\r\n\t}\r\n}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "check customer-service-tenant relation creation", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "var service_found = false;", + "for (var i = 0; i < jsonData[\"service-subscription\"].length; i++) { ", + " if (jsonData[\"service-subscription\"][i][\"service-type\"] === postman.getGlobalVariable(\"service\")) {", + " service_found = true;", + " }", + "}", + "tests[postman.getGlobalVariable(\"service\")+\" found\"] = service_found === true;", + "" + ] + } + } + ], + "request": { + "url": { + "raw": "{{url-aai}}/aai/v14/business/customers/customer/{{customer_name}}/service-subscriptions?depth=all", + "host": [ + "{{url-aai}}" + ], + "path": [ + "aai", + "v14", + "business", + "customers", + "customer", + "{{customer_name}}", + "service-subscriptions" + ], + "query": [ + { + "key": "depth", + "value": "all", + "equals": true, + "description": "" + } + ], + "variable": [] + }, + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic QUFJOkFBSQ==", + "description": "" + }, + { + "key": "X-FromAppId", + "value": "AAI", + "description": "" + }, + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "key": "X-TransactionId", + "value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"global-customer-id\": \"Sina\",\r\n \"subscriber-name\": \"Sina\",\r\n \"subscriber-type\": \"INFRA\"\r\n}" + }, + "description": "" + }, + "response": [] + } + ] +} \ No newline at end of file diff --git a/test/postman/10_Service Order.postman_collection.json b/test/postman/10_Service Order.postman_collection.json new file mode 100644 index 000000000..f29ee22e3 --- /dev/null +++ b/test/postman/10_Service Order.postman_collection.json @@ -0,0 +1,494 @@ +{ + "variables": [], + "info": { + "name": "10_Service Order", + "_postman_id": "28bdf2bb-4886-b8e7-45e3-eac832efc757", + "description": "", + "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json" + }, + "item": [ + { + "name": "GET ExternalAPI-NBI component Status (HealthCheck)", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "", + "var jsonData = JSON.parse(responseBody);", + "tests[\"status\"] = jsonData.status === \"ok\";" + ] + } + } + ], + "request": { + "url": "{{url-nbi}}/nbi/api/v3/status", + "method": "GET", + "header": [], + "body": {}, + "description": "" + }, + "response": [] + }, + { + "name": "GET all service models from Service Catalog API", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "var service_found = false;", + "for (var i = 0; i < jsonData.length; i++) { ", + " if (jsonData[i].name === postman.getGlobalVariable(\"service\")) {", + " service_found = true;", + " postman.setGlobalVariable(\"auto_service_id\", \"\"+jsonData[i].id+\"\");", + " }", + "}", + "tests[postman.getGlobalVariable(\"service\")+\" exists\"] = service_found === true;", + "" + ] + } + } + ], + "request": { + "url": "{{url-nbi}}/nbi/api/v3/serviceSpecification", + "method": "GET", + "header": [], + "body": {}, + "description": "" + }, + "response": [] + }, + { + "name": "GET all service instances via ServiceInventory API", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "var service_instance_found = false;", + "for (var i = 0; i < jsonData.length; i++) { ", + " if (jsonData[i].name === postman.getGlobalVariable(\"service_instance_name\")) {", + " service_instance_found = true;", + " }", + "}", + "tests[postman.getGlobalVariable(\"service_instance_name\")+\" does not exist\"] = service_instance_found === false;" + ] + } + } + ], + "request": { + "url": { + "raw": "{{url-nbi}}/nbi/api/v3/service?relatedParty.id={{customer_name}}", + "host": [ + "{{url-nbi}}" + ], + "path": [ + "nbi", + "api", + "v3", + "service" + ], + "query": [ + { + "key": "relatedParty.id", + "value": "{{customer_name}}", + "equals": true, + "description": "" + } + ], + "variable": [] + }, + "method": "GET", + "header": [], + "body": {}, + "description": "" + }, + "response": [] + }, + { + "name": "Add service instance via ServiceOrder API", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 201\"] = responseCode.code === 201;", + "", + "var jsonData = JSON.parse(responseBody);", + "tests[postman.getGlobalVariable(\"externalId\")+\" exists\"] = jsonData.externalId === postman.getGlobalVariable(\"externalId\");", + "", + "postman.setGlobalVariable(\"auto_service_order_id\", jsonData.id);", + " " + ] + } + } + ], + "request": { + "url": "{{url-nbi}}/nbi/api/v3/serviceOrder", + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"externalId\": \"{{externalId}}\",\n \"priority\": \"1\",\n \"description\": \"{{service}} order for generic customer via Postman\",\n \"category\": \"Consumer\",\n \"requestedStartDate\": \"2018-04-26T08:33:37.299Z\",\n \"requestedCompletionDate\": \"2018-04-26T08:33:37.299Z\",\n \"relatedParty\": [\n {\n \"id\": \"{{customer_name}}\",\n \"role\": \"ONAPcustomer\",\n \"name\": \"{{customer_name}}\"\n }\n ],\n \"orderItem\": [\n {\n \"id\": \"1\",\n \"action\": \"add\",\n \"service\": {\n \"name\": \"{{service_instance_name}}\",\n \"serviceState\": \"active\",\n \"serviceSpecification\": {\n \"id\": \"{{auto_service_id}}\"\n }\n }\n }\n ]\n}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "GET previous serviceOrder", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "", + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "", + "tests[postman.getGlobalVariable(\"externalId\")+\" exists\"] = jsonData.externalId === postman.getGlobalVariable(\"externalId\");", + "tests[\"service_order_id exists\"] = jsonData.id === postman.getGlobalVariable(\"auto_service_order_id\");", + "tests[\"service Order state is COMPLETED\"] = jsonData.state === \"COMPLETED\";", + "tests[\"Service Instance state is ACTIVE\"] = jsonData.orderItem[0].service.serviceState === \"active\";", + "postman.setGlobalVariable(\"auto_service_instance_id\", \"\"+jsonData.orderItem[0].service.id+\"\");", + "" + ] + } + } + ], + "request": { + "url": "{{url-nbi}}/nbi/api/v3/serviceOrder/{{auto_service_order_id}}", + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"externalId\": \"NBI-SO002\",\n \"priority\": \"1\",\n \"description\": \"Firevall service ordering on customer not specified - added to generic customer\",\n \"category\": \"Consumer\",\n \"requestedStartDate\": \"2018-02-28T13:33:37.299Z\",\n \"requestedCompletionDate\": \"2018-02-28T13:33:37.299Z\",\n \"orderItem\": [\n {\n \"id\": \"1\",\n \"action\": \"add\",\n \"service\": {\n \"id\": \"vFW0002\",\n \"serviceState\": \"active\",\n \"serviceSpecification\": {\n \"id\": \"ff3c8594-499e-445c-8d14-758231f47799\"\n }\n }\n }\n ]\n}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "GET created service instance in inventory", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "", + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "", + "" + ] + } + } + ], + "request": { + "url": { + "raw": "{{url-nbi}}/nbi/api/v3/service/{{auto_service_instance_id}}?relatedParty.id={{customer_name}}&serviceSpecification.name={{service}}", + "host": [ + "{{url-nbi}}" + ], + "path": [ + "nbi", + "api", + "v3", + "service", + "{{auto_service_instance_id}}" + ], + "query": [ + { + "key": "relatedParty.id", + "value": "{{customer_name}}", + "equals": true, + "description": "" + }, + { + "key": "serviceSpecification.name", + "value": "{{service}}", + "equals": true, + "description": "" + } + ], + "variable": [] + }, + "method": "GET", + "header": [], + "body": {}, + "description": "" + }, + "response": [] + }, + { + "name": "Delete service Instance via ServiceOrder API", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 201\"] = responseCode.code === 201;", + "", + "var jsonData = JSON.parse(responseBody);", + "postman.setGlobalVariable(\"auto_service_order_id\", jsonData.id);", + "", + "", + "", + "" + ] + } + } + ], + "request": { + "url": "{{url-nbi}}/nbi/api/v3/serviceOrder", + "method": "POST", + "header": [ + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"externalId\": \"{{externalId}}\",\n \"priority\": \"1\",\n \"description\": \"{{service}} ordering on generic customer via Postman\",\n \"category\": \"Consumer\",\n \"requestedStartDate\": \"2018-04-26T08:33:37.299Z\",\n \"requestedCompletionDate\": \"2018-04-26T08:33:37.299Z\",\n \"relatedParty\": [\n {\n \"id\": \"{{customer_name}}\",\n \"role\": \"ONAPcustomer\",\n \"name\": \"{{customer_name}}\"\n }\n ],\n \"orderItem\": [\n {\n \"id\": \"1\",\n \"action\": \"delete\",\n \"service\": {\n \"id\": \"{{auto_service_instance_id}}\",\n \"serviceState\": \"active\",\n \"serviceSpecification\": {\n \"id\": \"{{auto_service_id}}\"\n }\n }\n }\n ]\n}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "DELAY 10s", + "request": { + "url": "https://postman-echo.com/delay/10", + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "" + }, + "description": "" + }, + "response": [] + }, + { + "name": "GET previous serviceOrder", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "", + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "", + "tests[postman.getGlobalVariable(\"externalId\")+\" exists\"] = jsonData.externalId === postman.getGlobalVariable(\"externalId\");", + "tests[\"service_order_id exists\"] = jsonData.id === postman.getGlobalVariable(\"auto_service_order_id\");", + "tests[\"service Order state is COMPLETED\"] = jsonData.state === \"COMPLETED\";", + "tests[\"Service Instance state is ACTIVE\"] = jsonData.orderItem[0].service.serviceState === \"active\";", + "postman.setGlobalVariable(\"auto_service_instance_id\", \"\"+jsonData.orderItem[0].service.id+\"\");", + "" + ] + } + } + ], + "request": { + "url": "{{url-nbi}}/nbi/api/v3/serviceOrder/{{auto_service_order_id}}", + "method": "GET", + "header": [ + { + "key": "Accept", + "value": "application/json", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"externalId\": \"NBI-SO002\",\n \"priority\": \"1\",\n \"description\": \"Firevall service ordering on customer not specified - added to generic customer\",\n \"category\": \"Consumer\",\n \"requestedStartDate\": \"2018-02-28T13:33:37.299Z\",\n \"requestedCompletionDate\": \"2018-02-28T13:33:37.299Z\",\n \"orderItem\": [\n {\n \"id\": \"1\",\n \"action\": \"add\",\n \"service\": {\n \"id\": \"vFW0002\",\n \"serviceState\": \"active\",\n \"serviceSpecification\": {\n \"id\": \"ff3c8594-499e-445c-8d14-758231f47799\"\n }\n }\n }\n ]\n}" + }, + "description": "" + }, + "response": [] + }, + { + "name": "GET service instance in inventory (should no longer exists)", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "", + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "", + "" + ] + } + } + ], + "request": { + "url": { + "raw": "{{url-nbi}}/nbi/api/v3/service/{{auto_service_instance_id}}?relatedParty.id={{customer_name}}&serviceSpecification.name={{service}}", + "host": [ + "{{url-nbi}}" + ], + "path": [ + "nbi", + "api", + "v3", + "service", + "{{auto_service_instance_id}}" + ], + "query": [ + { + "key": "relatedParty.id", + "value": "{{customer_name}}", + "equals": true, + "description": "" + }, + { + "key": "serviceSpecification.name", + "value": "{{service}}", + "equals": true, + "description": "" + } + ], + "variable": [] + }, + "method": "GET", + "header": [], + "body": {}, + "description": "" + }, + "response": [] + }, + { + "name": "GET all service instance via ServiceInventory API", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "", + "", + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "", + "var jsonData = JSON.parse(responseBody);", + "var service_instance_found = false;", + "for (var i = 0; i < jsonData.length; i++) { ", + " if (jsonData[i].name === postman.getGlobalVariable(\"service_instance_name\")) {", + " service_instance_found = true;", + " }", + "}", + "tests[postman.getGlobalVariable(\"service_instance_name\")+\" does not exist\"] = service_instance_found === false;" + ] + } + } + ], + "request": { + "url": { + "raw": "{{url-nbi}}/nbi/api/v3/service?relatedParty.id={{customer_name}}", + "host": [ + "{{url-nbi}}" + ], + "path": [ + "nbi", + "api", + "v3", + "service" + ], + "query": [ + { + "key": "relatedParty.id", + "value": "{{customer_name}}", + "equals": true, + "description": "" + } + ], + "variable": [] + }, + "method": "GET", + "header": [], + "body": {}, + "description": "" + }, + "response": [] + }, + { + "name": "GET hubs", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "" + ] + } + } + ], + "request": { + "url": "{{url-nbi}}/nbi/api/v3/hub", + "method": "GET", + "header": [], + "body": {}, + "description": "" + }, + "response": [] + } + ] +} \ No newline at end of file diff --git a/test/postman/globals.postman_globals.json b/test/postman/globals.postman_globals.json new file mode 100644 index 000000000..d8040d69b --- /dev/null +++ b/test/postman/globals.postman_globals.json @@ -0,0 +1,233 @@ +{ + "id": "840dff41-02b1-d25c-166d-2d2e34f090de", + "name": "Postman Globals", + "values": [ + { + "key": "service", + "value": "integration_test_freeradius", + "type": "text", + "enabled": true + }, + { + "key": "vf_name", + "value": "integration_test_VF_freeradius", + "type": "text", + "enabled": true + }, + { + "key": "vsp_name", + "value": "integration_test_VSP", + "type": "text", + "enabled": true + }, + { + "key": "vendor_name", + "value": "onap_integration_vendor", + "type": "text", + "enabled": true + }, + { + "key": "owning_entity", + "value": "integration_test_OE", + "type": "text", + "enabled": true + }, + { + "key": "platform", + "value": "integration_test_platform", + "type": "text", + "enabled": true + }, + { + "key": "project", + "value": "integration_test_project", + "type": "text", + "enabled": true + }, + { + "key": "lineofbusiness", + "value": "integration_test_LOB", + "type": "text", + "enabled": true + }, + { + "key": "customer_name", + "value": "integration_test_customer", + "description": "", + "type": "text", + "enabled": true + }, + { + "key": "cloud_owner_name", + "value": "CloudOwner", + "description": "", + "type": "text", + "enabled": true + }, + { + "key": "cloud_region_id", + "value": "RegionOne", + "description": "", + "type": "text", + "enabled": true + }, + { + "key": "tenant_name", + "value": "openlab-vnfs", + "description": "", + "type": "text", + "enabled": true + }, + { + "key": "tenant_id", + "value": "900c4b62bccf4b11a21e3ac92ff8fc65", + "description": "", + "type": "text", + "enabled": true + }, + { + "key": "externalId", + "value": "integration_test_BSS-001", + "description": "", + "type": "text", + "enabled": true + }, + { + "key": "service_instance_name", + "value": "integration_test_freeradius_instance_001", + "description": "", + "type": "text", + "enabled": true + }, + { + "key": "listener_url", + "value": "http://10.4.2.65:8080/externalapi/listener/v1/listener", + "description": "", + "type": "text", + "enabled": true + }, + { + "key": "auto_vendor_version_id", + "value": "", + "type": "text", + "enabled": true + }, + { + "key": "auto_vendor_id", + "value": "", + "type": "text", + "enabled": true + }, + { + "key": "auto_vsp_id", + "value": "", + "type": "text", + "enabled": true + }, + { + "key": "auto_vsp_version_id", + "value": "", + "type": "text", + "enabled": true + }, + { + "key": "auto_vsp_version_name", + "value": "", + "type": "text", + "enabled": true + }, + { + "key": "auto_vf_invariant_uuid", + "value": "", + "type": "text", + "enabled": true + }, + { + "key": "auto_vf_uuid", + "value": "", + "type": "text", + "enabled": true + }, + { + "key": "auto_vf_unique_id", + "value": "", + "type": "text", + "enabled": true + }, + { + "key": "auto_vf_new_unique_id", + "value": "", + "type": "text", + "enabled": true + }, + { + "key": "auto_service_uuid", + "value": "", + "type": "text", + "enabled": true + }, + { + "key": "auto_service_unique_id", + "value": "", + "type": "text", + "enabled": true + }, + { + "key": "auto_service_invariant_uuid", + "value": "", + "type": "text", + "enabled": true + }, + { + "key": "auto_service_invariantUUID", + "type": "text", + "value": "", + "enabled": true + }, + { + "key": "auto_service_resource_version", + "type": "text", + "value": "", + "enabled": true + }, + { + "key": "auto_distribution_id", + "type": "text", + "value": "", + "enabled": true + }, + { + "key": "auto_customer_id", + "type": "text", + "value": "", + "enabled": true + }, + { + "key": "auto_service_new_unique_id", + "type": "text", + "value": "", + "enabled": true + }, + { + "key": "auto_service_id", + "type": "text", + "value": "", + "enabled": true + }, + { + "key": "auto_service_order_id", + "type": "text", + "value": "", + "enabled": true + }, + { + "key": "auto_service_instance_id", + "type": "text", + "value": "", + "enabled": true + } + ], + "_postman_variable_scope": "globals", + "_postman_exported_at": "2019-01-24T16:48:52.023Z", + "_postman_exported_using": "Postman/5.5.4" +} \ No newline at end of file diff --git a/test/postman/integration_test_urls.postman_environment.json b/test/postman/integration_test_urls.postman_environment.json new file mode 100644 index 000000000..9f84f9c9c --- /dev/null +++ b/test/postman/integration_test_urls.postman_environment.json @@ -0,0 +1,52 @@ +{ + "id": "271086b7-3875-26c5-08c0-3ad9b521c3f7", + "name": "integration_test_urls", + "values": [ + { + "enabled": true, + "key": "url-sdc", + "value": "sdc.api.fe.simpledemo.onap.org:30205", + "type": "text" + }, + { + "enabled": true, + "key": "url-sdc2", + "value": "sdc.api.fe.simpledemo.onap.org:30206", + "type": "text" + }, + { + "enabled": true, + "key": "url-vid", + "value": "vid.api.simpledemo.onap.org:30238", + "type": "text" + }, + { + "enabled": true, + "key": "url-aai", + "value": "https://aai.api.sparky.simpledemo.onap.org:30233", + "type": "text" + }, + { + "enabled": true, + "key": "url-sdnc", + "value": "sdnc.api.simpledemo.onap.org:30202", + "type": "text" + }, + { + "enabled": true, + "key": "url-nbi", + "value": "nbi.api.simpledemo.onap.org:30274", + "type": "text" + }, + { + "enabled": true, + "key": "url-so", + "value": "so.api.simpledemo.onap.org:30277", + "type": "text" + } + ], + "timestamp": 1548341543962, + "_postman_variable_scope": "environment", + "_postman_exported_at": "2019-01-24T16:48:43.039Z", + "_postman_exported_using": "Postman/5.5.4" +} \ No newline at end of file -- cgit 1.2.3-korg