diff --git a/test/postman/01_Onboard_Vendor.postman_collection.json b/test/postman/01_Onboard_Vendor.postman_collection.json
index dfa0aad..123f5f5 100644
--- a/test/postman/01_Onboard_Vendor.postman_collection.json
+++ b/test/postman/01_Onboard_Vendor.postman_collection.json
@@ -1,10 +1,9 @@
 {
-	"variables": [],
 	"info": {
+		"_postman_id": "fa388fc9-15ed-4e6c-8c47-96fdc4ac7f12",
 		"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"
+		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
 	},
 	"item": [
 		{
@@ -13,66 +12,77 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "2249b072-2689-45f3-87ea-a75da5802752",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
 							"",
-							"var jsonData = JSON.parse(responseBody);",
+							"var jsonData = pm.response.json();",
+							"",
 							"var vendor_found = false;",
 							"for (var i = 0; i < jsonData.results.length; i++) { ",
-							"   if (jsonData.results[i][\"name\"] === postman.getGlobalVariable(\"vendor_name\")) {",
+							"   if (jsonData.results[i].name === pm.globals.get(\"vendor_name\")) {",
 							"       vendor_found = true;",
-							"       postman.setGlobalVariable(\"auto_vendor_id\", \"\"+jsonData.results[i][\"id\"]+\"\");",
+							"       pm.globals.set(\"auto_vendor_id\", \"\"+jsonData.results[i].id+\"\");",
 							"   }",
 							"}",
 							"if (vendor_found === false) {",
-							"    tests[postman.getGlobalVariable(\"vendor_name\")+\" does not exists\"] = true;",
+							"    tests[pm.globals.get(\"vendor_name\")+\" not yet declared\"] = true;",
 							"}",
 							"",
 							"else {",
-							"    tests[postman.getGlobalVariable(\"vendor_name\")+\" already exists, we stop the run\"] = true;",
+							"    tests[pm.globals.get(\"vendor_name\")+\" already exists, we stop the run\"] = false;",
 							"    postman.setNextRequest(null);",
 							"}",
+							"",
 							""
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-license-models",
 				"method": "GET",
 				"header": [
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a",
-						"description": ""
+						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a"
 					},
 					{
 						"key": "USER_ID",
-						"value": "cs0008",
-						"description": ""
+						"value": "cs0008"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "robot-ete",
-						"description": ""
+						"value": "robot-ete"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\"iconRef\": \"icon\", \"vendorName\": \"test-api-license-model\", \"description\": \"vendor license model\"}"
+					"raw": ""
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-license-models",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"onboarding-api",
+						"v1.0",
+						"vendor-license-models"
+					]
+				}
 			},
 			"response": []
 		},
@@ -82,55 +92,64 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "80c1d190-d480-4150-ae91-8ce4111c0f9d",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
 							"",
-							"var jsonData = JSON.parse(responseBody);",
-							"postman.setGlobalVariable(\"auto_vendor_id\", \"\"+jsonData[\"itemId\"]+\"\");",
-							"postman.setGlobalVariable(\"auto_vendor_version_id\", \"\"+jsonData[\"version\"][\"id\"]+\"\");",
+							"var jsonData = pm.response.json();",
 							"",
-							"var jsonData = JSON.parse(responseBody);",
-							"tests[\"Vendor version is in Draft status\"] = jsonData[\"version\"][\"status\"] === \"Draft\";"
-						]
+							"pm.globals.set(\"auto_vendor_id\", \"\"+jsonData.itemId+\"\");",
+							"pm.globals.set(\"auto_vendor_version_id\", \"\"+jsonData.version.id+\"\");",
+							"",
+							"tests[\"Vendor status is : \"+jsonData.version.status] = jsonData.version.status === \"Draft\";"
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-license-models",
 				"method": "POST",
 				"header": [
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a",
-						"description": ""
+						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a"
 					},
 					{
 						"key": "USER_ID",
-						"value": "cs0008",
-						"description": ""
+						"value": "cs0008"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "robot-ete",
-						"description": ""
+						"value": "robot-ete"
 					}
 				],
 				"body": {
 					"mode": "raw",
 					"raw": "{\r\n  \"iconRef\": \"icon\",\r\n  \"vendorName\": \"{{vendor_name}}\",\r\n  \"description\": \"Vendor\"\r\n}"
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-license-models",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"onboarding-api",
+						"v1.0",
+						"vendor-license-models"
+					]
+				}
 			},
 			"response": []
 		},
@@ -140,116 +159,71 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "aa6fd7c5-c941-43ce-8300-a492c2d62a6c",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
 							"",
-							"var jsonData = JSON.parse(responseBody);",
+							"var jsonData = pm.response.json();",
+							"",
 							"var vendor_found = false;",
 							"for (var i = 0; i < jsonData.results.length; i++) { ",
-							"   if (jsonData.results[i][\"name\"] === postman.getGlobalVariable(\"vendor_name\")) {",
+							"   if (jsonData.results[i].name === pm.globals.get(\"vendor_name\")) {",
 							"       vendor_found = true;",
-							"       postman.setGlobalVariable(\"auto_vendor_id\", \"\"+jsonData.results[i][\"id\"]+\"\");",
+							"       pm.globals.set(\"auto_vendor_id\", \"\"+jsonData.results[i].id+\"\");",
 							"   }",
 							"}",
-							"tests[postman.getGlobalVariable(\"vendor_name\")+\" found\"] = vendor_found === true;",
+							"tests[pm.globals.get(\"vendor_name\")+\" found\"] = vendor_found === vendor_found;",
 							"",
 							"",
 							""
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-license-models",
 				"method": "GET",
 				"header": [
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a",
-						"description": ""
+						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a"
 					},
 					{
 						"key": "USER_ID",
-						"value": "cs0008",
-						"description": ""
+						"value": "cs0008"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "robot-ete",
-						"description": ""
+						"value": "robot-ete"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\"iconRef\": \"icon\", \"vendorName\": \"test-api-license-model\", \"description\": \"vendor license model\"}"
+					"raw": ""
 				},
-				"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;",
-							"",
-							"",
-							"",
-							""
-						]
-					}
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-license-models",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"onboarding-api",
+						"v1.0",
+						"vendor-license-models"
+					]
 				}
-			],
-			"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": []
 		},
@@ -259,105 +233,62 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "db905800-2754-491a-9d78-1ffebc12fb18",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
-							"",
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
 							""
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"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": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a",
-						"description": ""
+						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a"
 					},
 					{
 						"key": "USER_ID",
-						"value": "cs0008",
-						"description": ""
+						"value": "cs0008"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "robot-ete",
-						"description": ""
+						"value": "robot-ete"
 					}
 				],
 				"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;",
-							"",
-							"",
-							"",
-							""
-						]
-					}
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-license-models/{{auto_vendor_id}}/versions/{{auto_vendor_version_id}}/actions",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"onboarding-api",
+						"v1.0",
+						"vendor-license-models",
+						"{{auto_vendor_id}}",
+						"versions",
+						"{{auto_vendor_version_id}}",
+						"actions"
+					]
 				}
-			],
-			"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": []
 		},
@@ -367,53 +298,65 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "f9003c80-add1-4581-9a9d-661972f7d6d5",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
 							"",
-							"var jsonData = JSON.parse(responseBody);",
+							"var jsonData = pm.response.json();",
 							"",
-							"tests[\"Vendor version is in Draft status\"] = jsonData[\"status\"] === \"Certified\";",
+							"tests[\"Vendor is : \"+jsonData.status] = jsonData.status === \"Certified\";",
 							""
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"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": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a",
-						"description": ""
+						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a"
 					},
 					{
 						"key": "USER_ID",
-						"value": "cs0008",
-						"description": ""
+						"value": "cs0008"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "robot-ete",
-						"description": ""
+						"value": "robot-ete"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\"iconRef\": \"icon\", \"vendorName\": \"test-api-license-model\", \"description\": \"vendor license model\"}"
+					"raw": ""
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/items/{{auto_vendor_id}}/versions/{{auto_vendor_version_id}}",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"onboarding-api",
+						"v1.0",
+						"items",
+						"{{auto_vendor_id}}",
+						"versions",
+						"{{auto_vendor_version_id}}"
+					]
+				}
 			},
 			"response": []
 		}
diff --git a/test/postman/02_Onboard_VSP_part1.postman_collection.json b/test/postman/02_Onboard_VSP_part1.postman_collection.json
index 207d35a..557b557 100644
--- a/test/postman/02_Onboard_VSP_part1.postman_collection.json
+++ b/test/postman/02_Onboard_VSP_part1.postman_collection.json
@@ -1,10 +1,8 @@
 {
-	"variables": [],
 	"info": {
+		"_postman_id": "e226e82c-74b6-42bc-a1e9-1168b860a234",
 		"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"
+		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
 	},
 	"item": [
 		{
@@ -13,65 +11,74 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "dc866867-2909-4844-9072-01c9e2e4e856",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
 							"",
-							"var jsonData = JSON.parse(responseBody);",
+							"var jsonData = pm.response.json();",
 							"var vsp_found = false;",
-							"for (var i = 0; i < jsonData['results'].length; i++) { ",
-							"   if (jsonData['results'][i].name === postman.getGlobalVariable(\"vsp_name\")) {",
+							"for (var i = 0; i < jsonData.results.length; i++) { ",
+							"   if (jsonData.results[i].name === pm.globals.get(\"vsp_name\")) {",
 							"       vsp_found = true;",
 							"   }",
 							"}",
 							"",
 							"if (vsp_found === false) {",
-							"    tests[postman.getGlobalVariable(\"vsp_name\")+\" does not exists, we continue\"] = true;",
+							"    tests[pm.globals.get(\"vsp_name\")+\" does not yet exist, we continue\"] = true;",
 							"}",
 							"",
 							"else {",
-							"    tests[postman.getGlobalVariable(\"vsp_name\")+\" already exists, we stop the run\"] = true;",
+							"    tests[pm.globals.get(\"vsp_name\")+\" already exists, we stop the run\"] = false;",
 							"    postman.setNextRequest(null);",
 							"}"
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-software-products",
 				"method": "GET",
 				"header": [
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a",
-						"description": ""
+						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a"
 					},
 					{
 						"key": "USER_ID",
-						"value": "cs0008",
-						"description": ""
+						"value": "cs0008"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "robot-ete",
-						"description": ""
+						"value": "robot-ete"
 					}
 				],
 				"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\"}"
+					"raw": ""
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-software-products",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"onboarding-api",
+						"v1.0",
+						"vendor-software-products"
+					]
+				}
 			},
 			"response": []
 		},
@@ -81,68 +88,78 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "dbd0ea7f-5f66-4431-8a51-2e5d757647a0",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
 							"",
-							"var jsonData = JSON.parse(responseBody);",
+							"",
+							"var jsonData = pm.response.json();",
 							"var vendor_found = false;",
 							"for (var i = 0; i < jsonData.results.length; i++) { ",
-							"   if (jsonData.results[i][\"name\"] === postman.getGlobalVariable(\"vendor_name\")) {",
+							"   if (jsonData.results[i].name === pm.globals.get(\"vendor_name\")) {",
 							"       vendor_found = true;",
-							"       postman.setGlobalVariable(\"auto_vendor_id\", \"\"+jsonData.results[i][\"id\"]+\"\");",
+							"       pm.globals.set(\"auto_vendor_id\", \"\"+jsonData.results[i].id+\"\");",
 							"   }",
 							"}",
 							"if (vendor_found === false) {",
-							"    tests[postman.getGlobalVariable(\"vendor_name\")+\" does not exists : we stop the run\"] = false;",
+							"    tests[pm.globals.get(\"vendor_name\")+\" does not exists : we stop the run\"] = false;",
 							"    postman.setNextRequest(null);",
 							"}",
 							"",
 							"else {",
-							"    tests[postman.getGlobalVariable(\"vendor_name\")+\" exists\"] = true;",
+							"    tests[pm.globals.get(\"vendor_name\")+\" exists\"] = true;",
 							"}",
 							"",
 							"",
 							""
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-license-models",
 				"method": "GET",
 				"header": [
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a",
-						"description": ""
+						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a"
 					},
 					{
 						"key": "USER_ID",
-						"value": "cs0008",
-						"description": ""
+						"value": "cs0008"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "robot-ete",
-						"description": ""
+						"value": "robot-ete"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\"iconRef\": \"icon\", \"vendorName\": \"test-api-license-model\", \"description\": \"vendor license model\"}"
+					"raw": ""
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-license-models",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"onboarding-api",
+						"v1.0",
+						"vendor-license-models"
+					]
+				}
 			},
 			"response": []
 		},
@@ -152,119 +169,127 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "739f040c-f4b1-4790-bfce-4f5dae60b637",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(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\"]+\"\");",
+							"var jsonData = pm.response.json();",
+							"pm.globals.set(\"auto_vsp_id\", \"\"+jsonData.itemId+\"\");",
+							"pm.globals.set(\"auto_vsp_version_id\", \"\"+jsonData.version.id+\"\");",
+							"pm.globals.set(\"auto_vsp_version_name\", \"\"+jsonData.version.name+\"\");",
 							"",
-							"tests[\"Vendor version is in Draft status\"] = jsonData[\"version\"][\"status\"] === \"Draft\";"
-						]
+							"tests[\"VSP version is : \"+jsonData.version.status] = jsonData.version.status === \"Draft\";"
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-software-products",
 				"method": "POST",
 				"header": [
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a",
-						"description": ""
+						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a"
 					},
 					{
 						"key": "USER_ID",
-						"value": "cs0008",
-						"description": ""
+						"value": "cs0008"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "robot-ete",
-						"description": ""
+						"value": "robot-ete"
 					}
 				],
 				"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": ""
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-software-products",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"onboarding-api",
+						"v1.0",
+						"vendor-software-products"
+					]
+				}
 			},
 			"response": [
 				{
-					"id": "ca88aaf4-ec1b-4d75-8834-85c628a10c50",
 					"name": "Create Vendor Software Product",
 					"originalRequest": {
-						"url": "",
+						"method": "GET",
 						"header": [],
 						"body": {
 							"mode": "raw",
 							"raw": ""
 						},
-						"description": ""
+						"url": {
+							"raw": ""
+						}
 					},
 					"status": "OK",
 					"code": 200,
 					"_postman_previewlanguage": "json",
-					"_postman_previewtype": "text",
 					"header": [
 						{
-							"name": "access-control-allow-credentials",
 							"key": "access-control-allow-credentials",
 							"value": "true",
+							"name": "access-control-allow-credentials",
 							"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",
+							"name": "access-control-allow-origin",
 							"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": "",
+							"name": "access-control-expose-headers",
 							"description": "Lets a server whitelist headers that browsers are allowed to access."
 						},
 						{
-							"name": "content-type",
 							"key": "content-type",
 							"value": "application/json",
+							"name": "content-type",
 							"description": "The mime type of this content"
 						},
 						{
-							"name": "date",
 							"key": "date",
 							"value": "Wed, 06 Jun 2018 15:02:46 GMT",
+							"name": "date",
 							"description": "The date and time that the message was sent"
 						},
 						{
-							"name": "server",
 							"key": "server",
 							"value": "Jetty(9.3.21.v20170918)",
+							"name": "server",
 							"description": "A name for the server"
 						},
 						{
-							"name": "transfer-encoding",
 							"key": "transfer-encoding",
 							"value": "chunked",
+							"name": "transfer-encoding",
 							"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\"}"
 				}
 			]
@@ -275,48 +300,59 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "5e55115d-c797-4b34-bfaf-d2af24d62c01",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;"
-						]
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});"
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"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": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a",
-						"description": ""
+						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a"
 					},
 					{
 						"key": "USER_ID",
-						"value": "cs0008",
-						"description": ""
+						"value": "cs0008"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "robot-ete",
-						"description": ""
+						"value": "robot-ete"
 					}
 				],
 				"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\"}"
+					"raw": ""
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/items/{{auto_vsp_id}}/versions",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"onboarding-api",
+						"v1.0",
+						"items",
+						"{{auto_vsp_id}}",
+						"versions"
+					]
+				}
 			},
 			"response": []
 		},
@@ -326,48 +362,61 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "2492d06b-4b31-4d93-aaf2-3417419c6e14",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;"
-						]
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							""
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"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": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a",
-						"description": ""
+						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a"
 					},
 					{
 						"key": "USER_ID",
-						"value": "cs0008",
-						"description": ""
+						"value": "cs0008"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "robot-ete",
-						"description": ""
+						"value": "robot-ete"
 					}
 				],
 				"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\"}"
+					"raw": ""
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/items/{{auto_vsp_id}}/versions/{{auto_vsp_version_id}}",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"onboarding-api",
+						"v1.0",
+						"items",
+						"{{auto_vsp_id}}",
+						"versions",
+						"{{auto_vsp_version_id}}"
+					]
+				}
 			},
 			"response": []
 		}
diff --git a/test/postman/03_Onboard_VSP_part2.postman_collection.json b/test/postman/03_Onboard_VSP_part2.postman_collection.json
index 5d411ea..8a5392c 100644
--- a/test/postman/03_Onboard_VSP_part2.postman_collection.json
+++ b/test/postman/03_Onboard_VSP_part2.postman_collection.json
@@ -1,10 +1,8 @@
 {
-	"variables": [],
 	"info": {
+		"_postman_id": "cbb6c6d5-bcfb-4867-b6a3-36c2b56325bb",
 		"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"
+		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
 	},
 	"item": [
 		{
@@ -13,49 +11,46 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "033f8cad-de66-4de9-8858-f3c72629c838",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
 							"",
-							"var jsonData = JSON.parse(responseBody);",
+							"var jsonData = pm.response.json();",
 							"",
 							"if (jsonData.status === \"Success\") {",
 							"    tests[\"Upload Success\"] = true;   ",
 							"}",
 							"",
 							""
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"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": ""
+						"value": "multipart/form-data"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a",
-						"description": ""
+						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a"
 					},
 					{
 						"key": "USER_ID",
-						"value": "cs0008",
-						"description": ""
+						"value": "cs0008"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "robot-ete",
-						"description": ""
+						"value": "robot-ete"
 					}
 				],
 				"body": {
@@ -64,12 +59,27 @@
 						{
 							"key": "upload",
 							"type": "file",
-							"src": "ubuntu16.zip",
-							"value": ""
+							"src": ""
 						}
 					]
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-software-products/{{auto_vsp_id}}/versions/{{auto_vsp_version_id}}/orchestration-template-candidate",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"onboarding-api",
+						"v1.0",
+						"vendor-software-products",
+						"{{auto_vsp_id}}",
+						"versions",
+						"{{auto_vsp_version_id}}",
+						"orchestration-template-candidate"
+					]
+				}
 			},
 			"response": []
 		}
diff --git a/test/postman/04_Onboard_VSP_part3.postman_collection.json b/test/postman/04_Onboard_VSP_part3.postman_collection.json
index 17f0c2f..edc4204 100644
--- a/test/postman/04_Onboard_VSP_part3.postman_collection.json
+++ b/test/postman/04_Onboard_VSP_part3.postman_collection.json
@@ -1,10 +1,8 @@
 {
-	"variables": [],
 	"info": {
+		"_postman_id": "77a97519-f40d-4adf-a77b-19d680615689",
 		"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"
+		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
 	},
 	"item": [
 		{
@@ -13,112 +11,126 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "1dceb509-a7e0-426f-b6fc-c50e9e9376e3",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;"
-						]
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							""
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"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": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a",
-						"description": ""
+						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a"
 					},
 					{
 						"key": "USER_ID",
-						"value": "cs0008",
-						"description": ""
+						"value": "cs0008"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "robot-ete",
-						"description": ""
+						"value": "robot-ete"
 					}
 				],
 				"body": {
 					"mode": "raw",
 					"raw": "{}"
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-software-products/{{auto_vsp_id}}/versions/{{auto_vsp_version_id}}/orchestration-template-candidate/process",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"onboarding-api",
+						"v1.0",
+						"vendor-software-products",
+						"{{auto_vsp_id}}",
+						"versions",
+						"{{auto_vsp_version_id}}",
+						"orchestration-template-candidate",
+						"process"
+					]
+				}
 			},
 			"response": [
 				{
-					"id": "32ef77d5-fdb3-45d3-ae12-1e9a75be08bc",
 					"name": "Checkin VSP",
 					"originalRequest": {
-						"url": "",
+						"method": "GET",
 						"header": [],
 						"body": {
 							"mode": "raw",
 							"raw": ""
 						},
-						"description": ""
+						"url": {
+							"raw": ""
+						}
 					},
 					"status": "OK",
 					"code": 200,
 					"_postman_previewlanguage": "json",
-					"_postman_previewtype": "text",
 					"header": [
 						{
-							"name": "access-control-allow-credentials",
 							"key": "access-control-allow-credentials",
 							"value": "true",
+							"name": "access-control-allow-credentials",
 							"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",
+							"name": "access-control-allow-origin",
 							"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": "",
+							"name": "access-control-expose-headers",
 							"description": "Lets a server whitelist headers that browsers are allowed to access."
 						},
 						{
-							"name": "content-type",
 							"key": "content-type",
 							"value": "application/json",
+							"name": "content-type",
 							"description": "The mime type of this content"
 						},
 						{
-							"name": "date",
 							"key": "date",
 							"value": "Wed, 06 Jun 2018 16:14:24 GMT",
+							"name": "date",
 							"description": "The date and time that the message was sent"
 						},
 						{
-							"name": "server",
 							"key": "server",
 							"value": "Jetty(9.3.21.v20170918)",
+							"name": "server",
 							"description": "A name for the server"
 						},
 						{
-							"name": "transfer-encoding",
 							"key": "transfer-encoding",
 							"value": "chunked",
+							"name": "transfer-encoding",
 							"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": "{}"
 				}
 			]
@@ -129,112 +141,125 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "0f0417e6-2b03-44a4-9416-9f709077a525",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;"
-						]
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							""
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"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": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a",
-						"description": ""
+						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a"
 					},
 					{
 						"key": "USER_ID",
-						"value": "cs0008",
-						"description": ""
+						"value": "cs0008"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "robot-ete",
-						"description": ""
+						"value": "robot-ete"
 					}
 				],
 				"body": {
 					"mode": "raw",
 					"raw": "{\"action\":\"Commit\",\"commitRequest\":{\"message\":\"ok\"}}"
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/items/{{auto_vsp_id}}/versions/{{auto_vsp_version_id}}/actions",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"onboarding-api",
+						"v1.0",
+						"items",
+						"{{auto_vsp_id}}",
+						"versions",
+						"{{auto_vsp_version_id}}",
+						"actions"
+					]
+				}
 			},
 			"response": [
 				{
-					"id": "ed777560-450d-4f6c-8226-b3a7b9f8d297",
 					"name": "Checkin VSP",
 					"originalRequest": {
-						"url": "",
+						"method": "GET",
 						"header": [],
 						"body": {
 							"mode": "raw",
 							"raw": ""
 						},
-						"description": ""
+						"url": {
+							"raw": ""
+						}
 					},
 					"status": "OK",
 					"code": 200,
 					"_postman_previewlanguage": "json",
-					"_postman_previewtype": "text",
 					"header": [
 						{
-							"name": "access-control-allow-credentials",
 							"key": "access-control-allow-credentials",
 							"value": "true",
+							"name": "access-control-allow-credentials",
 							"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",
+							"name": "access-control-allow-origin",
 							"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": "",
+							"name": "access-control-expose-headers",
 							"description": "Lets a server whitelist headers that browsers are allowed to access."
 						},
 						{
-							"name": "content-type",
 							"key": "content-type",
 							"value": "application/json",
+							"name": "content-type",
 							"description": "The mime type of this content"
 						},
 						{
-							"name": "date",
 							"key": "date",
 							"value": "Wed, 06 Jun 2018 16:14:24 GMT",
+							"name": "date",
 							"description": "The date and time that the message was sent"
 						},
 						{
-							"name": "server",
 							"key": "server",
 							"value": "Jetty(9.3.21.v20170918)",
+							"name": "server",
 							"description": "A name for the server"
 						},
 						{
-							"name": "transfer-encoding",
 							"key": "transfer-encoding",
 							"value": "chunked",
+							"name": "transfer-encoding",
 							"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": "{}"
 				}
 			]
@@ -245,48 +270,62 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "78d1f69f-e8aa-47aa-a456-45496847ace4",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;"
-						]
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							""
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"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": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a",
-						"description": ""
+						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a"
 					},
 					{
 						"key": "USER_ID",
-						"value": "cs0008",
-						"description": ""
+						"value": "cs0008"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "robot-ete",
-						"description": ""
+						"value": "robot-ete"
 					}
 				],
 				"body": {
 					"mode": "raw",
 					"raw": "{\"action\": \"Submit\"}"
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-software-products/{{auto_vsp_id}}/versions/{{auto_vsp_version_id}}/actions",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"onboarding-api",
+						"v1.0",
+						"vendor-software-products",
+						"{{auto_vsp_id}}",
+						"versions",
+						"{{auto_vsp_version_id}}",
+						"actions"
+					]
+				}
 			},
 			"response": []
 		},
@@ -296,48 +335,62 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "5900576b-42d4-4b68-ae67-770e76e6ba97",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;"
-						]
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							""
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"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": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a",
-						"description": ""
+						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a"
 					},
 					{
 						"key": "USER_ID",
-						"value": "cs0008",
-						"description": ""
+						"value": "cs0008"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "robot-ete",
-						"description": ""
+						"value": "robot-ete"
 					}
 				],
 				"body": {
 					"mode": "raw",
 					"raw": "{\"action\": \"Create_Package\"}"
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-software-products/{{auto_vsp_id}}/versions/{{auto_vsp_version_id}}/actions",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"onboarding-api",
+						"v1.0",
+						"vendor-software-products",
+						"{{auto_vsp_id}}",
+						"versions",
+						"{{auto_vsp_version_id}}",
+						"actions"
+					]
+				}
 			},
 			"response": []
 		}
diff --git a/test/postman/05_Onboard_VF.postman_collection.json b/test/postman/05_Onboard_VF.postman_collection.json
index 19a83a0..c267705 100644
--- a/test/postman/05_Onboard_VF.postman_collection.json
+++ b/test/postman/05_Onboard_VF.postman_collection.json
@@ -1,10 +1,8 @@
 {
-	"variables": [],
 	"info": {
+		"_postman_id": "64f5d392-0346-402f-ab22-cdd46b13aa04",
 		"name": "05_Onboard_VF",
-		"_postman_id": "3a292462-bd95-304c-041a-62a8bd1538a5",
-		"description": "",
-		"schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json"
+		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
 	},
 	"item": [
 		{
@@ -13,38 +11,75 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "a7d64193-edcb-4540-bcac-dde0f33a637f",
 						"exec": [
+							"",
 							"var vf_found = false;",
-							"if (responseCode.code === 404) {",
-							"    tests[postman.getGlobalVariable(\"vf_name\")+\" does not exists\"] = true;",
+							"if (pm.response.code === 404) {",
+							"    tests[pm.globals.get(\"vf_name\")+\" does not exists\"] = true;",
 							"}",
 							"else {",
-							"    if (responseCode.code === 200) {",
+							"    if (pm.response.code === 200) {",
 							"        tests[\"Status code is 200\"] = responseCode.code === 200;",
 							"        }",
-							"    var jsonData = JSON.parse(responseBody);",
+							"    var jsonData = pm.response.json();",
 							"    for (var i = 0; i < jsonData.length; i++) { ",
-							"       if (jsonData[i][\"name\"] === postman.getGlobalVariable(\"vf_name\")) {",
+							"       if (jsonData[i].name === pm.globals.get(\"vf_name\")) {",
 							"           vf_found = true;",
-							"           postman.setGlobalVariable(\"auto_vf_uuid\", \"\"+jsonData[i][\"uuid\"]+\"\");",
-							"           postman.setGlobalVariable(\"auto_vf_invariant_uuid\", \"\"+jsonData[i][\"invariantUUID\"]+\"\");",
+							"           pm.globals.set(\"auto_vf_uuid\", \"\"+jsonData[i].uuid+\"\");",
+							"           pm.globals.set(\"auto_vf_invariant_uuid\", \"\"+jsonData[i].invariantUUID+\"\");",
 							"       }",
 							"    }",
 							"    if (vf_found === false) {",
-							"        tests[postman.getGlobalVariable(\"vf_name\")+\" does not exists, we continue the run\"] = true;",
+							"        tests[pm.globals.get(\"vf_name\")+\" does not yet exists, we continue the run\"] = true;",
 							"    }",
 							"    ",
 							"    else {",
-							"        tests[postman.getGlobalVariable(\"vf_name\")+\" already exists, stop the run\"] = true;",
+							"        tests[pm.globals.get(\"vf_name\")+\" already exists, stop the run\"] = false;",
 							"        postman.setNextRequest(null);",
 							"    }",
 							"}"
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
+				"method": "GET",
+				"header": [
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "ONAP-Test"
+					},
+					{
+						"key": "USER_ID",
+						"value": "cs0008"
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "ONAP-Test"
+					},
+					{
+						"key": "Authorization",
+						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU="
+					},
+					{
+						"key": "x-ecomp-instanceid",
+						"value": "ONAP-Test"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
 				"url": {
 					"raw": "{{url-sdc}}/sdc/v1/catalog/resources?resourceType=VF",
 					"host": [
@@ -59,56 +94,10 @@
 					"query": [
 						{
 							"key": "resourceType",
-							"value": "VF",
-							"equals": true,
-							"description": ""
+							"value": "VF"
 						}
-					],
-					"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": []
 		},
@@ -118,66 +107,75 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "ff2f00ca-80fc-40d6-b6ec-aac08eb91759",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
 							"",
-							"var jsonData = JSON.parse(responseBody);",
+							"var jsonData = pm.response.json();",
 							"var vsp_found = false;",
 							"for (var i = 0; i < jsonData.results.length; i++) { ",
-							"   if (jsonData.results[i].name === postman.getGlobalVariable(\"vsp_name\")) {",
+							"   if (jsonData.results[i].name === pm.globals.get(\"vsp_name\")) {",
 							"       vsp_found = true;",
-							"       postman.setGlobalVariable(\"auto_vsp_id\", \"\"+jsonData.results[i].id+\"\");",
+							"       pm.globals.set(\"auto_vsp_id\", \"\"+jsonData.results[i].id+\"\");",
 							"",
 							"   }",
 							"}",
 							"if (vsp_found === false) {",
-							"    tests[postman.getGlobalVariable(\"vsp_name\")+\" does not exists, we stop the run\"] = true;",
+							"    tests[\"VSP \"+pm.globals.get(\"vsp_name\")+\" does not exists, we stop the run\"] = false;",
 							"    postman.setNextRequest(null);    ",
 							"}",
 							"",
 							"else {",
-							"    tests[postman.getGlobalVariable(\"vsp_name\")+\" exists, we can continue\"] = true;",
+							"    tests[\"VSP \"+pm.globals.get(\"vsp_name\")+\" exists, we can continue\"] = true;",
 							"}"
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-software-products",
 				"method": "GET",
 				"header": [
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a",
-						"description": ""
+						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a"
 					},
 					{
 						"key": "USER_ID",
-						"value": "cs0008",
-						"description": ""
+						"value": "cs0008"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "robot-ete",
-						"description": ""
+						"value": "robot-ete"
 					}
 				],
 				"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\"}"
+					"raw": ""
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-software-products",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"onboarding-api",
+						"v1.0",
+						"vendor-software-products"
+					]
+				}
 			},
 			"response": []
 		},
@@ -187,58 +185,69 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "f16c158f-aceb-490c-924d-3ea83c2b9431",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
 							"",
-							"var jsonData = JSON.parse(responseBody);",
+							"var jsonData = pm.response.json();",
 							"var vsp_found = false;",
 							"for (var i = 0; i < jsonData.results.length; i++) { ",
-							"   if (jsonData.results[i].name === postman.getGlobalVariable(\"vsp_name\")) {",
+							"   if (jsonData.results[i].name === pm.globals.get(\"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+\"\");",
+							"       pm.globals.set(\"auto_vsp_version_id\", \"\"+jsonData.results[i].id+\"\");",
+							"       pm.globals.set(\"auto_vsp_version_name\", \"\"+jsonData.results[i].name+\"\");",
 							"   }",
 							"}"
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"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": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a",
-						"description": ""
+						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a"
 					},
 					{
 						"key": "USER_ID",
-						"value": "cs0008",
-						"description": ""
+						"value": "cs0008"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "robot-ete",
-						"description": ""
+						"value": "robot-ete"
 					}
 				],
 				"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\"}"
+					"raw": ""
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/items/{{auto_vsp_id}}/versions",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"onboarding-api",
+						"v1.0",
+						"items",
+						"{{auto_vsp_id}}",
+						"versions"
+					]
+				}
 			},
 			"response": []
 		},
@@ -248,68 +257,77 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "ed512660-e7af-450f-aa7e-b503c7e21a72",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
 							"",
-							"var jsonData = JSON.parse(responseBody);",
+							"var jsonData = pm.response.json();",
 							"var vendor_found = false;",
 							"for (var i = 0; i < jsonData.results.length; i++) { ",
-							"   if (jsonData.results[i][\"name\"] === postman.getGlobalVariable(\"vendor_name\")) {",
+							"   if (jsonData.results[i][\"name\"] === pm.globals.get(\"vendor_name\")) {",
 							"       vendor_found = true;",
-							"       postman.setGlobalVariable(\"auto_vendor_id\", \"\"+jsonData.results[i][\"id\"]+\"\");",
+							"       pm.globals.set(\"auto_vendor_id\", \"\"+jsonData.results[i][\"id\"]+\"\");",
 							"   }",
 							"}",
 							"if (vendor_found === false) {",
-							"    tests[postman.getGlobalVariable(\"vendor_name\")+\" does not exists : we stop the run\"] = false;",
+							"    tests[pm.globals.get(\"vendor_name\")+\" does not exists : we stop the run\"] = false;",
 							"    postman.setNextRequest(null);",
 							"}",
 							"",
 							"else {",
-							"    tests[postman.getGlobalVariable(\"vendor_name\")+\" exists\"] = true;",
+							"    tests[pm.globals.get(\"vendor_name\")+\" exists\"] = true;",
 							"}",
 							"",
 							"",
 							""
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-license-models",
 				"method": "GET",
 				"header": [
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a",
-						"description": ""
+						"value": "robot-ete-ba84612d-c1c6-4c53-9967-7b1dff276c7a"
 					},
 					{
 						"key": "USER_ID",
-						"value": "cs0008",
-						"description": ""
+						"value": "cs0008"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "robot-ete",
-						"description": ""
+						"value": "robot-ete"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\"iconRef\": \"icon\", \"vendorName\": \"test-api-license-model\", \"description\": \"vendor license model\"}"
+					"raw": ""
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/onboarding-api/v1.0/vendor-license-models",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"onboarding-api",
+						"v1.0",
+						"vendor-license-models"
+					]
+				}
 			},
 			"response": []
 		},
@@ -319,65 +337,73 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "78a4913a-db8c-4c41-8fae-28e5bf6d90b4",
 						"exec": [
-							"tests[\"Status code is 201\"] = responseCode.code === 201;",
+							"pm.test(\"Status code is 201\", function () {",
+							"    pm.response.to.have.status(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\"]+\"\");",
+							"var jsonData = pm.response.json();",
+							"pm.globals.set(\"auto_vf_invariant_uuid\", \"\"+jsonData.invariantUUID+\"\");",
+							"pm.globals.set(\"auto_vf_uuid\", \"\"+jsonData.uuid+\"\");",
+							"pm.globals.set(\"auto_vf_unique_id\", \"\"+jsonData.uniqueId+\"\");",
 							"",
-							"tests[\"VF version is in NOT_CERTIFIED_CHECKOUT status\"] = jsonData[\"lifecycleState\"] === \"NOT_CERTIFIED_CHECKOUT\";"
-						]
+							"tests[\"VF status is : \"+jsonData.lifecycleState] = jsonData.lifecycleState === \"NOT_CERTIFIED_CHECKOUT\";"
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/resources",
 				"method": "POST",
 				"header": [
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "USER_ID",
-						"value": "cs0008",
-						"description": ""
+						"value": "cs0008"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "Authorization",
-						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=",
-						"description": ""
+						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU="
 					},
 					{
 						"key": "x-ecomp-instanceid",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					}
 				],
 				"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": ""
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/resources",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"rest",
+						"v1",
+						"catalog",
+						"resources"
+					]
+				}
 			},
 			"response": []
 		},
@@ -389,58 +415,64 @@
 					"script": {
 						"type": "text/javascript",
 						"exec": [
-							"var jsonData = JSON.parse(responseBody);",
+							"var jsonData = pm.response.json();",
 							"",
-							"tests[\"VF version is in NOT_CERTIFIED_CHECKIN status\"] = jsonData[\"lifecycleState\"] === \"NOT_CERTIFIED_CHECKIN\";"
+							"tests[\"VF status is : \"+jsonData.lifecycleState] = 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": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "USER_ID",
-						"value": "cs0008",
-						"description": ""
+						"value": "cs0008"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "X-ECOMP-InstanceID",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "Authorization",
-						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=",
-						"description": ""
+						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU="
 					}
 				],
 				"body": {
 					"mode": "raw",
 					"raw": "{\"userRemarks\": \"ONAP-Test checkin\"}"
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-sdc}}/sdc/v1/catalog/resources/{{auto_vf_uuid}}/lifecycleState/checkin",
+					"host": [
+						"{{url-sdc}}"
+					],
+					"path": [
+						"sdc",
+						"v1",
+						"catalog",
+						"resources",
+						"{{auto_vf_uuid}}",
+						"lifecycleState",
+						"checkin"
+					]
+				}
 			},
 			"response": []
 		},
@@ -452,58 +484,66 @@
 					"script": {
 						"type": "text/javascript",
 						"exec": [
-							"var jsonData = JSON.parse(responseBody);",
+							"var jsonData = pm.response.json();",
 							"",
-							"tests[\"VF version is in CERTIFIED status\"] = jsonData[\"lifecycleState\"] === \"CERTIFIED\";"
+							"tests[\"VF status is : \"+jsonData.lifecycleState] = 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": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "USER_ID",
-						"value": "cs0008",
-						"description": ""
+						"value": "cs0008"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "Authorization",
-						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=",
-						"description": ""
+						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU="
 					},
 					{
 						"key": "X-ECOMP-InstanceID",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					}
 				],
 				"body": {
 					"mode": "raw",
 					"raw": "{\"userRemarks\": \"certify\"}"
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/resources/{{auto_vf_unique_id}}/lifecycleState/certify",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"rest",
+						"v1",
+						"catalog",
+						"resources",
+						"{{auto_vf_unique_id}}",
+						"lifecycleState",
+						"certify"
+					]
+				}
 			},
 			"response": []
 		},
@@ -513,18 +553,56 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "8d831aa8-7760-44b4-aab4-da4724e8dfc9",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
 							"",
-							"var jsonData = JSON.parse(responseBody);",
-							"postman.setGlobalVariable(\"auto_vf_new_unique_id\", \"\"+jsonData[\"metadata\"][\"allVersions\"][\"1.0\"]+\"\");",
+							"var jsonData = pm.response.json();",
+							"pm.globals.set(\"auto_vf_new_unique_id\", \"\"+jsonData[\"metadata\"][\"allVersions\"][\"1.0\"]+\"\");",
 							""
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
+				"method": "GET",
+				"header": [
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "ONAP-Test"
+					},
+					{
+						"key": "USER_ID",
+						"value": "cs0008"
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "ONAP-Test"
+					},
+					{
+						"key": "Authorization",
+						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU="
+					},
+					{
+						"key": "x-ecomp-instanceid",
+						"value": "ONAP-Test"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
 				"url": {
 					"raw": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/resources/{{auto_vf_unique_id}}/filteredDataByParams?include=metadata",
 					"host": [
@@ -543,56 +621,10 @@
 					"query": [
 						{
 							"key": "include",
-							"value": "metadata",
-							"equals": true,
-							"description": ""
+							"value": "metadata"
 						}
-					],
-					"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": []
 		}
diff --git a/test/postman/06_Onboard_Service.postman_collection.json b/test/postman/06_Onboard_Service.postman_collection.json
index 19aebc3..91ac556 100644
--- a/test/postman/06_Onboard_Service.postman_collection.json
+++ b/test/postman/06_Onboard_Service.postman_collection.json
@@ -1,10 +1,8 @@
 {
-	"variables": [],
 	"info": {
+		"_postman_id": "4421ffe4-0af9-4957-949a-a183a02ad0c9",
 		"name": "06_Onboard_Service",
-		"_postman_id": "52d092e4-3896-404a-0ebd-e0bef781492e",
-		"description": "",
-		"schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json"
+		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
 	},
 	"item": [
 		{
@@ -13,144 +11,158 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "4f27b99e-23ac-4e7c-a1dc-c42ad63d6f65",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
 							"",
-							"var jsonData = JSON.parse(responseBody);",
+							"var jsonData = pm.response.json();",
 							"var service_found = false;",
 							"for (var i = 0; i < jsonData.length; i++) { ",
-							"   if (jsonData[i].name === postman.getGlobalVariable(\"service\")) {",
+							"   if (jsonData[i].name === pm.globals.get(\"service\")) {",
 							"       service_found = true;",
-							"       postman.setGlobalVariable(\"auto_service_uuid\", \"\"+jsonData[i].uuid+\"\");",
-							"       postman.setGlobalVariable(\"auto_service_invariant_uuid\", \"\"+jsonData[i].invariantUUID+\"\");",
+							"       pm.globals.set(\"auto_service_uuid\", \"\"+jsonData[i].uuid+\"\");",
+							"       pm.globals.set(\"auto_service_invariant_uuid\", \"\"+jsonData[i].invariantUUID+\"\");",
 							"   }",
 							"}",
 							"if (service_found === false) {",
-							"    tests[postman.getGlobalVariable(\"service\")+\" does not exists, we continue the run\"] = true;",
+							"    tests[pm.globals.get(\"service\")+\" does not exist yet, we continue the run\"] = true;",
 							"}",
 							"",
 							"else {",
-							"    tests[postman.getGlobalVariable(\"service\")+\" already exists, stop the run\"] = true;",
+							"    tests[pm.globals.get(\"service\")+\" already exists, stop the run\"] = false;",
 							"    postman.setNextRequest(null);",
 							"}"
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-sdc}}/sdc/v1/catalog/services",
 				"method": "GET",
 				"header": [
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "USER_ID",
-						"value": "cs0008",
-						"description": ""
+						"value": "cs0008"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "Authorization",
-						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=",
-						"description": ""
+						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU="
 					},
 					{
 						"key": "x-ecomp-instanceid",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					}
 				],
 				"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\": []}"
+					"raw": ""
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-sdc}}/sdc/v1/catalog/services",
+					"host": [
+						"{{url-sdc}}"
+					],
+					"path": [
+						"sdc",
+						"v1",
+						"catalog",
+						"services"
+					]
+				}
 			},
 			"response": []
 		},
 		{
-			"name": "Create a aLaCarte Service",
+			"name": "Declare an aLaCarte Service",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "e6118e78-e476-4049-8e81-f81b53ba625a",
 						"exec": [
-							"tests[\"Status code is 201\"] = responseCode.code === 201;",
+							"pm.test(\"Status code is 201\", function () {",
+							"    pm.response.to.have.status(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\"]+\"\");",
+							"var jsonData = pm.response.json();",
+							"pm.globals.set(\"auto_service_invariant_uuid\", \"\"+jsonData[\"invariantUUID\"]+\"\");",
+							"pm.globals.set(\"auto_service_uuid\", \"\"+jsonData[\"uuid\"]+\"\");",
+							"pm.globals.set(\"auto_service_unique_id\", \"\"+jsonData[\"uniqueId\"]+\"\");",
 							"",
-							"tests[\"Service version is in NOT_CERTIFIED_CHECKOUT status\"] = jsonData[\"lifecycleState\"] === \"NOT_CERTIFIED_CHECKOUT\";"
-						]
+							"tests[\"Service status is : \"+jsonData.lifecycleState] = jsonData.lifecycleState === \"NOT_CERTIFIED_CHECKOUT\";"
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/services",
 				"method": "POST",
 				"header": [
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "USER_ID",
-						"value": "cs0008",
-						"description": ""
+						"value": "cs0008"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "Authorization",
-						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=",
-						"description": ""
+						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU="
 					},
 					{
 						"key": "x-ecomp-instanceid",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					}
 				],
 				"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": ""
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/services",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"rest",
+						"v1",
+						"catalog",
+						"services"
+					]
+				}
 			},
 			"response": []
 		},
@@ -160,77 +172,85 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "87b90661-aefb-4ec9-94fc-fb5277f8c283",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
 							"",
-							"var jsonData = JSON.parse(responseBody);",
+							"var jsonData = pm.response.json();",
 							"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 (jsonData.name === pm.globals.get(\"vf_name\")) {",
+							"    vf_found = true;",
+							"    pm.globals.set(\"auto_vf_uuid\", \"\"+jsonData.uuid+\"\");",
+							"    pm.globals.set(\"auto_vf_invariant_uuid\", \"\"+jsonData.invariantUUID+\"\");",
+							"    ",
 							"}",
+							"",
 							"if (vf_found === false) {",
-							"    tests[postman.getGlobalVariable(\"vf_name\")+\" does not exists, we stop the run\"] = true;",
+							"    tests[\"VF \"+pm.globals.get(\"vf_name\")+\" does not exists, we stop the run\"] = false;",
 							"    postman.setNextRequest(null);",
 							"",
 							"}",
 							"",
 							"else {",
-							"    tests[postman.getGlobalVariable(\"vf_name\")+\" exists, we continue the run\"] = true;",
+							"    tests[\"VF \"+pm.globals.get(\"vf_name\")+\" exists, we continue the run\"] = true;",
 							"}"
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-sdc}}/sdc/v1/catalog/resources/{{auto_vf_uuid}}/metadata",
 				"method": "GET",
 				"header": [
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "USER_ID",
-						"value": "cs0008",
-						"description": ""
+						"value": "cs0008"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "Authorization",
-						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=",
-						"description": ""
+						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU="
 					},
 					{
 						"key": "x-ecomp-instanceid",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					}
 				],
 				"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\": []}"
+					"raw": ""
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-sdc}}/sdc/v1/catalog/resources/{{auto_vf_uuid}}/metadata",
+					"host": [
+						"{{url-sdc}}"
+					],
+					"path": [
+						"sdc",
+						"v1",
+						"catalog",
+						"resources",
+						"{{auto_vf_uuid}}",
+						"metadata"
+					]
+				}
 			},
 			"response": []
 		},
@@ -240,24 +260,61 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "16c73747-c973-40d9-ba3f-6061199386ec",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
-							"",
-							"var jsonData = JSON.parse(responseBody);",
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							"var jsonData = pm.response.json();",
 							"var vf_found = false;",
 							"for (var i = 0; i < jsonData.resources.length; i++) { ",
-							"   if (jsonData.resources[i].name === postman.getGlobalVariable(\"vf_name\")) {",
+							"   if (jsonData.resources[i].name === pm.globals.get(\"vf_name\")) {",
 							"       vf_found = true;",
-							"       postman.setGlobalVariable(\"auto_vf_unique_id\", \"\"+jsonData.resources[i].uniqueId+\"\");",
+							"       pm.globals.set(\"auto_vf_unique_id\", \"\"+jsonData.resources[i].uniqueId+\"\");",
 							"   }",
 							"}",
 							""
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
+				"method": "GET",
+				"header": [
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "ONAP-Test"
+					},
+					{
+						"key": "USER_ID",
+						"value": "cs0008"
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "ONAP-Test"
+					},
+					{
+						"key": "Authorization",
+						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU="
+					},
+					{
+						"key": "x-ecomp-instanceid",
+						"value": "ONAP-Test"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
 				"url": {
 					"raw": "{{url-sdc2}}/sdc1/feProxy/rest/v1/screen?excludeTypes=VFCMT&excludeTypes=Configuration",
 					"host": [
@@ -273,62 +330,14 @@
 					"query": [
 						{
 							"key": "excludeTypes",
-							"value": "VFCMT",
-							"equals": true,
-							"description": ""
+							"value": "VFCMT"
 						},
 						{
 							"key": "excludeTypes",
-							"value": "Configuration",
-							"equals": true,
-							"description": ""
+							"value": "Configuration"
 						}
-					],
-					"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": []
 		},
@@ -338,58 +347,334 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "897b4588-b2e6-4af6-b469-09ae6ea3b797",
 						"exec": [
-							"tests[\"Status code is 201\"] = responseCode.code === 201;"
-						]
+							"pm.test(\"Status code is 201\", function () {",
+							"    pm.response.to.have.status(201);",
+							"});",
+							"var jsonData = pm.response.json();",
+							"pm.globals.set(\"auto_vf_customization_uuid\", \"\"+jsonData.customizationUUID+\"\");",
+							"pm.globals.set(\"auto_vf_name_for_model\", \"\"+jsonData.name+\"\");",
+							"",
+							""
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"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": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "USER_ID",
-						"value": "cs0008",
-						"description": ""
+						"value": "cs0008"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "Authorization",
-						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=",
-						"description": ""
+						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU="
 					},
 					{
 						"key": "x-ecomp-instanceid",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					}
 				],
 				"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": ""
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/services/{{auto_service_unique_id}}/resourceInstance",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"rest",
+						"v1",
+						"catalog",
+						"services",
+						"{{auto_service_unique_id}}",
+						"resourceInstance"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "Get Generic Neutron Virtual Link infos",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "8bc90be4-f039-44cb-af75-7f3addd63bdd",
+						"exec": [
+							"var vl_found = false;",
+							"if (pm.response.code === 404) {",
+							"    tests[pm.globals.get(\"virtual_link_type\")+\" does not exists\"] = true;",
+							"}",
+							"else {",
+							"    if (pm.response.code === 200) {",
+							"        tests[\"Status code is 200\"] = pm.response.code === 200;",
+							"        }",
+							"    var jsonData = pm.response.json();",
+							"    for (var i = 0; i < jsonData.length; i++) { ",
+							"       if (jsonData[i].name === pm.globals.get(\"virtual_link_type\")) {",
+							"           vl_found = true;",
+							"           pm.globals.set(\"auto_virtual_link_uuid\", \"\"+jsonData[i].uuid+\"\");",
+							"           pm.globals.set(\"auto_virtual_link_invariant_uuid\", \"\"+jsonData[i].invariantUUID+\"\");",
+							"       }",
+							"    }",
+							"    if (vl_found === false) {",
+							"        tests[pm.globals.get(\"virtual_link_type\")+\" does not exists, we stop the run\"] = false;",
+							"        postman.setNextRequest(null);",
+							"    }",
+							"    ",
+							"    else {",
+							"        tests[pm.globals.get(\"virtual_link_type\")+\" exists, we continue the run\"] = true;",
+							"    }",
+							"}"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "GET",
+				"header": [
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "ONAP-Test"
+					},
+					{
+						"key": "USER_ID",
+						"value": "cs0008"
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "ONAP-Test"
+					},
+					{
+						"key": "Authorization",
+						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU="
+					},
+					{
+						"key": "x-ecomp-instanceid",
+						"value": "ONAP-Test"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-sdc}}/sdc/v1/catalog/resources?resourceType=VL",
+					"host": [
+						"{{url-sdc}}"
+					],
+					"path": [
+						"sdc",
+						"v1",
+						"catalog",
+						"resources"
+					],
+					"query": [
+						{
+							"key": "resourceType",
+							"value": "VL"
+						}
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "Get Generic Neutron Virtual Link uniqueId",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "d906fb7e-04f9-445e-be5a-9644520171e1",
+						"exec": [
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							"",
+							"var jsonData = pm.response.json();",
+							"var vl_found = false;",
+							"for (var i = 0; i < jsonData.resources.length; i++) { ",
+							"   if (jsonData.resources[i].name === pm.globals.get(\"virtual_link_type\")) {",
+							"       vl_found = true;",
+							"       pm.globals.set(\"auto_virtual_link_unique_id\", \"\"+jsonData.resources[i].uniqueId+\"\");",
+							"       tests[\"Virtual Link : \"+pm.globals.get(\"virtual_link_type\")+\" found in SDC catalog with uniqueId = \"+pm.globals.get(\"auto_virtual_link_unique_id\")] = true;",
+							"   }",
+							"}",
+							""
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "GET",
+				"header": [
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "ONAP-Test"
+					},
+					{
+						"key": "USER_ID",
+						"value": "cs0008"
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "ONAP-Test"
+					},
+					{
+						"key": "Authorization",
+						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU="
+					},
+					{
+						"key": "x-ecomp-instanceid",
+						"value": "ONAP-Test"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"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"
+						},
+						{
+							"key": "excludeTypes",
+							"value": "Configuration"
+						}
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "Add a Generic Neutron VirtualLink to Service",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "0f07c2d5-49a1-4bf8-a3b5-6502674821af",
+						"exec": [
+							"pm.test(\"Status code is 201\", function () {",
+							"    pm.response.to.have.status(201);",
+							"});",
+							"",
+							"var jsonData = pm.response.json();",
+							"pm.globals.set(\"auto_virtual_link_customization_uuid\", \"\"+jsonData.customizationUUID+\"\");",
+							"pm.globals.set(\"auto_virtual_link_name_for_model\", \"\"+jsonData.name+\"\");",
+							"",
+							""
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "POST",
+				"header": [
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "ONAP-Test"
+					},
+					{
+						"key": "USER_ID",
+						"value": "cs0008"
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "ONAP-Test"
+					},
+					{
+						"key": "Authorization",
+						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU="
+					},
+					{
+						"key": "x-ecomp-instanceid",
+						"value": "ONAP-Test"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": "{\r\n\t\"name\": \"{{virtual_link_type}}\",\r\n\t\"componentVersion\": \"1.0\",\r\n\t\"posY\": 200,\r\n\t\"posX\": 300,\r\n\t\"uniqueId\": \"{{auto_virtual_link_unique_id}}\",\r\n\t\"originType\": \"VL\",\r\n\t\"componentUid\": \"{{auto_virtual_link_unique_id}}\",\r\n\t\"icon\": \"defaulticon\"\r\n}\r\n"
+				},
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/services/{{auto_service_unique_id}}/resourceInstance",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"rest",
+						"v1",
+						"catalog",
+						"services",
+						"{{auto_service_unique_id}}",
+						"resourceInstance"
+					]
+				}
 			},
 			"response": []
 		},
@@ -399,58 +684,74 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "f3215da0-5a6c-474c-9cc2-6733b36f1347",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;"
-						]
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							"",
+							"var jsonData = pm.response.json();",
+							"",
+							"tests[\"Service status is : \"+jsonData.lifecycleState] = jsonData.lifecycleState === \"READY_FOR_CERTIFICATION\";",
+							""
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"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": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "USER_ID",
-						"value": "cs0008",
-						"description": ""
+						"value": "cs0008"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "Authorization",
-						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=",
-						"description": ""
+						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU="
 					},
 					{
 						"key": "x-ecomp-instanceid",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					}
 				],
 				"body": {
 					"mode": "raw",
 					"raw": "{\"userRemarks\":\"please test\"}"
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/services/{{auto_service_unique_id}}/lifecycleState/certificationRequest",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"rest",
+						"v1",
+						"catalog",
+						"services",
+						"{{auto_service_unique_id}}",
+						"lifecycleState",
+						"certificationRequest"
+					]
+				}
 			},
 			"response": []
 		},
@@ -460,58 +761,72 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "e9143951-e32e-4d93-b970-20b54ea64fd4",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;"
-						]
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							"",
+							"var jsonData = pm.response.json();",
+							"tests[\"Service status is : \"+jsonData.lifecycleState] = jsonData.lifecycleState === \"CERTIFICATION_IN_PROGRESS\";"
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"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": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "USER_ID",
-						"value": "jm0007",
-						"description": ""
+						"value": "jm0007"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "Authorization",
-						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=",
-						"description": ""
+						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU="
 					},
 					{
 						"key": "x-ecomp-instanceid",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					}
 				],
 				"body": {
 					"mode": "raw",
 					"raw": "{}"
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/services/{{auto_service_unique_id}}/lifecycleState/startCertification",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"rest",
+						"v1",
+						"catalog",
+						"services",
+						"{{auto_service_unique_id}}",
+						"lifecycleState",
+						"startCertification"
+					]
+				}
 			},
 			"response": []
 		},
@@ -521,122 +836,234 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "2ca11efa-040f-4927-b30f-e58912f0db83",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
 							"",
-							"var jsonData = JSON.parse(responseBody);",
-							"postman.setGlobalVariable(\"auto_service_new_unique_id\", \"\"+jsonData[\"uniqueId\"]+\"\");"
-						]
+							"var jsonData = pm.response.json();",
+							"",
+							"tests[\"Service status is : \"+jsonData.lifecycleState] = jsonData.lifecycleState === \"CERTIFIED\";",
+							"",
+							"pm.globals.set(\"auto_service_new_unique_id\", \"\"+jsonData.uniqueId+\"\");",
+							""
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"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": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "USER_ID",
-						"value": "jm0007",
-						"description": ""
+						"value": "jm0007"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "Authorization",
-						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=",
-						"description": ""
+						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU="
 					},
 					{
 						"key": "x-ecomp-instanceid",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					}
 				],
 				"body": {
 					"mode": "raw",
 					"raw": "{\"userRemarks\":\"ok\"}"
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/services/{{auto_service_unique_id}}/lifecycleState/certify",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"rest",
+						"v1",
+						"catalog",
+						"services",
+						"{{auto_service_unique_id}}",
+						"lifecycleState",
+						"certify"
+					]
+				}
 			},
 			"response": []
 		},
 		{
-			"name": "distribution approuve",
+			"name": "Get Service infos by uniqueID to get new_service_unique_id",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "cecdbf68-2176-4dc1-8321-6285d57a2e8f",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;"
-						]
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							"",
+							"var jsonData = pm.response.json();",
+							"pm.globals.set(\"auto_service_new_unique_id\", \"\"+jsonData[\"metadata\"][\"allVersions\"][\"1.0\"]+\"\");",
+							""
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/services/{{auto_service_new_unique_id}}/distribution-state/approve",
+				"method": "GET",
+				"header": [
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "ONAP-Test"
+					},
+					{
+						"key": "USER_ID",
+						"value": "cs0008"
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "ONAP-Test"
+					},
+					{
+						"key": "Authorization",
+						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU="
+					},
+					{
+						"key": "x-ecomp-instanceid",
+						"value": "ONAP-Test"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/services/{{auto_service_unique_id}}/filteredDataByParams?include=metadata",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"rest",
+						"v1",
+						"catalog",
+						"services",
+						"{{auto_service_unique_id}}",
+						"filteredDataByParams"
+					],
+					"query": [
+						{
+							"key": "include",
+							"value": "metadata"
+						}
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "Approve distribution",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "ef5105ec-e9ea-454a-954a-3398364ecb89",
+						"exec": [
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							"",
+							"var jsonData = pm.response.json();",
+							"",
+							"tests[\"Distribution status is : \"+jsonData.distributionStatus] = jsonData.distributionStatus === \"DISTRIBUTION_APPROVED\";",
+							""
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
 				"method": "POST",
 				"header": [
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "USER_ID",
-						"value": "gv0001",
-						"description": ""
+						"value": "gv0001"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "Authorization",
-						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=",
-						"description": ""
+						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU="
 					},
 					{
 						"key": "x-ecomp-instanceid",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					}
 				],
 				"body": {
 					"mode": "raw",
 					"raw": "{\"userRemarks\":\"ok\"}"
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/services/{{auto_service_new_unique_id}}/distribution-state/approve",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"rest",
+						"v1",
+						"catalog",
+						"services",
+						"{{auto_service_new_unique_id}}",
+						"distribution-state",
+						"approve"
+					]
+				}
 			},
 			"response": []
 		},
@@ -646,58 +1073,81 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "cf7fe737-3858-4235-88b8-73640775d871",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;"
-						]
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							"",
+							"var jsonData = pm.response.json();",
+							"",
+							"tests[\"Distribution status is : \"+jsonData.distributionStatus] = jsonData.distributionStatus === \"DISTRIBUTED\";",
+							"",
+							"pm.globals.set(\"auto_vf_module_model_name\", \"\"+jsonData.componentInstances[0].groupInstances[0].groupName+\"\");",
+							"pm.globals.set(\"auto_vf_module_model_customization_name\", \"\"+jsonData.componentInstances[0].groupInstances[0].groupName+\"\");",
+							"pm.globals.set(\"auto_vf_module_model_uuid\", \"\"+jsonData.componentInstances[0].groupInstances[0].groupUUID+\"\");",
+							"pm.globals.set(\"auto_vf_module_model_invariant_uuid\", \"\"+jsonData.componentInstances[0].groupInstances[0].invariantUUID+\"\");",
+							"pm.globals.set(\"auto_vf_module_model_customization_uuid\", \"\"+jsonData.componentInstances[0].groupInstances[0].customizationUUID+\"\");",
+							"pm.globals.set(\"auto_virtual_link_model_customization_uuid\", \"\"+jsonData.componentInstances[1].customizationUUID+\"\");"
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"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": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "USER_ID",
-						"value": "op0001",
-						"description": ""
+						"value": "op0001"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "Authorization",
-						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=",
-						"description": ""
+						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU="
 					},
 					{
 						"key": "x-ecomp-instanceid",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					}
 				],
 				"body": {
 					"mode": "raw",
 					"raw": "{}"
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/services/{{auto_service_new_unique_id}}/distribution/PROD/activate",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"rest",
+						"v1",
+						"catalog",
+						"services",
+						"{{auto_service_new_unique_id}}",
+						"distribution",
+						"PROD",
+						"activate"
+					]
+				}
 			},
 			"response": []
 		},
@@ -707,94 +1157,106 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "401f90b3-649f-4f3f-a2bd-ef996a54e47b",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
 							"",
-							"var jsonData = JSON.parse(responseBody);",
+							"var jsonData = pm.response.json();",
 							"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+\"\");",
+							"       pm.globals.set(\"auto_distribution_id\", \"\"+jsonData.distributionStatusOfServiceList[i].distributionID+\"\");",
 							"",
 							"   }",
 							"}",
 							"if (distrib_done === false) {",
-							"    tests[postman.getGlobalVariable(\"service\")+\" not distributed\"] = false;",
+							"    tests[pm.globals.get(\"service\")+\" not distributed, we stop the run\"] = false;",
+							"    postman.setNextRequest(null);",
 							"}",
 							"",
 							"else {",
-							"    tests[postman.getGlobalVariable(\"service\")+\" distributed\"] = true;",
-							"    postman.setNextRequest(null);",
+							"    tests[pm.globals.get(\"service\")+\" distributed\"] = true;",
 							"}"
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/services/{{auto_service_uuid}}/distribution",
 				"method": "GET",
 				"header": [
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "USER_ID",
-						"value": "op0001",
-						"description": ""
+						"value": "op0001"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "Authorization",
-						"value": "Basic YmVlcDpib29w",
-						"description": ""
+						"value": "Basic YmVlcDpib29w"
 					},
 					{
 						"key": "x-ecomp-instanceid",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{}"
+					"raw": ""
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/services/{{auto_service_uuid}}/distribution",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"rest",
+						"v1",
+						"catalog",
+						"services",
+						"{{auto_service_uuid}}",
+						"distribution"
+					]
+				}
 			},
 			"response": []
 		},
 		{
-			"name": "check distribution fully completed",
+			"name": "check distribution fully completed after 60s",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "86932912-3b35-409d-bdbf-003550969f10",
 						"exec": [
 							"tests[\"Status code is 200\"] = responseCode.code === 200;",
 							"",
-							"var jsonData = JSON.parse(responseBody);",
+							"var jsonData = pm.response.json();",
 							"var distrib_SO = false;",
 							"var distrib_AAI = false;",
 							"var distrib_SDNC = false;",
-							"",
+							"var distrib_MultiCloud = false;",
+							"var distrib_CDS = false;",
+							"var distrib_policy = false;",
 							"",
 							"for (var i = 0; i < jsonData.distributionStatusList.length; i++) { ",
 							"   if ((jsonData.distributionStatusList[i].omfComponentID === \"SO-COpenSource-Env11\") && (jsonData.distributionStatusList[i].status === \"DOWNLOAD_OK\"))",
@@ -809,81 +1271,138 @@
 							"   {",
 							"       distrib_SDNC = true;",
 							"   }",
+							"   if ((jsonData.distributionStatusList[i].omfComponentID === \"multicloud-k8s-id\") && (jsonData.distributionStatusList[i].status === \"DOWNLOAD_OK\"))",
+							"   {",
+							"       distrib_MultiCloud = true;",
+							"   }",
+							"    if ((jsonData.distributionStatusList[i].omfComponentID === \"cds\") && (jsonData.distributionStatusList[i].status === \"DOWNLOAD_OK\"))",
+							"   {",
+							"       distrib_CDS = true;",
+							"   }",
+							"    if ((jsonData.distributionStatusList[i].omfComponentID === \"policy-id\") && (jsonData.distributionStatusList[i].status === \"DOWNLOAD_OK\"))",
+							"   {",
+							"       distrib_policy = true;",
+							"   } ",
 							"}",
 							"",
 							"",
 							"if (distrib_SO === false) {",
-							"    tests[postman.getGlobalVariable(\"service\")+\" not distributed to SO\"] = false;",
+							"    tests[pm.globals.get(\"service\")+\" not distributed to SO\"] = false;",
 							"}",
 							"",
 							"else {",
-							"    tests[postman.getGlobalVariable(\"service\")+\" distributed to SO\"] = true;",
+							"    tests[pm.globals.get(\"service\")+\" distributed to SO\"] = true;",
 							"}",
 							"",
 							"if (distrib_AAI === false) {",
-							"    tests[postman.getGlobalVariable(\"service\")+\" not distributed to AAI\"] = false;",
+							"    tests[pm.globals.get(\"service\")+\" not distributed to AAI\"] = false;",
 							"}",
 							"",
 							"else {",
-							"    tests[postman.getGlobalVariable(\"service\")+\" distributed to AAI\"] = true;",
+							"    tests[pm.globals.get(\"service\")+\" distributed to AAI\"] = true;",
 							"}",
 							"",
 							"if (distrib_SDNC === false) {",
-							"    tests[postman.getGlobalVariable(\"service\")+\" not distributed to SDNC\"] = false;",
+							"    tests[pm.globals.get(\"service\")+\" not distributed to SDNC\"] = false;",
 							"}",
 							"",
 							"else {",
-							"    tests[postman.getGlobalVariable(\"service\")+\" distributed to SDNC\"] = true;",
-							"}"
-						]
+							"    tests[pm.globals.get(\"service\")+\" distributed to SDNC\"] = true;",
+							"}",
+							"if (distrib_MultiCloud === false) {",
+							"    tests[pm.globals.get(\"service\")+\" not distributed to MultiCloud\"] = false;",
+							"}",
+							"",
+							"else {",
+							"    tests[pm.globals.get(\"service\")+\" distributed to MultiCloud\"] = true;",
+							"}",
+							"if (distrib_CDS === false) {",
+							"    tests[pm.globals.get(\"service\")+\" not distributed to CDS\"] = false;",
+							"}",
+							"",
+							"else {",
+							"    tests[pm.globals.get(\"service\")+\" distributed to CDS\"] = true;",
+							"}",
+							"if (distrib_policy === false) {",
+							"    tests[pm.globals.get(\"service\")+\" not distributed to Policy\"] = false;",
+							"}",
+							"",
+							"else {",
+							"    tests[pm.globals.get(\"service\")+\" distributed to Policy\"] = true;",
+							"}",
+							""
+						],
+						"type": "text/javascript"
+					}
+				},
+				{
+					"listen": "prerequest",
+					"script": {
+						"id": "9a1093c2-5c2d-47f6-892e-1a049cff8931",
+						"exec": [
+							"  var date = new Date();",
+							"  var curDate = null;",
+							"  do {",
+							"    curDate = new Date();",
+							"  }",
+							"  while (curDate - date < 10000);"
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/services/distribution/{{auto_distribution_id}}",
 				"method": "GET",
 				"header": [
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "USER_ID",
-						"value": "op0001",
-						"description": ""
+						"value": "op0001"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "Authorization",
-						"value": "Basic YmVlcDpib29w",
-						"description": ""
+						"value": "Basic YmVlcDpib29w"
 					},
 					{
 						"key": "x-ecomp-instanceid",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{}"
+					"raw": ""
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-sdc2}}/sdc1/feProxy/rest/v1/catalog/services/distribution/{{auto_distribution_id}}",
+					"host": [
+						"{{url-sdc2}}"
+					],
+					"path": [
+						"sdc1",
+						"feProxy",
+						"rest",
+						"v1",
+						"catalog",
+						"services",
+						"distribution",
+						"{{auto_distribution_id}}"
+					]
+				}
 			},
 			"response": []
 		}
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
index a77751c..cbf373c 100644
--- a/test/postman/07_Declare_owningEntity_LineOfBusiness_project_platform.postman_collection.json
+++ b/test/postman/07_Declare_owningEntity_LineOfBusiness_project_platform.postman_collection.json
@@ -1,10 +1,8 @@
 {
-	"variables": [],
 	"info": {
+		"_postman_id": "ba79b08d-2a04-4a00-8f30-e805efc2e636",
 		"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"
+		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
 	},
 	"item": [
 		{
@@ -13,34 +11,45 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "0643260b-1c9a-450e-aa72-ac2115244a97",
 						"exec": [
-							"tests[\"Status code is 200\"] = (responseCode.code === 200) || (responseCode.code === 207) ;",
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
 							""
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-vid}}/vid/maintenance/category_parameter/owningEntity",
 				"method": "POST",
 				"header": [
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept-Encoding",
-						"value": "gzip, deflate",
-						"description": ""
+						"value": "gzip, deflate"
 					}
 				],
 				"body": {
 					"mode": "raw",
 					"raw": "{\n    \"options\": [\"{{owning_entity}}\"]\n}"
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-vid}}/vid/maintenance/category_parameter/owningEntity",
+					"host": [
+						"{{url-vid}}"
+					],
+					"path": [
+						"vid",
+						"maintenance",
+						"category_parameter",
+						"owningEntity"
+					]
+				}
 			},
 			"response": []
 		},
@@ -50,29 +59,40 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "6d0d2a8b-b756-4386-9113-d39722218bf5",
 						"exec": [
-							"tests[\"Status code is 200\"] = (responseCode.code === 200) || (responseCode.code === 207) ;",
-							""
-						]
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});"
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-vid}}/vid/maintenance/category_parameter/platform",
 				"method": "POST",
 				"header": [
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					}
 				],
 				"body": {
 					"mode": "raw",
 					"raw": "{\n    \"options\": [\"{{platform}}\"]\n}"
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-vid}}/vid/maintenance/category_parameter/platform",
+					"host": [
+						"{{url-vid}}"
+					],
+					"path": [
+						"vid",
+						"maintenance",
+						"category_parameter",
+						"platform"
+					]
+				}
 			},
 			"response": []
 		},
@@ -82,29 +102,40 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "e177b994-db59-4b13-b003-b6fc0dda6907",
 						"exec": [
-							"tests[\"Status code is 200\"] = (responseCode.code === 200) || (responseCode.code === 207) ;",
-							""
-						]
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});"
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-vid}}/vid/maintenance/category_parameter/lineOfBusiness",
 				"method": "POST",
 				"header": [
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					}
 				],
 				"body": {
 					"mode": "raw",
 					"raw": "{\n    \"options\": [\"{{lineofbusiness}}\"]\n}"
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-vid}}/vid/maintenance/category_parameter/lineOfBusiness",
+					"host": [
+						"{{url-vid}}"
+					],
+					"path": [
+						"vid",
+						"maintenance",
+						"category_parameter",
+						"lineOfBusiness"
+					]
+				}
 			},
 			"response": []
 		},
@@ -114,29 +145,40 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "a5eb2421-a949-44f9-a8f7-786b672aede3",
 						"exec": [
-							"tests[\"Status code is 200\"] = (responseCode.code === 200) || (responseCode.code === 207) ;",
-							""
-						]
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});"
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-vid}}/vid/maintenance/category_parameter/project",
 				"method": "POST",
 				"header": [
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					}
 				],
 				"body": {
 					"mode": "raw",
 					"raw": "{\n    \"options\": [\"{{project}}\"]\n}"
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-vid}}/vid/maintenance/category_parameter/project",
+					"host": [
+						"{{url-vid}}"
+					],
+					"path": [
+						"vid",
+						"maintenance",
+						"category_parameter",
+						"project"
+					]
+				}
 			},
 			"response": []
 		}
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
index faa53d2..aac2f00 100644
--- a/test/postman/08_Declare_Customer_Service_Subscription_Cloud.postman_collection.json
+++ b/test/postman/08_Declare_Customer_Service_Subscription_Cloud.postman_collection.json
@@ -1,10 +1,8 @@
 {
-	"variables": [],
 	"info": {
+		"_postman_id": "f60d6e53-cb99-447c-b35d-37912228ee5e",
 		"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"
+		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
 	},
 	"item": [
 		{
@@ -13,71 +11,77 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "5c0ee107-621b-4b01-9506-cd8628b01179",
 						"exec": [
 							"var customer_found = false;",
-							"if (responseCode.code === 404) {",
-							"    tests[postman.getGlobalVariable(\"customer_name\")+\" does not exists\"] = true;",
+							"if (pm.response.code === 404) {",
+							"    tests[pm.globals.get(\"customer_name\")+\" does not exists\"] = true;",
 							"}",
 							"else {",
-							"    if (responseCode.code === 200) {",
-							"        tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"    if (pm.response.code === 200) {",
+							"        tests[\"Status code is 200\"] = pm.response.code === 200;",
 							"        }",
-							"    var jsonData = JSON.parse(responseBody);",
+							"    var jsonData = pm.response.json();",
 							"    for (var i = 0; i < jsonData.customer.length; i++) { ",
-							"       if (jsonData.customer[i][\"global-customer-id\"] === postman.getGlobalVariable(\"customer_name\")) {",
+							"       if (jsonData.customer[i][\"global-customer-id\"] === pm.globals.get(\"customer_name\")) {",
 							"           customer_found = true;",
-							"           postman.setGlobalVariable(\"auto_customer_id\", \"\"+jsonData.customer[i][\"global-customer-id\"]+\"\");",
+							"           pm.globals.set(\"auto_customer_id\", \"\"+jsonData.customer[i][\"global-customer-id\"]+\"\");",
 							"       }",
 							"    }",
 							"    if (customer_found === false) {",
-							"        tests[postman.getGlobalVariable(\"customer_name\")+\" does not exists\"] = true;",
+							"        tests[pm.globals.get(\"customer_name\")+\" does not exists\"] = true;",
 							"    }",
 							"    ",
 							"    else {",
-							"        tests[postman.getGlobalVariable(\"customer_name\")+\" already exists, we skip creation\"] = true;",
+							"        tests[pm.globals.get(\"customer_name\")+\" already exists, we skip creation\"] = true;",
 							"        postman.setNextRequest(\"List Services from SDC catalog\");",
 							"    }",
 							"}"
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-aai}}/aai/v14/business/customers",
 				"method": "GET",
 				"header": [
 					{
 						"key": "Authorization",
-						"value": "Basic QUFJOkFBSQ==",
-						"description": ""
+						"value": "Basic QUFJOkFBSQ=="
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "AAI",
-						"description": ""
+						"value": "AAI"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f",
-						"description": ""
+						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\r\n    \"global-customer-id\": \"Chouchen22\",\r\n    \"subscriber-name\": \"Chouchen22\",\r\n    \"subscriber-type\": \"INFRA\"\r\n}"
+					"raw": ""
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-aai}}/aai/v16/business/customers",
+					"host": [
+						"{{url-aai}}"
+					],
+					"path": [
+						"aai",
+						"v16",
+						"business",
+						"customers"
+					]
+				}
 			},
 			"response": []
 		},
@@ -87,48 +91,58 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "3f8fbd67-36f6-4ae2-a2ab-d23f1f690133",
 						"exec": [
-							"tests[\"Status code is 201\"] = responseCode.code === 201;"
-						]
+							"pm.test(\"Status code is 201\", function () {",
+							"    pm.response.to.have.status(201);",
+							"});"
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-aai}}/aai/v14/business/customers/customer/{{customer_name}}",
 				"method": "PUT",
 				"header": [
 					{
 						"key": "Authorization",
-						"value": "Basic QUFJOkFBSQ==",
-						"description": ""
+						"value": "Basic QUFJOkFBSQ=="
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "AAI",
-						"description": ""
+						"value": "AAI"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f",
-						"description": ""
+						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f"
 					}
 				],
 				"body": {
 					"mode": "raw",
 					"raw": "{\n    \"global-customer-id\": \"{{customer_name}}\",\n    \"subscriber-name\": \"{{customer_name}}\",\n    \"subscriber-type\": \"INFRA\"\n}"
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-aai}}/aai/v16/business/customers/customer/{{customer_name}}",
+					"host": [
+						"{{url-aai}}"
+					],
+					"path": [
+						"aai",
+						"v16",
+						"business",
+						"customers",
+						"customer",
+						"{{customer_name}}"
+					]
+				}
 			},
 			"response": []
 		},
@@ -138,58 +152,66 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "e459dbcf-bf32-4aef-a9b1-5d1adfb525fc",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
 							"",
-							"var jsonData = JSON.parse(responseBody);",
+							"var jsonData = pm.response.json();",
 							"var customer_found = false;",
 							"for (var i = 0; i < jsonData.customer.length; i++) { ",
-							"   if (jsonData.customer[i][\"global-customer-id\"] === postman.getGlobalVariable(\"customer_name\")) {",
+							"   if (jsonData.customer[i][\"global-customer-id\"] === pm.globals.get(\"customer_name\")) {",
 							"       customer_found = true;",
-							"       postman.setGlobalVariable(\"auto_customer_id\", \"\"+jsonData.customer[i][\"global-customer-id\"]+\"\");",
+							"       pm.globals.set(\"auto_customer_id\", \"\"+jsonData.customer[i][\"global-customer-id\"]+\"\");",
 							"   }",
 							"}",
-							"tests[postman.getGlobalVariable(\"customer_name\")+\" found\"] = customer_found === true;"
-						]
+							"tests[pm.globals.get(\"customer_name\")+\" found\"] = customer_found === true;"
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-aai}}/aai/v14/business/customers",
 				"method": "GET",
 				"header": [
 					{
 						"key": "Authorization",
-						"value": "Basic QUFJOkFBSQ==",
-						"description": ""
+						"value": "Basic QUFJOkFBSQ=="
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "AAI",
-						"description": ""
+						"value": "AAI"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f",
-						"description": ""
+						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\r\n    \"global-customer-id\": \"Chouchen22\",\r\n    \"subscriber-name\": \"Chouchen22\",\r\n    \"subscriber-type\": \"INFRA\"\r\n}"
+					"raw": ""
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-aai}}/aai/v16/business/customers",
+					"host": [
+						"{{url-aai}}"
+					],
+					"path": [
+						"aai",
+						"v16",
+						"business",
+						"customers"
+					]
+				}
 			},
 			"response": []
 		},
@@ -199,76 +221,82 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "a496d4dc-e343-42d4-8377-6d18d3570c82",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
 							"",
-							"var jsonData = JSON.parse(responseBody);",
+							"var jsonData = pm.response.json();",
 							"var service_found = false;",
 							"for (var i = 0; i < jsonData.length; i++) { ",
-							"   if (jsonData[i][\"name\"] === postman.getGlobalVariable(\"service\")) {",
+							"   if (jsonData[i].name === pm.globals.get(\"service\")) {",
 							"       service_found = true;",
-							"       postman.setGlobalVariable(\"auto_service_invariantUUID\", \"\"+jsonData[i][\"invariantUUID\"]+\"\");",
+							"       pm.globals.set(\"auto_service_invariantUUID\", \"\"+jsonData[i].invariantUUID+\"\");",
 							"   }",
 							"}",
 							"",
 							"if (service_found === false) {",
-							"    tests[postman.getGlobalVariable(\"service\")+\" does not exists\"] = true;",
+							"    tests[\"Service : \"+pm.globals.get(\"service\")+\" does not exist in SDC catalog, we stop the run\"] = true;",
 							"    postman.setNextRequest(null);",
 							"}",
 							"",
 							"else {",
-							"    tests[postman.getGlobalVariable(\"service\")+\" exists, we continue the run\"] = true;",
+							"    tests[\"Service : \"+pm.globals.get(\"service\")+\" exists in SDC catalog, we can continue the run\"] = true;",
 							"}"
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-sdc}}/sdc/v1/catalog/services",
 				"method": "GET",
 				"header": [
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "USER_ID",
-						"value": "cs0008",
-						"description": ""
+						"value": "cs0008"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					},
 					{
 						"key": "Authorization",
-						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=",
-						"description": ""
+						"value": "Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU="
 					},
 					{
 						"key": "x-ecomp-instanceid",
-						"value": "ONAP-Test",
-						"description": ""
+						"value": "ONAP-Test"
 					}
 				],
 				"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\": []}"
+					"raw": ""
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-sdc}}/sdc/v1/catalog/services",
+					"host": [
+						"{{url-sdc}}"
+					],
+					"path": [
+						"sdc",
+						"v1",
+						"catalog",
+						"services"
+					]
+				}
 			},
 			"response": []
 		},
@@ -278,111 +306,138 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "654cc91a-920b-4b79-9177-15b622749cb4",
 						"exec": [
 							"var service_found = false;",
-							"if (responseCode.code === 404) {",
-							"    tests[postman.getGlobalVariable(\"service\")+\" does not exists in AAI\"] = true;",
+							"if (pm.response.code === 404) {",
+							"    tests[pm.globals.get(\"service\")+\" does not exists in AAI\"] = true;",
 							"}",
 							"else {",
-							"    if (responseCode.code === 200) {",
-							"        tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"    if (pm.response.code === 200) {",
+							"        tests[\"Status code is 200\"] = pm.response.code === 200;",
 							"        }",
-							"    var jsonData = JSON.parse(responseBody);",
+							"    var jsonData = pm.response.json();",
 							"    for (var i = 0; i < jsonData.service.length; i++) { ",
-							"       if (jsonData.service[i][\"service-description\"] === postman.getGlobalVariable(\"service\")) {",
+							"       if (jsonData.service[i][\"service-description\"] === pm.globals.get(\"service\")) {",
 							"           service_found = true;",
 							"       }",
 							"    }",
 							"    ",
 							"    if (service_found === false) {",
-							"        tests[postman.getGlobalVariable(\"service\")+\" does not exists in AAI\"] = true;",
+							"        tests[\"Service subscription : \"+pm.globals.get(\"service\")+\" does not exists in AAI\"] = true;",
 							"    }",
 							"    ",
 							"    else {",
-							"        tests[postman.getGlobalVariable(\"service\")+\" already exists in AAI, we skip creation\"] = true;",
+							"        tests[\"Service subscription : \"+pm.globals.get(\"service\")+\" already exists in AAI, we skip creation\"] = true;",
 							"        postman.setNextRequest(\"check cloud-region exists\");",
 							"    }",
 							"}"
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-aai}}/aai/v14/service-design-and-creation/services",
 				"method": "GET",
 				"header": [
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "AAI",
-						"description": ""
+						"value": "AAI"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "get_aai_subscr",
-						"description": ""
+						"value": "get_aai_subscr"
 					},
 					{
 						"key": "Authorization",
-						"value": "Basic QUFJOkFBSQ==",
-						"description": ""
+						"value": "Basic QUFJOkFBSQ=="
 					}
 				],
 				"body": {
 					"mode": "raw",
 					"raw": ""
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-aai}}/aai/v16/service-design-and-creation/services",
+					"host": [
+						"{{url-aai}}"
+					],
+					"path": [
+						"aai",
+						"v16",
+						"service-design-and-creation",
+						"services"
+					]
+				}
 			},
 			"response": []
 		},
 		{
 			"name": "Declare subscription in AAI",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "c82062d1-c394-47d8-ab3d-14f777c32971",
+						"exec": [
+							"pm.test(\"Status code is 201\", function () {",
+							"    pm.response.to.have.status(201);",
+							"});"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
 			"request": {
-				"url": "{{url-aai}}/aai/v14/service-design-and-creation/services/service/{{auto_service_invariantUUID}}",
 				"method": "PUT",
 				"header": [
 					{
 						"key": "Authorization",
-						"value": "Basic QUFJOkFBSQ==",
-						"description": ""
+						"value": "Basic QUFJOkFBSQ=="
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "AAI",
-						"description": ""
+						"value": "AAI"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f",
-						"description": ""
+						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f"
 					},
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					}
 				],
 				"body": {
 					"mode": "raw",
 					"raw": "{\r\n\"service-id\": \"{{auto_service_invariantUUID}}\",\r\n\"service-description\": \"{{service}}\"\r\n}"
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-aai}}/aai/v16/service-design-and-creation/services/service/{{auto_service_invariantUUID}}",
+					"host": [
+						"{{url-aai}}"
+					],
+					"path": [
+						"aai",
+						"v16",
+						"service-design-and-creation",
+						"services",
+						"service",
+						"{{auto_service_invariantUUID}}"
+					]
+				}
 			},
 			"response": []
 		},
@@ -392,58 +447,65 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "ddb1ab24-cbf4-4d50-a237-614143e66a66",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
-							"",
-							"var jsonData = JSON.parse(responseBody);",
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							"var jsonData = pm.response.json();",
 							"var service_found = false;",
 							"for (var i = 0; i < jsonData.service.length; i++) { ",
-							"   if (jsonData.service[i][\"service-description\"] === postman.getGlobalVariable(\"service\")) {",
+							"   if (jsonData.service[i][\"service-description\"] === pm.globals.get(\"service\")) {",
 							"       service_found = true;",
-							"       postman.setGlobalVariable(\"auto_service_resource_version\", \"\"+jsonData.service[i][\"resource-version\"]+\"\");",
+							"       pm.globals.set(\"auto_service_resource_version\", \"\"+jsonData.service[i][\"resource-version\"]+\"\");",
 							"   }",
 							"}",
-							"tests[postman.getGlobalVariable(\"service\")+\" found\"] = service_found === true;"
-						]
+							"tests[\"Service subscription : \"+pm.globals.get(\"service\")+\" found in AAI\"] = service_found === true;"
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-aai}}/aai/v14/service-design-and-creation/services",
 				"method": "GET",
 				"header": [
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "AAI",
-						"description": ""
+						"value": "AAI"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "get_aai_subscr",
-						"description": ""
+						"value": "get_aai_subscr"
 					},
 					{
 						"key": "Authorization",
-						"value": "Basic QUFJOkFBSQ==",
-						"description": ""
+						"value": "Basic QUFJOkFBSQ=="
 					}
 				],
 				"body": {
 					"mode": "raw",
 					"raw": ""
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-aai}}/aai/v16/service-design-and-creation/services",
+					"host": [
+						"{{url-aai}}"
+					],
+					"path": [
+						"aai",
+						"v16",
+						"service-design-and-creation",
+						"services"
+					]
+				}
 			},
 			"response": []
 		},
@@ -453,62 +515,72 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "12df16bd-e361-45ec-8663-b8a404bb13ce",
 						"exec": [
 							"var complex_found = false;",
-							"if (responseCode.code === 404) {",
-							"    tests[postman.getGlobalVariable(\"complex_name\")+\" does not exists in AAI\"] = true;",
+							"if (pm.response.code === 404) {",
+							"    tests[pm.globals.get(\"complex_name\")+\" does not exists in AAI\"] = true;",
 							"}",
 							"else {",
-							"    if (responseCode.code === 200) {",
-							"        tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"    if (pm.response.code === 200) {",
+							"        tests[\"Status code is 200\"] = pm.response.code === 200;",
 							"        }",
-							"var jsonData = JSON.parse(responseBody);",
+							"var jsonData = pm.response.json();",
 							"for (var i = 0; i < jsonData[\"complex\"].length; i++) { ",
-							"   if (jsonData[\"complex\"][i][\"complex-name\"] === postman.getGlobalVariable(\"complex_name\")) {",
+							"   if (jsonData[\"complex\"][i][\"complex-name\"] === pm.globals.get(\"complex_name\")) {",
 							"       complex_found = true;",
 							"   }",
 							"}",
 							"",
 							"if (complex_found === false) {",
-							"    tests[postman.getGlobalVariable(\"complex_name\")+\" does not exists\"] = true;",
+							"    tests[pm.globals.get(\"complex_name\")+\" does not exist yet\"] = true;",
 							"}",
 							"else {",
-							"    tests[postman.getGlobalVariable(\"complex_name\")+\" already exists, we skip creation\"] = true;",
+							"    tests[pm.globals.get(\"complex_name\")+\" already exists, we skip creation\"] = true;",
 							"    postman.setNextRequest(\"check cloud-region exists\");",
 							"}",
 							"}"
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-aai}}/aai/v14/cloud-infrastructure/complexes",
 				"method": "GET",
 				"header": [
 					{
 						"key": "Authorization",
-						"value": "Basic QUFJOkFBSQ==",
-						"description": ""
+						"value": "Basic QUFJOkFBSQ=="
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "AAI",
-						"description": ""
+						"value": "AAI"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f",
-						"description": ""
+						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f"
 					}
 				],
-				"body": {},
-				"description": ""
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-aai}}/aai/v16/cloud-infrastructure/complexes",
+					"host": [
+						"{{url-aai}}"
+					],
+					"path": [
+						"aai",
+						"v16",
+						"cloud-infrastructure",
+						"complexes"
+					]
+				}
 			},
 			"response": []
 		},
@@ -518,48 +590,58 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "c6021ddb-13b1-472b-acdd-55c4f550461f",
 						"exec": [
-							"tests[\"Status code is 201\"] = responseCode.code === 201;"
-						]
+							"pm.test(\"Status code is 201\", function () {",
+							"    pm.response.to.have.status(201);",
+							"});"
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-aai}}/aai/v14/cloud-infrastructure/complexes/complex/{{complex_name}}",
 				"method": "PUT",
 				"header": [
 					{
 						"key": "Authorization",
-						"value": "Basic QUFJOkFBSQ==",
-						"description": ""
+						"value": "Basic QUFJOkFBSQ=="
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "AAI",
-						"description": ""
+						"value": "AAI"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f",
-						"description": ""
+						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f"
 					},
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					}
 				],
 				"body": {
 					"mode": "raw",
 					"raw": "{\n    \"physical-location-id\": \"{{complex_name}}\",\n    \"data-center-code\": \"\",\n    \"complex-name\": \"{{complex_name}}\",\n    \"identity-url\": \"\",\n    \"physical-location-type\": \"\",\n    \"street1\": \"\",\n    \"street2\": \"\",\n    \"city\": \"\",\n    \"state\": \"\",\n    \"postal-code\": \"\",\n    \"country\": \"\",\n    \"region\": \"\",\n    \"latitude\": \"\",\n    \"longitude\": \"\",\n    \"elevation\": \"\",\n    \"lata\": \"\"\n}"
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-aai}}/aai/v16/cloud-infrastructure/complexes/complex/{{complex_name}}",
+					"host": [
+						"{{url-aai}}"
+					],
+					"path": [
+						"aai",
+						"v16",
+						"cloud-infrastructure",
+						"complexes",
+						"complex",
+						"{{complex_name}}"
+					]
+				}
 			},
 			"response": []
 		},
@@ -569,50 +651,62 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "eed67b4e-d3b5-4ba7-a254-6e8d44e10be0",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
 							"",
-							"var jsonData = JSON.parse(responseBody);",
+							"var jsonData = pm.response.json();",
 							"var complex_found = false;",
 							"for (var i = 0; i < jsonData[\"complex\"].length; i++) { ",
-							"   if (jsonData[\"complex\"][i][\"complex-name\"] === postman.getGlobalVariable(\"complex_name\")) {",
+							"   if (jsonData[\"complex\"][i][\"complex-name\"] === pm.globals.get(\"complex_name\")) {",
 							"       complex_found = true;",
 							"   }",
 							"}",
-							"tests[postman.getGlobalVariable(\"complex_name\")+\" found\"] = complex_found === true;",
+							"tests[\"Complex : \"+pm.globals.get(\"complex_name\")+\" found\"] = complex_found === true;",
 							""
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-aai}}/aai/v14/cloud-infrastructure/complexes",
 				"method": "GET",
 				"header": [
 					{
 						"key": "Authorization",
-						"value": "Basic QUFJOkFBSQ==",
-						"description": ""
+						"value": "Basic QUFJOkFBSQ=="
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "AAI",
-						"description": ""
+						"value": "AAI"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f",
-						"description": ""
+						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f"
 					}
 				],
-				"body": {},
-				"description": ""
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-aai}}/aai/v16/cloud-infrastructure/complexes",
+					"host": [
+						"{{url-aai}}"
+					],
+					"path": [
+						"aai",
+						"v16",
+						"cloud-infrastructure",
+						"complexes"
+					]
+				}
 			},
 			"response": []
 		},
@@ -622,113 +716,134 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "705695aa-21b8-4b3f-9e00-4f46178f37d0",
 						"exec": [
 							"var region_found = false;",
-							"if (responseCode.code === 404) {",
-							"    tests[postman.getGlobalVariable(\"onap_cloud_region_id\")+\" does not exists in AAI\"] = true;",
+							"if (pm.response.code === 404) {",
+							"    tests[pm.globals.get(\"onap_cloud_region_id\")+\" does not exists in AAI\"] = true;",
 							"}",
 							"else {",
-							"    if (responseCode.code === 200) {",
-							"        tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"    if (pm.response.code === 200) {",
+							"        tests[\"Status code is 200\"] = pm.response.code === 200;",
 							"        }",
-							"var jsonData = JSON.parse(responseBody);",
+							"var jsonData = pm.response.json();",
 							"for (var i = 0; i < jsonData[\"cloud-region\"].length; i++) { ",
-							"   if (jsonData[\"cloud-region\"][i][\"cloud-region-id\"] === postman.getGlobalVariable(\"onap_cloud_region_id\")) {",
+							"   if ((jsonData[\"cloud-region\"][i][\"cloud-region-id\"] === pm.globals.get(\"onap_cloud_region_id\")) && (jsonData[\"cloud-region\"][i][\"cloud-owner\"] === pm.globals.get(\"cloud_owner_name\"))) {",
 							"       region_found = true;",
 							"   }",
 							"}",
 							"",
 							"if (region_found === false) {",
-							"    tests[postman.getGlobalVariable(\"onap_cloud_region_id\")+\" does not exists\"] = true;",
+							"    tests[pm.globals.get(\"onap_cloud_region_id\")+\" does not exist yet for cloudOwner \"+pm.globals.get(\"cloud_owner_name\")] = true;",
 							"}",
 							"else {",
-							"    tests[postman.getGlobalVariable(\"onap_cloud_region_id\")+\" already exists, we skip creation\"] = true;",
+							"    tests[pm.globals.get(\"onap_cloud_region_id\")+\" already exists, we skip creation\"] = true;",
 							"    postman.setNextRequest(\"check tenant in cloud region\");",
 							"}",
 							"}"
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-aai}}/aai/v14/cloud-infrastructure/cloud-regions",
 				"method": "GET",
 				"header": [
 					{
 						"key": "Authorization",
-						"value": "Basic QUFJOkFBSQ==",
-						"description": ""
+						"value": "Basic QUFJOkFBSQ=="
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "AAI",
-						"description": ""
+						"value": "AAI"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f",
-						"description": ""
+						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f"
 					}
 				],
-				"body": {},
-				"description": ""
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-aai}}/aai/v16/cloud-infrastructure/cloud-regions",
+					"host": [
+						"{{url-aai}}"
+					],
+					"path": [
+						"aai",
+						"v16",
+						"cloud-infrastructure",
+						"cloud-regions"
+					]
+				}
 			},
 			"response": []
 		},
 		{
-			"name": "create CloudOwner/RegionOne cloud-region",
+			"name": "create cloud-region",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "41f77bea-f6cd-4bd9-961d-b02f42751db0",
 						"exec": [
-							"tests[\"Status code is 201\"] = responseCode.code === 201;"
-						]
+							"pm.test(\"Status code is 201\", function () {",
+							"    pm.response.to.have.status(201);",
+							"});"
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-aai}}/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/{{cloud_owner_name}}/{{onap_cloud_region_id}}",
 				"method": "PUT",
 				"header": [
 					{
 						"key": "Authorization",
-						"value": "Basic QUFJOkFBSQ==",
-						"description": ""
+						"value": "Basic QUFJOkFBSQ=="
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "AAI",
-						"description": ""
+						"value": "AAI"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f",
-						"description": ""
+						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f"
 					},
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					}
 				],
 				"body": {
 					"mode": "raw",
 					"raw": "{\r\n    \"cloud-owner\": \"{{cloud_owner_name}}\",\r\n    \"cloud-region-id\": \"{{onap_cloud_region_id}}\",\r\n    \"cloud-type\": \"{{cloud_type}}\",\r\n    \"owner-defined-type\": \"\",\r\n    \"cloud-region-version\": \"{{cloud_region_version}}\",\r\n    \"cloud-zone\": \"\",\r\n    \"complex-name\": \"{{complex_name}}\",\r\n    \"identity-url\": \"WillBeUpdatedByMultiCloud\",\r\n    \"sriov-automation\": false,\r\n    \"cloud-extra-info\": \"{\\\"openstack-region-id\\\":\\\"{{openstack_region_id}}\\\"}\",\r\n    \"esr-system-info-list\": {\r\n    \t\"esr-system-info\": [\r\n            {\r\n            \"esr-system-info-id\": \"{{random_uuid}}\",\r\n            \"service-url\": \"{{keystone_url}}\",\r\n            \"user-name\": \"{{user_name}}\",\r\n            \"password\": \"{{keystone_password}}\",\r\n            \"system-type\": \"VIM\",\r\n            \"ssl-insecure\": true,\r\n            \"cloud-domain\": \"Default\",\r\n            \"default-tenant\": \"{{tenant_name}}\",\r\n            \"system-status\": \"active\"\r\n            }\r\n        ]\r\n    }\r\n}"
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-aai}}/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/{{cloud_owner_name}}/{{onap_cloud_region_id}}",
+					"host": [
+						"{{url-aai}}"
+					],
+					"path": [
+						"aai",
+						"v16",
+						"cloud-infrastructure",
+						"cloud-regions",
+						"cloud-region",
+						"{{cloud_owner_name}}",
+						"{{onap_cloud_region_id}}"
+					]
+				}
 			},
 			"response": []
 		},
@@ -738,50 +853,61 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "a386bb95-c0fa-49b2-9837-efcdc6b40a86",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
-							"",
-							"var jsonData = JSON.parse(responseBody);",
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							"var jsonData = pm.response.json();",
 							"var region_found = false;",
 							"for (var i = 0; i < jsonData[\"cloud-region\"].length; i++) { ",
-							"   if (jsonData[\"cloud-region\"][i][\"cloud-region-id\"] === postman.getGlobalVariable(\"onap_cloud_region_id\")) {",
+							"   if (jsonData[\"cloud-region\"][i][\"cloud-region-id\"] === pm.globals.get(\"onap_cloud_region_id\")) {",
 							"       region_found = true;",
 							"   }",
 							"}",
-							"tests[postman.getGlobalVariable(\"onap_cloud_region_id\")+\" found\"] = region_found === true;",
+							"tests[\"Cloud-Region : \"+pm.globals.get(\"onap_cloud_region_id\")+\" found\"] = region_found === true;",
 							""
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-aai}}/aai/v14/cloud-infrastructure/cloud-regions",
 				"method": "GET",
 				"header": [
 					{
 						"key": "Authorization",
-						"value": "Basic QUFJOkFBSQ==",
-						"description": ""
+						"value": "Basic QUFJOkFBSQ=="
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "AAI",
-						"description": ""
+						"value": "AAI"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f",
-						"description": ""
+						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f"
 					}
 				],
-				"body": {},
-				"description": ""
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-aai}}/aai/v16/cloud-infrastructure/cloud-regions",
+					"host": [
+						"{{url-aai}}"
+					],
+					"path": [
+						"aai",
+						"v16",
+						"cloud-infrastructure",
+						"cloud-regions"
+					]
+				}
 			},
 			"response": []
 		},
@@ -791,49 +917,60 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "ad16fc86-7954-434f-bc45-25710ebeee57",
 						"exec": [
-							"tests[\"Status code is 200 : cloud-region associated to a complex\"] = responseCode.code === 200;",
+							"tests[\"Status code is 200 : cloud-region associated to complex\"] = pm.response.code === 200;",
 							""
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-aai}}/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/{{cloud_owner_name}}/{{onap_cloud_region_id}}/relationship-list/relationship",
 				"method": "PUT",
 				"header": [
 					{
 						"key": "Authorization",
-						"value": "Basic QUFJOkFBSQ==",
-						"description": ""
+						"value": "Basic QUFJOkFBSQ=="
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "AAI",
-						"description": ""
+						"value": "AAI"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f",
-						"description": ""
+						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f"
 					},
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n    \"related-to\": \"complex\",\n    \"related-link\": \"/aai/v13/cloud-infrastructure/complexes/complex/{{complex_name}}\",\n    \"relationship-data\": [\n        {\n        \"relationship-key\": \"complex.physical-location-id\",\n        \"relationship-value\": \"{{complex_name}}\"\n        }\n        ]\n    }"
+					"raw": "{\n    \"related-to\": \"complex\",\n    \"related-link\": \"/aai/v16/cloud-infrastructure/complexes/complex/{{complex_name}}\",\n    \"relationship-data\": [\n        {\n        \"relationship-key\": \"complex.physical-location-id\",\n        \"relationship-value\": \"{{complex_name}}\"\n        }\n        ]\n    }"
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-aai}}/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/{{cloud_owner_name}}/{{onap_cloud_region_id}}/relationship-list/relationship",
+					"host": [
+						"{{url-aai}}"
+					],
+					"path": [
+						"aai",
+						"v16",
+						"cloud-infrastructure",
+						"cloud-regions",
+						"cloud-region",
+						"{{cloud_owner_name}}",
+						"{{onap_cloud_region_id}}",
+						"relationship-list",
+						"relationship"
+					]
+				}
 			},
 			"response": []
 		},
@@ -843,75 +980,88 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "4367f5c4-0bf0-4e09-bc58-9a8bd6578685",
 						"exec": [
 							"var tenant_found = false;",
-							"if (responseCode.code === 404) {",
-							"    tests[postman.getGlobalVariable(\"tenant_name\")+\" does not exists in AAI\"] = true;",
+							"if (pm.response.code === 404) {",
+							"    tests[pm.globals.get(\"tenant_name\")+\" does not exists in AAI\"] = true;",
 							"}",
 							"else {",
-							"    if (responseCode.code === 200) {",
-							"        tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"    if (pm.response.code === 200) {",
+							"        tests[\"Status code is 200\"] = pm.response.code === 200;",
 							"        }",
-							"var jsonData = JSON.parse(responseBody);",
+							"var jsonData = pm.response.json();",
 							"",
 							"if(jsonData.hasOwnProperty('tenant'))",
 							"    {",
 							"    for (var i = 0; i < jsonData.tenant.length; i++) ",
 							"        { ",
-							"        if (jsonData.tenant[i]['tenant-id'] === postman.getGlobalVariable(\"tenant_id\")) ",
+							"        if (jsonData.tenant[i]['tenant-id'] === pm.globals.get(\"tenant_id\")) ",
 							"            {",
 							"            tenant_found = true;",
 							"            }",
 							"        }",
 							"    if (tenant_found === true) ",
 							"        {",
-							"        tests[postman.getGlobalVariable(\"tenant_name\")+\" already exists, we skip creation\"] = true;",
+							"        tests[pm.globals.get(\"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;",
+							"    tests[pm.globals.get(\"tenant_name\")+\" does not exists\"] = true;",
 							"    }",
 							"}",
 							"}"
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-aai}}/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/{{cloud_owner_name}}/{{onap_cloud_region_id}}/tenants",
 				"method": "GET",
 				"header": [
 					{
 						"key": "Authorization",
-						"value": "Basic QUFJOkFBSQ==",
-						"description": ""
+						"value": "Basic QUFJOkFBSQ=="
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "AAI",
-						"description": ""
+						"value": "AAI"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f",
-						"description": ""
+						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f"
 					},
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					}
 				],
-				"body": {},
-				"description": ""
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-aai}}/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/{{cloud_owner_name}}/{{onap_cloud_region_id}}/tenants",
+					"host": [
+						"{{url-aai}}"
+					],
+					"path": [
+						"aai",
+						"v16",
+						"cloud-infrastructure",
+						"cloud-regions",
+						"cloud-region",
+						"{{cloud_owner_name}}",
+						"{{onap_cloud_region_id}}",
+						"tenants"
+					]
+				}
 			},
 			"response": []
 		},
@@ -921,48 +1071,62 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "4d1eee0e-6afd-44e8-b1cc-269a1249232d",
 						"exec": [
-							"tests[\"Status code is 201\"] = responseCode.code === 201;"
-						]
+							"pm.test(\"Status code is 201\", function () {",
+							"    pm.response.to.have.status(201);",
+							"});"
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-aai}}/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/{{cloud_owner_name}}/{{onap_cloud_region_id}}/tenants/tenant/{{tenant_id}}",
 				"method": "PUT",
 				"header": [
 					{
 						"key": "Authorization",
-						"value": "Basic QUFJOkFBSQ==",
-						"description": ""
+						"value": "Basic QUFJOkFBSQ=="
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "AAI",
-						"description": ""
+						"value": "AAI"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "get_aai_subscr",
-						"description": ""
+						"value": "get_aai_subscr"
 					},
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					}
 				],
 				"body": {
 					"mode": "raw",
 					"raw": "{\n    \"tenant-id\": \"{{tenant_id}}\",\n    \"tenant-name\": \"{{tenant_name}}\"\n}"
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-aai}}/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/{{cloud_owner_name}}/{{onap_cloud_region_id}}/tenants/tenant/{{tenant_id}}",
+					"host": [
+						"{{url-aai}}"
+					],
+					"path": [
+						"aai",
+						"v16",
+						"cloud-infrastructure",
+						"cloud-regions",
+						"cloud-region",
+						"{{cloud_owner_name}}",
+						"{{onap_cloud_region_id}}",
+						"tenants",
+						"tenant",
+						"{{tenant_id}}"
+					]
+				}
 			},
 			"response": []
 		},
@@ -972,55 +1136,69 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "716f0a8a-37b3-412f-8d7b-acef34597bee",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
-							"",
-							"var jsonData = JSON.parse(responseBody);",
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							"var jsonData = pm.response.json();",
 							"var tenant_found = false;",
-							"for (var i = 0; i < jsonData[\"tenant\"].length; i++) { ",
-							"   if (jsonData[\"tenant\"][i][\"tenant-id\"] === postman.getGlobalVariable(\"tenant_id\")) {",
+							"for (var i = 0; i < jsonData.tenant.length; i++) { ",
+							"   if (jsonData.tenant[i][\"tenant-id\"] === pm.globals.get(\"tenant_id\")) {",
 							"       tenant_found = true;",
 							"   }",
 							"}",
-							"tests[postman.getGlobalVariable(\"tenant_name\")+\" found\"] = tenant_found === true;",
+							"tests[pm.globals.get(\"tenant_name\")+\" found\"] = tenant_found === true;",
 							""
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
-				"url": "{{url-aai}}/aai/v14/cloud-infrastructure/cloud-regions/cloud-region/{{cloud_owner_name}}/{{onap_cloud_region_id}}/tenants",
 				"method": "GET",
 				"header": [
 					{
 						"key": "Authorization",
-						"value": "Basic QUFJOkFBSQ==",
-						"description": ""
+						"value": "Basic QUFJOkFBSQ=="
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "AAI",
-						"description": ""
+						"value": "AAI"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f",
-						"description": ""
+						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f"
 					},
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					}
 				],
-				"body": {},
-				"description": ""
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-aai}}/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/{{cloud_owner_name}}/{{onap_cloud_region_id}}/tenants",
+					"host": [
+						"{{url-aai}}"
+					],
+					"path": [
+						"aai",
+						"v16",
+						"cloud-infrastructure",
+						"cloud-regions",
+						"cloud-region",
+						"{{cloud_owner_name}}",
+						"{{onap_cloud_region_id}}",
+						"tenants"
+					]
+				}
 			},
 			"response": []
 		},
@@ -1030,46 +1208,74 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "587ed4e3-e181-49c1-9f21-08d366a52587",
 						"exec": [
 							"var relation_found = false;",
-							"if (responseCode.code === 404) {",
-							"    tests[postman.getGlobalVariable(\"tenant_name\")+\" / \"+postman.getGlobalVariable(\"service\")+ \" relation does not exists\"] = true;",
+							"if (pm.response.code === 404) {",
+							"    tests[pm.globals.get(\"tenant_name\")+\" / \"+pm.globals.get(\"service\")+ \" relation does not exists\"] = true;",
 							"}",
 							"else {",
-							"    if (responseCode.code === 200) {",
-							"        tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"    if (pm.response.code === 200) {",
+							"        tests[\"Status code is 200\"] = pm.response.code === 200;",
 							"        }",
 							"",
-							"var jsonData = JSON.parse(responseBody);",
+							"var jsonData = pm.response.json();",
 							"for (var i = 0; i < jsonData[\"service-subscription\"].length; i++) { ",
-							"   if (jsonData[\"service-subscription\"][i][\"service-type\"] === postman.getGlobalVariable(\"service\")) {",
+							"   if (jsonData[\"service-subscription\"][i][\"service-type\"] === pm.globals.get(\"service\")) {",
 							"       relation_found = true;",
 							"   }",
 							"}",
 							"",
 							"if (relation_found === false) {",
-							"    tests[postman.getGlobalVariable(\"tenant_name\")+\" / \"+postman.getGlobalVariable(\"service\")+ \" relation does not exists\"] = true;",
+							"    tests[pm.globals.get(\"tenant_name\")+\" / \"+pm.globals.get(\"service\")+ \" relation does not exists\"] = true;",
 							"}",
 							"",
 							"else {",
-							"    tests[postman.getGlobalVariable(\"tenant_name\")+\" / \"+postman.getGlobalVariable(\"service\")+ \" already exists, we skip relation creation\"] = true;",
+							"    tests[pm.globals.get(\"tenant_name\")+\" / \"+pm.globals.get(\"service\")+ \" already exists, we skip relation creation\"] = true;",
 							"    postman.setNextRequest(\"check customer-service-tenant relation creation\");",
 							"}",
 							"}"
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
+				"method": "GET",
+				"header": [
+					{
+						"key": "Authorization",
+						"value": "Basic QUFJOkFBSQ=="
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "AAI"
+					},
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
 				"url": {
-					"raw": "{{url-aai}}/aai/v14/business/customers/customer/{{customer_name}}/service-subscriptions?depth=all",
+					"raw": "{{url-aai}}/aai/v16/business/customers/customer/{{customer_name}}/service-subscriptions?depth=all",
 					"host": [
 						"{{url-aai}}"
 					],
 					"path": [
 						"aai",
-						"v14",
+						"v16",
 						"business",
 						"customers",
 						"customer",
@@ -1079,71 +1285,65 @@
 					"query": [
 						{
 							"key": "depth",
-							"value": "all",
-							"equals": true,
-							"description": ""
+							"value": "all"
 						}
-					],
-					"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",
+			"name": "Add service to customer",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "9a9da50d-49ce-4f9e-ae18-6131dce516eb",
 						"exec": [
-							"tests[\"Status code is 201\"] = responseCode.code === 201;"
-						]
+							"pm.test(\"Status code is 201\", function () {",
+							"    pm.response.to.have.status(201);",
+							"});"
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
+				"method": "PUT",
+				"header": [
+					{
+						"key": "Authorization",
+						"value": "Basic QUFJOkFBSQ=="
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "AAI"
+					},
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": "{\n    \"service-id\": \"{{auto_service_id}}\"\n}"
+				},
 				"url": {
-					"raw": "{{url-aai}}/aai/v14/business/customers/customer/{{customer_name}}/service-subscriptions/service-subscription/{{service}}?resource-version={{auto_service_resource_version}}",
+					"raw": "{{url-aai}}/aai/v16/business/customers/customer/{{customer_name}}/service-subscriptions/service-subscription/{{service}}",
 					"host": [
 						"{{url-aai}}"
 					],
 					"path": [
 						"aai",
-						"v14",
+						"v16",
 						"business",
 						"customers",
 						"customer",
@@ -1151,50 +1351,74 @@
 						"service-subscriptions",
 						"service-subscription",
 						"{{service}}"
-					],
-					"query": [
-						{
-							"key": "resource-version",
-							"value": "{{auto_service_resource_version}}",
-							"equals": true,
-							"description": ""
-						}
-					],
-					"variable": []
-				},
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "Add tenant to service-customer",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "9a9da50d-49ce-4f9e-ae18-6131dce516eb",
+						"exec": [
+							"pm.test(\"Status code is 201\", function () {",
+							"    pm.response.to.have.status(201);",
+							"});"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
 				"method": "PUT",
 				"header": [
 					{
 						"key": "Authorization",
-						"value": "Basic QUFJOkFBSQ==",
-						"description": ""
+						"value": "Basic QUFJOkFBSQ=="
 					},
 					{
 						"key": "X-FromAppId",
-						"value": "AAI",
-						"description": ""
+						"value": "AAI"
 					},
 					{
 						"key": "Accept",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "Content-Type",
-						"value": "application/json",
-						"description": ""
+						"value": "application/json"
 					},
 					{
 						"key": "X-TransactionId",
-						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f",
-						"description": ""
+						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f"
 					}
 				],
 				"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}}/{{onap_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\": \"{{onap_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}"
+					"raw": "{\n    \"related-to\": \"tenant\",\n    \"related-link\": \"/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/{{cloud_owner_name}}/{{onap_cloud_region_id}}/tenants/tenant/{{tenant_id}}\",\n    \"relationship-data\": [\n        {\n            \"relationship-key\": \"cloud-region.cloud-owner\",\n            \"relationship-value\": \"{{cloud_owner_name}}\"\n        },\n        {\n            \"relationship-key\": \"cloud-region.cloud-region-id\",\n            \"relationship-value\": \"{{onap_cloud_region_id}}\"\n        },\n        {\n            \"relationship-key\": \"tenant.tenant-id\",\n            \"relationship-value\": \"{{tenant_id}}\"\n        }\n    ],\n    \"related-to-property\": [\n        {\n            \"property-key\": \"tenant.tenant-name\",\n            \"property-value\": \"{{tenant_name}}\"\n        }\n    ]\n}"
 				},
-				"description": ""
+				"url": {
+					"raw": "{{url-aai}}/aai/v16/business/customers/customer/{{customer_name}}/service-subscriptions/service-subscription/{{service}}/relationship-list/relationship",
+					"host": [
+						"{{url-aai}}"
+					],
+					"path": [
+						"aai",
+						"v16",
+						"business",
+						"customers",
+						"customer",
+						"{{customer_name}}",
+						"service-subscriptions",
+						"service-subscription",
+						"{{service}}",
+						"relationship-list",
+						"relationship"
+					]
+				}
 			},
 			"response": []
 		},
@@ -1204,32 +1428,60 @@
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "10e61ec5-243b-4ce6-b9b8-a29054df2504",
 						"exec": [
 							"tests[\"Status code is 200\"] = responseCode.code === 200;",
 							"",
-							"var jsonData = JSON.parse(responseBody);",
+							"var jsonData = pm.response.json();",
 							"var service_found = false;",
 							"for (var i = 0; i < jsonData[\"service-subscription\"].length; i++) { ",
-							"   if (jsonData[\"service-subscription\"][i][\"service-type\"] === postman.getGlobalVariable(\"service\")) {",
+							"   if (jsonData[\"service-subscription\"][i][\"service-type\"] === pm.globals.get(\"service\")) {",
 							"       service_found = true;",
 							"   }",
 							"}",
-							"tests[postman.getGlobalVariable(\"service\")+\" found\"] = service_found === true;",
+							"tests[\"Service subscription : \"+pm.globals.get(\"service\")+\" found for customer : \"+pm.globals.get(\"customer_name\")] = service_found === true;",
 							""
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
 			"request": {
+				"method": "GET",
+				"header": [
+					{
+						"key": "Authorization",
+						"value": "Basic QUFJOkFBSQ=="
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "AAI"
+					},
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "808b54e3-e563-4144-a1b9-e24e2ed93d4f"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
 				"url": {
-					"raw": "{{url-aai}}/aai/v14/business/customers/customer/{{customer_name}}/service-subscriptions?depth=all",
+					"raw": "{{url-aai}}/aai/v16/business/customers/customer/{{customer_name}}/service-subscriptions?depth=all",
 					"host": [
 						"{{url-aai}}"
 					],
 					"path": [
 						"aai",
-						"v14",
+						"v16",
 						"business",
 						"customers",
 						"customer",
@@ -1239,46 +1491,10 @@
 					"query": [
 						{
 							"key": "depth",
-							"value": "all",
-							"equals": true,
-							"description": ""
+							"value": "all"
 						}
-					],
-					"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": []
 		}
diff --git a/test/postman/10_Service_Order.postman_collection.json b/test/postman/10_Service_Order.postman_collection.json
deleted file mode 100644
index d828f00..0000000
--- a/test/postman/10_Service_Order.postman_collection.json
+++ /dev/null
@@ -1,444 +0,0 @@
-{
-	"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}}/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}}/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}}/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}}/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\";",
-							"",
-							"if(jsonData.hasOwnProperty('orderItem.service.id')){",
-							"    postman.setGlobalVariable(\"auto_service_instance_id\", \"\"+jsonData.orderItem.service.id+\"\");",
-							"}",
-							"postman.setGlobalVariable(\"auto_service_messageInformation\", \"\"+jsonData.orderMessage[0].messageInformation+\"\");",
-							""
-						]
-					}
-				}
-			],
-			"request": {
-				"url": "{{url-nbi}}/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": "{{url-nbi}}/service/{{auto_service_instance_id}}",
-				"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}}/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}}/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 404\"] = responseCode.code === 404;",
-							"",
-							"",
-							""
-						]
-					}
-				}
-			],
-			"request": {
-                                "url": "{{url-nbi}}/service/{{auto_service_instance_id}}",
-				"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}}/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}}/hub",
-				"method": "GET",
-				"header": [],
-				"body": {},
-				"description": ""
-			},
-			"response": []
-		}
-	]
-}
diff --git a/test/postman/10_instantiate_service_vnf_vfmodule.postman_collection.json b/test/postman/10_instantiate_service_vnf_vfmodule.postman_collection.json
new file mode 100644
index 0000000..e90fed4
--- /dev/null
+++ b/test/postman/10_instantiate_service_vnf_vfmodule.postman_collection.json
@@ -0,0 +1,1357 @@
+{
+	"info": {
+		"_postman_id": "e89df100-56db-4922-9a58-c92465f0cb9e",
+		"name": "10_instantiate_service_vnf_vfmodule",
+		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
+	},
+	"item": [
+		{
+			"name": "GET ExternalAPI-NBI component Status (HealthCheck)",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "ddeb2e4b-2ef6-4b58-8e5c-cc202fbb232a",
+						"exec": [
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							"var NBI_status = false;",
+							"var jsonData = pm.response.json();",
+							"",
+							"if (jsonData.status === \"ok\") {",
+							"       NBI_status = true;",
+							"}",
+							"tests[\"NBI status OK\"] = NBI_status === true;",
+							""
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "GET",
+				"header": [],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-nbi}}/nbi/api/v4/status",
+					"host": [
+						"{{url-nbi}}"
+					],
+					"path": [
+						"nbi",
+						"api",
+						"v4",
+						"status"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "GET all service models from Service Catalog API",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "d020751d-1ca5-4c47-af33-40faea633e62",
+						"exec": [
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							"var jsonData = pm.response.json();",
+							"var service_found = false;",
+							"for (var i = 0; i < jsonData.length; i++) { ",
+							"   if (jsonData[i].name === pm.globals.get(\"service\")) {",
+							"       service_found = true;",
+							"       pm.globals.set(\"auto_service_id\", \"\"+jsonData[i].id+\"\");",
+							"   }",
+							"}",
+							"tests[\"Service : \"+pm.globals.get(\"service\")+\" exists\"] = service_found === true;",
+							""
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "GET",
+				"header": [],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-nbi}}/nbi/api/v4/serviceSpecification",
+					"host": [
+						"{{url-nbi}}"
+					],
+					"path": [
+						"nbi",
+						"api",
+						"v4",
+						"serviceSpecification"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "GET all service instances via ServiceInventory API",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "79e173a3-297e-467f-8c9b-be90035a91aa",
+						"exec": [
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							"var jsonData = pm.response.json();",
+							"var service_instance_found = false;",
+							"for (var i = 0; i < jsonData.length; i++) { ",
+							"   if (jsonData[i].name === pm.globals.get(\"service_instance_name\")) {",
+							"       service_instance_found = true;",
+							"   }",
+							"}",
+							"tests[\"Service instance : \"+pm.globals.get(\"service_instance_name\")+\" does not exist\"] = service_instance_found === false;"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "GET",
+				"header": [],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-nbi}}/nbi/api/v4/service?relatedParty.id={{customer_name}}",
+					"host": [
+						"{{url-nbi}}"
+					],
+					"path": [
+						"nbi",
+						"api",
+						"v4",
+						"service"
+					],
+					"query": [
+						{
+							"key": "relatedParty.id",
+							"value": "{{customer_name}}"
+						}
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "Add service instance via ServiceOrder API",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "9e3790c5-456a-44aa-9579-de3e9be2b61a",
+						"exec": [
+							"pm.test(\"Status code is 201\", function () {",
+							"    pm.response.to.have.status(201);",
+							"});",
+							"",
+							"var jsonData = pm.response.json();",
+							"tests[pm.globals.get(\"externalId\")+\" exists\"] = jsonData.externalId === pm.globals.get(\"externalId\");",
+							"",
+							"pm.globals.set(\"auto_service_order_id\", jsonData.id);",
+							"    "
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "POST",
+				"header": [
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					}
+				],
+				"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}"
+				},
+				"url": {
+					"raw": "{{url-nbi}}/nbi/api/v4/serviceOrder",
+					"host": [
+						"{{url-nbi}}"
+					],
+					"path": [
+						"nbi",
+						"api",
+						"v4",
+						"serviceOrder"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "GET previous serviceOrder after 10s",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "dc4fc1f9-cd6a-41c8-a972-06694d869384",
+						"exec": [
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							"",
+							"var jsonData = pm.response.json();",
+							"",
+							"tests[pm.globals.get(\"externalId\")+\" exists\"] = jsonData.externalId === pm.globals.get(\"externalId\");",
+							"tests[\"service_order_id exists\"] = jsonData.id === pm.globals.get(\"auto_service_order_id\");",
+							"tests[\"service Order state is : \"+jsonData.state] = jsonData.state === \"completed\";",
+							"tests[\"Service Instance state is : \"+jsonData.orderItem[0].service.serviceState] = jsonData.orderItem[0].service.serviceState === \"active\";",
+							"",
+							"",
+							"if(jsonData.state == \"completed\"){",
+							"    pm.globals.set(\"auto_service_instance_id\", \"\"+jsonData.orderItem[0].service.id+\"\");",
+							"}",
+							"if (jsonData.orderMessage !== null){",
+							"    tests[\"order message is : \" +jsonData.orderMessage[0].messageInformation] = jsonData.orderMessage[0].messageInformation === \"\";",
+							"    pm.globals.set(\"auto_service_messageInformation\", \"\"+jsonData.orderMessage[0].messageInformation+\"\");",
+							"    }",
+							""
+						],
+						"type": "text/javascript"
+					}
+				},
+				{
+					"listen": "prerequest",
+					"script": {
+						"id": "b2473649-e045-465e-84cc-0725d83d57ed",
+						"exec": [
+							"  var date = new Date();",
+							"  var curDate = null;",
+							"  do {",
+							"    curDate = new Date();",
+							"  }",
+							"  while (curDate - date < 10000);"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "GET",
+				"header": [
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-nbi}}/nbi/api/v4/serviceOrder/{{auto_service_order_id}}",
+					"host": [
+						"{{url-nbi}}"
+					],
+					"path": [
+						"nbi",
+						"api",
+						"v4",
+						"serviceOrder",
+						"{{auto_service_order_id}}"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "SO orchestrationRequests",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "1536607a-13f7-4c9a-97a6-af7f5dbc0593",
+						"exec": [
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							"var jsonData = pm.response.json();",
+							"",
+							"if (jsonData.requestList.length > 0){",
+							"    tests[\"requestState is : \"+jsonData.requestList[0].request.requestStatus.requestState] = jsonData.requestList[0].request.requestStatus.requestState === \"COMPLETE\";",
+							"    tests[\"statusMessage is : \"+jsonData.requestList[0].request.requestStatus.statusMessage] = jsonData.requestList[0].request.requestStatus.statusMessage === \"Service Instance was created successfully.\";",
+							"}",
+							"else {",
+							"    tests[\"no order for that service instance\"] = true === false;",
+							"}"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "GET",
+				"header": [
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "AAI"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "get_aai_subscr"
+					},
+					{
+						"key": "Authorization",
+						"value": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA=="
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-so}}/onap/so/infra/orchestrationRequests/v7?filter=serviceInstanceName:EQUALS:{{service_instance_name}}",
+					"host": [
+						"{{url-so}}"
+					],
+					"path": [
+						"onap",
+						"so",
+						"infra",
+						"orchestrationRequests",
+						"v7"
+					],
+					"query": [
+						{
+							"key": "filter",
+							"value": "serviceInstanceName:EQUALS:{{service_instance_name}}"
+						}
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "Check service instance in inventory via NBI request",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "f1cbf2f1-1ed2-4d21-9483-46602241705d",
+						"exec": [
+							"tests[\"Service Instance : \"+ pm.globals.get(\"service_instance_name\") +\" exists in AAI inventory\"] = pm.response.code === 200;",
+							""
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "GET",
+				"header": [],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-nbi}}/nbi/api/v4/service/{{auto_service_instance_id}}?relatedParty.id={{customer_name}}&serviceSpecification.name={{service}}",
+					"host": [
+						"{{url-nbi}}"
+					],
+					"path": [
+						"nbi",
+						"api",
+						"v4",
+						"service",
+						"{{auto_service_instance_id}}"
+					],
+					"query": [
+						{
+							"key": "relatedParty.id",
+							"value": "{{customer_name}}"
+						},
+						{
+							"key": "serviceSpecification.name",
+							"value": "{{service}}"
+						}
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "Instantiate vnf",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "e779f618-dd36-474f-802d-a36abdf69708",
+						"exec": [
+							"pm.test(\"Status code is 202\", function () {",
+							"    pm.response.to.have.status(202);",
+							"});",
+							"",
+							"var jsonData = pm.response.json();",
+							"",
+							"pm.globals.set(\"auto_so_request_id\", \"\"+jsonData.requestReferences.requestId+\"\");",
+							"pm.globals.set(\"auto_vnf_instance_id\", \"\"+jsonData.requestReferences.instanceId+\"\");",
+							""
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "POST",
+				"header": [
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "AAI"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "get_aai_subscr"
+					},
+					{
+						"key": "Authorization",
+						"value": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA=="
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": "{\n  \"requestDetails\": {\n    \"requestInfo\": {\n      \"productFamilyId\": \"{{auto_service_uuid}}\",\n      \"instanceName\": \"{{vnf_instance_name}}\",\n      \"source\": \"VID\",\n      \"suppressRollback\": false,\n      \"requestorId\": \"test\"\n    },\n\t\"modelInfo\": {\n\t\t\"modelType\": \"vnf\",\n\t\t\"modelInvariantId\": \"{{auto_vf_invariant_uuid}}\",\n\t\t\t\"modelVersionId\": \"{{auto_vf_uuid}}\",\n\t\t\t\"modelName\": \"{{vf_name}}\",\n\t\t\t\"modelVersion\": \"1.0\",\n\t\t\t\"modelCustomizationId\": \"{{auto_vf_customization_uuid}}\",\n\t\t\t\"modelCustomizationName\": \"{{auto_vf_name_for_model}}\"\n\t\t},\n    \"requestParameters\": {\n      \"userParams\": [],\n      \"aLaCarte\": true,\n\t  \"testApi\": \"VNF_API\"\n    },\n    \"cloudConfiguration\": {\n      \"lcpCloudRegionId\": \"{{onap_cloud_region_id}}\",\n      \"tenantId\": \"{{tenant_id}}\"\n    },\n\t\t\"lineOfBusiness\": {\n\t\t\t\"lineOfBusinessName\": \"{{lineofbusiness}}\"\n\t\t},\n\t\t\"platform\": {\n\t\t\t\"platformName\": \"{{platform}}\"\n\t\t},\n\t\t\"relatedInstanceList\": [{\n\t\t\t\"relatedInstance\": {\n\t\t\t\t\"instanceId\": \"{{auto_service_instance_id}}\",\n\t\t\t\t\"modelInfo\": {\n\t\t\t\t\t\"modelType\": \"service\",\n\t\t\t\t\t\"modelName\": \"{{service}}\",\n\t\t\t\t\t\"modelInvariantId\": \"{{auto_service_invariant_uuid}}\",\n\t\t\t\t\t\"modelVersion\": \"1.0\",\n\t\t\t\t\t\"modelVersionId\": \"{{auto_service_uuid}}\"\n\t\t\t\t}\n\t\t\t}\n\t\t}]\n  }\n}\n\n"
+				},
+				"url": {
+					"raw": "{{url-so}}/onap/so/infra/serviceInstances/v7/{{auto_service_instance_id}}/vnfs",
+					"host": [
+						"{{url-so}}"
+					],
+					"path": [
+						"onap",
+						"so",
+						"infra",
+						"serviceInstances",
+						"v7",
+						"{{auto_service_instance_id}}",
+						"vnfs"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "SO orchestrationRequests after 10s",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "750de5df-76ee-42c6-8f04-bfb9e1a9ea33",
+						"exec": [
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							"var jsonData = pm.response.json();",
+							"",
+							"pm.globals.set(\"auto_vnf_instance_id\", \"\"+jsonData.request.instanceReferences.vnfInstanceId+\"\");",
+							"tests[\"requestState is : \"+jsonData.request.requestStatus.requestState] = jsonData.request.requestStatus.requestState === \"COMPLETE\";",
+							"tests[\"statusMessage is : \"+jsonData.request.requestStatus.statusMessage] = jsonData.request.requestStatus.statusMessage === \"Vnf has been created successfully.\";",
+							""
+						],
+						"type": "text/javascript"
+					}
+				},
+				{
+					"listen": "prerequest",
+					"script": {
+						"id": "15a5b018-1d8a-4326-9810-cf94a1f4d80f",
+						"exec": [
+							"  var date = new Date();",
+							"  var curDate = null;",
+							"  do {",
+							"    curDate = new Date();",
+							"  }",
+							"  while (curDate - date < 10000);"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "GET",
+				"header": [
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "AAI"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "get_aai_subscr"
+					},
+					{
+						"key": "Authorization",
+						"value": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA=="
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-so}}/onap/so/infra/orchestrationRequests/v7/{{auto_so_request_id}}",
+					"host": [
+						"{{url-so}}"
+					],
+					"path": [
+						"onap",
+						"so",
+						"infra",
+						"orchestrationRequests",
+						"v7",
+						"{{auto_so_request_id}}"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "check vnf instance in inventory via AAI request",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "a08edc1f-6b8c-4a7e-91ce-6d774d0dfb1e",
+						"exec": [
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							"var jsonData = pm.response.json();",
+							"var vnf_instance_found = false;",
+							"for (var i = 0; i < jsonData[\"generic-vnf\"].length; i++) { ",
+							"   if (jsonData[\"generic-vnf\"][i][\"vnf-name\"] === pm.globals.get(\"vnf_instance_name\")) {",
+							"       vnf_instance_found = true;",
+							"   }",
+							"}",
+							"tests[\"VNF Instance : \"+ pm.globals.get(\"vnf_instance_name\") +\" exists in AAI inventory\"] = vnf_instance_found === true;"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "GET",
+				"header": [
+					{
+						"key": "Authorization",
+						"value": "Basic QUFJOkFBSQ=="
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "AAI"
+					},
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "get_aai_subscr"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-aai}}/aai/v16/network/generic-vnfs",
+					"host": [
+						"{{url-aai}}"
+					],
+					"path": [
+						"aai",
+						"v16",
+						"network",
+						"generic-vnfs"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "preload for VFmodule",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "62a8ef7f-7fde-423c-8b70-5f74bb6bc00b",
+						"exec": [
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "POST",
+				"header": [
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "0a3f6713-ba96-4971-a6f8-c2da85a3176e"
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "API client"
+					},
+					{
+						"key": "Authorization",
+						"value": "Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ=="
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": "{\n    \"input\": {\n        \"request-information\": {\n            \"notification-url\": \"onap.org\",\n            \"order-number\": \"1\",\n            \"order-version\": \"1\",\n            \"request-action\": \"PreloadVNFRequest\",\n            \"request-id\": \"test\"\n        },\n        \"sdnc-request-header\": {\n            \"svc-action\": \"reserve\",\n            \"svc-notification-url\": \"http:\\/\\/onap.org:8080\\/adapters\\/rest\\/SDNCNotify\",\n            \"svc-request-id\": \"test\"\n        },\n        \"vnf-topology-information\": {\n            \"vnf-assignments\": {\n                \"availability-zones\": [],\n                \"vnf-networks\": [],\n                \"vnf-vms\": []\n            },\n            \"vnf-parameters\": [],\n            \"vnf-topology-identifier\": {\n                \"generic-vnf-name\": \"{{vnf_instance_name}}\",\n                \"generic-vnf-type\": \"{{auto_vf_name_for_model}}\",\n                \"service-type\": \"{{auto_service_instance_id}}\",\n                \"vnf-name\": \"{{vfmodule_instance_name}}\",\n                \"vnf-type\": \"{{auto_vf_module_model_name}}\"\n            }\n        }\n    }\n}\n\n"
+				},
+				"url": {
+					"raw": "{{url-sdnc}}/restconf/operations/VNF-API:preload-vnf-topology-operation",
+					"host": [
+						"{{url-sdnc}}"
+					],
+					"path": [
+						"restconf",
+						"operations",
+						"VNF-API:preload-vnf-topology-operation"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "Instantiate vf-module",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "61781baf-f6d4-4229-95d0-32e85cde3e82",
+						"exec": [
+							"pm.test(\"Status code is 202\", function () {",
+							"    pm.response.to.have.status(202);",
+							"});",
+							"",
+							"var jsonData = pm.response.json();",
+							"if (responseCode.code === 202){",
+							"    pm.globals.set(\"auto_so_request_id\", \"\"+jsonData.requestReferences.requestId+\"\");",
+							"    pm.globals.set(\"auto_vfmodule_instance_id\", \"\"+jsonData.requestReferences.instanceId+\"\");",
+							"}"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "POST",
+				"header": [
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "AAI"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "get_aai_subscr"
+					},
+					{
+						"key": "Authorization",
+						"value": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA=="
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": "{\n  \"requestDetails\": {\n    \"requestInfo\": {\n      \"instanceName\": \"{{vfmodule_instance_name}}\",\n      \"source\": \"VID\",\n      \"suppressRollback\": false,\n      \"requestorId\": \"test\"\n    },\n\t\"modelInfo\": {\n\t\t\"modelType\": \"vfModule\",\n\t\t\"modelInvariantId\": \"{{auto_vf_module_model_invariant_uuid}}\",\n\t\t\"modelVersionId\": \"{{auto_vf_module_model_uuid}}\",\n\t\t\"modelName\": \"{{auto_vf_module_model_name}}\",\n\t\t\"modelVersion\": \"1\",\n\t\t\"modelCustomizationId\": \"{{auto_vf_module_model_customization_uuid}}\",\n\t\t\"modelCustomizationName\": \"{{auto_vf_module_model_name}}\"\n\t},\n \t\"requestParameters\": {\n \t\t\"userParams\": [],\n \t\t\"testApi\": \"VNF_API\",\n \t\t\"usePreload\": true\n \t},\n    \"cloudConfiguration\": {\n      \"lcpCloudRegionId\": \"{{onap_cloud_region_id}}\",\n      \"tenantId\": \"{{tenant_id}}\"\n    },\n\t\t\"relatedInstanceList\": [{\n\t\t\t\"relatedInstance\": {\n\t\t\t\t\"instanceId\": \"{{auto_service_instance_id}}\",\n\t\t\t\t\"modelInfo\": {\n\t\t\t\t\t\"modelType\": \"service\",\n\t\t\t\t\t\"modelName\": \"{{service}}\",\n\t\t\t\t\t\"modelInvariantId\": \"{{auto_service_invariant_uuid}}\",\n\t\t\t\t\t\"modelVersion\": \"1.0\",\n\t\t\t\t\t\"modelVersionId\": \"{{auto_service_uuid}}\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\t\"relatedInstance\": {\n\t\t\t\t\"instanceId\": \"{{auto_vnf_instance_id}}\",\n\t\t\t\t\"modelInfo\": {\n\t\t\t\t\t\"modelType\": \"vnf\",\n\t\t\t\t\t\"modelName\": \"{{vf_name}}\",\n\t\t\t\t\t\"modelInvariantId\": \"{{auto_vf_invariant_uuid}}\",\n\t\t\t\t\t\"modelVersion\": \"1.0\",\n\t\t\t\t\t\"modelVersionId\": \"{{auto_vf_uuid}}\",\n\t\t\t\t\t\"modelCustomizationId\": \"{{auto_vf_customization_uuid}}\",\n\t\t\t\t\t\"modelCustomizationName\": \"{{auto_vf_name_for_model}}\"\n\t\t\t\t}\n\t\t\t}\n\t\t}]\n  }\n}\n\n"
+				},
+				"url": {
+					"raw": "{{url-so}}/onap/so/infra/serviceInstances/v7/{{auto_service_instance_id}}/vnfs/{{auto_vnf_instance_id}}/vfModules",
+					"host": [
+						"{{url-so}}"
+					],
+					"path": [
+						"onap",
+						"so",
+						"infra",
+						"serviceInstances",
+						"v7",
+						"{{auto_service_instance_id}}",
+						"vnfs",
+						"{{auto_vnf_instance_id}}",
+						"vfModules"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "SO orchestrationRequests after 120s",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "ef3be415-7453-4d2d-91ce-de6e2df05dbe",
+						"exec": [
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							"var jsonData = pm.response.json();",
+							"",
+							"pm.globals.set(\"auto_vfmodule_instance_id\", \"\"+jsonData.request.instanceReferences.vfModuleInstanceId+\"\");",
+							"tests[\"requestState is : \"+jsonData.request.requestStatus.requestState] = jsonData.request.requestStatus.requestState === \"COMPLETE\";",
+							"tests[\"statusMessage is : \"+jsonData.request.requestStatus.statusMessage] = jsonData.request.requestStatus.statusMessage === \"Vf Module has been created successfully.\";"
+						],
+						"type": "text/javascript"
+					}
+				},
+				{
+					"listen": "prerequest",
+					"script": {
+						"id": "8f7cbf38-cb21-45af-9648-1915c92bcb12",
+						"exec": [
+							"  var date = new Date();",
+							"  var curDate = null;",
+							"  do {",
+							"    curDate = new Date();",
+							"  }",
+							"  while (curDate - date < 10000);"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "GET",
+				"header": [
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "AAI"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "get_aai_subscr"
+					},
+					{
+						"key": "Authorization",
+						"value": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA=="
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-so}}/onap/so/infra/orchestrationRequests/v7/{{auto_so_request_id}}",
+					"host": [
+						"{{url-so}}"
+					],
+					"path": [
+						"onap",
+						"so",
+						"infra",
+						"orchestrationRequests",
+						"v7",
+						"{{auto_so_request_id}}"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "check vfmodule instance in inventory via AAI request",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "81203009-3d68-426d-9491-1276983693e5",
+						"exec": [
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							"var jsonData = pm.response.json();",
+							"var vfmodule_instance_found = false;",
+							"for (var i = 0; i < jsonData[\"vf-module\"].length; i++) { ",
+							"   if (jsonData[\"vf-module\"][i][\"vf-module-name\"] === pm.globals.get(\"vfmodule_instance_name\")) {",
+							"       vfmodule_instance_found = true;",
+							"   }",
+							"}",
+							"tests[\"vfmodule Instance : \"+ pm.globals.get(\"vfmodule_instance_name\") +\" exists in AAI inventory\"] = vfmodule_instance_found === true;"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "GET",
+				"header": [
+					{
+						"key": "Authorization",
+						"value": "Basic QUFJOkFBSQ=="
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "AAI"
+					},
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "get_aai_subscr"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-aai}}/aai/v16/network/generic-vnfs/generic-vnf/{{auto_vnf_instance_id}}/vf-modules",
+					"host": [
+						"{{url-aai}}"
+					],
+					"path": [
+						"aai",
+						"v16",
+						"network",
+						"generic-vnfs",
+						"generic-vnf",
+						"{{auto_vnf_instance_id}}",
+						"vf-modules"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "preload for Virtual Link",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "62a8ef7f-7fde-423c-8b70-5f74bb6bc00b",
+						"exec": [
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "POST",
+				"header": [
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "0a3f6713-ba96-4971-a6f8-c2da85a3176e"
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "API client"
+					},
+					{
+						"key": "Authorization",
+						"value": "Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ=="
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": "{\n  \"input\": {\n    \"request-information\": {\n      \"request-id\": \"postman001\",\n      \"notification-url\": \"http://so.onap.org\",\n      \"order-number\": \"postman001\",\n      \"request-sub-action\": \"SUPP\",\n      \"request-action\": \"PreloadNetworkRequest\",\n      \"source\": \"postman\",\n      \"order-version\": \"1.0\"\n    },\n    \"network-topology-information\": {\n      \"network-policy\": [],\n      \"route-table-reference\": [],\n      \"vpn-bindings\": [],\n      \"network-topology-identifier\": {\n        \"network-role\": \"integration_test_net\",\n        \"network-technology\": \"neutron\",\n        \"service-type\": \"{{service}}\",\n        \"network-name\": \"rr01\",\n        \"network-type\": \"Generic NeutronNet\"\n      },\n      \"provider-network-information\": {\n        \"is-external-network\": \"false\",\n        \"is-provider-network\": \"false\",\n        \"is-shared-network\": \"false\"\n      },\n      \"subnets\": [\n        {\n\t\t  \"subnet-name\": \"rr01\",\n\t\t  \"subnet-role\": \"OAM\",\n          \"start-address\": \"192.168.90.0\",\n          \"cidr-mask\": \"24\",\n          \"ip-version\": \"4\",\n          \"dhcp-enabled\": \"Y\",\n\t\t  \"dhcp-start-address\": \"\",\n\t\t  \"dhcp-end-address\": \"\",\n          \"gateway-address\": \"192.168.90.1\",\n\t\t  \"host-routes\":[]\n        }\n              ]\n    },\n    \"sdnc-request-header\": {\n      \"svc-action\": \"reserve\",\n      \"svc-notification-url\": \"http://so.onap.org\",\n      \"svc-request-id\": \"postman001\"\n    }\n  }\n}\n\n"
+				},
+				"url": {
+					"raw": "{{url-sdnc}}/restconf/operations/VNF-API:preload-network-topology-operation",
+					"host": [
+						"{{url-sdnc}}"
+					],
+					"path": [
+						"restconf",
+						"operations",
+						"VNF-API:preload-network-topology-operation"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "Instantiate Generic Neutron Virtual Link",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "030a6341-9ba8-4dc4-bbe4-9818c34d5f1c",
+						"exec": [
+							"pm.test(\"Status code is 202\", function () {",
+							"    pm.response.to.have.status(202);",
+							"});",
+							"",
+							"var jsonData = pm.response.json();",
+							"",
+							"pm.globals.set(\"auto_so_request_id\", \"\"+jsonData.requestReferences.requestId+\"\");",
+							"pm.globals.set(\"auto_virtual_link_instance_id\", \"\"+jsonData.requestReferences.instanceId+\"\");",
+							""
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "POST",
+				"header": [
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "AAI"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "get_aai_subscr"
+					},
+					{
+						"key": "Authorization",
+						"value": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA=="
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": "{\n\t\"requestDetails\": {\n\t\t\"requestInfo\": {\n\t\t\t\"instanceName\": \"{{virtual_link_instance_name}}\",\n\t\t\t\"source\": \"VID\",\n\t\t\t\"suppressRollback\": false,\n\t\t\t\"requestorId\": \"demo\",\n \t\t\t\"productFamilyId\": \"b9ac88f7-0e1b-462d-84ac-74c3c533217c\"\n\t\t},\n \t\t\"modelInfo\": {\n \t\t\t\"modelType\": \"network\",\n \t\t\t\"modelInvariantId\": \"{{auto_virtual_link_invariant_uuid}}\",\n \t\t\t\"modelVersionId\": \"{{auto_virtual_link_uuid}}\",\n \t\t\t\"modelName\": \"Generic NeutronNet\",\n \t\t\t\"modelVersion\": \"1.0\",\n \t\t\t\"modelCustomizationId\": \"{{auto_virtual_link_customization_uuid}}\",\n \t\t\t\"modelCustomizationName\": \"Generic NeutronNet 0\"\n \t\t},\n    \"requestParameters\": {\n      \"userParams\": [],\n      \"aLaCarte\": true,\n\t  \"testApi\": \"VNF_API\"\n    },\n    \"cloudConfiguration\": {\n      \"cloudOwner\": \"{{cloud_owner_name}}\",\n      \"lcpCloudRegionId\": \"{{onap_cloud_region_id}}\",\n      \"tenantId\": \"{{tenant_id}}\"\n    },\n\t\t\"lineOfBusiness\": {\n\t\t\t\"lineOfBusinessName\": \"{{lineofbusiness}}\"\n\t\t},\n\t\t\"platform\": {\n\t\t\t\"platformName\": \"{{platform}}\"\n\t\t},\n \t\t\"relatedInstanceList\": [{\n \t\t\t\"relatedInstance\": {\n \t\t\t\t\"instanceId\": \"{{auto_service_instance_id}}\",\n \t\t\t\t\"modelInfo\": {\n \t\t\t\t\t\"modelType\": \"service\",\n \t\t\t\t\t\"modelName\": \"{{service}}\",\n \t\t\t\t\t\"modelInvariantId\": \"{{auto_service_invariant_uuid}}\",\n \t\t\t\t\t\"modelVersion\": \"1.0\",\n \t\t\t\t\t\"modelVersionId\": \"{{auto_service_uuid}}\"\n \t\t\t\t}\n \t\t\t}\n \t\t}]\n  }\n}\n\n"
+				},
+				"url": {
+					"raw": "{{url-so}}/onap/so/infra/serviceInstances/v7/{{auto_service_instance_id}}/networks",
+					"host": [
+						"{{url-so}}"
+					],
+					"path": [
+						"onap",
+						"so",
+						"infra",
+						"serviceInstances",
+						"v7",
+						"{{auto_service_instance_id}}",
+						"networks"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "SO orchestrationRequests after 10s",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "ef3be415-7453-4d2d-91ce-de6e2df05dbe",
+						"exec": [
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							"var jsonData = pm.response.json();",
+							"",
+							"pm.globals.set(\"auto_virtual_link_instance_id\", \"\"+jsonData.request.instanceReferences.networkInstanceId+\"\");",
+							"tests[\"requestState is : \"+jsonData.request.requestStatus.requestState] = jsonData.request.requestStatus.requestState === \"COMPLETE\";",
+							"tests[\"statusMessage is : \"+jsonData.request.requestStatus.statusMessage] = jsonData.request.requestStatus.statusMessage === \"Network has been created successfully.\";"
+						],
+						"type": "text/javascript"
+					}
+				},
+				{
+					"listen": "prerequest",
+					"script": {
+						"id": "8f7cbf38-cb21-45af-9648-1915c92bcb12",
+						"exec": [
+							"  var date = new Date();",
+							"  var curDate = null;",
+							"  do {",
+							"    curDate = new Date();",
+							"  }",
+							"  while (curDate - date < 10000);"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "GET",
+				"header": [
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "AAI"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "get_aai_subscr"
+					},
+					{
+						"key": "Authorization",
+						"value": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA=="
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-so}}/onap/so/infra/orchestrationRequests/v7/{{auto_so_request_id}}",
+					"host": [
+						"{{url-so}}"
+					],
+					"path": [
+						"onap",
+						"so",
+						"infra",
+						"orchestrationRequests",
+						"v7",
+						"{{auto_so_request_id}}"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "GET virtual link in AAI by id",
+			"request": {
+				"method": "GET",
+				"header": [
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "AAI"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "get_aai_subscr"
+					},
+					{
+						"key": "Authorization",
+						"value": "Basic QUFJOkFBSQ=="
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-aai}}/aai/v16/network/l3-networks/l3-network/{{auto_virtual_link_instance_id}}",
+					"host": [
+						"{{url-aai}}"
+					],
+					"path": [
+						"aai",
+						"v16",
+						"network",
+						"l3-networks",
+						"l3-network",
+						"{{auto_virtual_link_instance_id}}"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "GET subnets of network AAI by id",
+			"request": {
+				"method": "GET",
+				"header": [
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "AAI"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "get_aai_subscr"
+					},
+					{
+						"key": "Authorization",
+						"value": "Basic QUFJOkFBSQ=="
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-aai}}/aai/v16/network/l3-networks/l3-network/{{auto_virtual_link_instance_id}}/subnets",
+					"host": [
+						"{{url-aai}}"
+					],
+					"path": [
+						"aai",
+						"v16",
+						"network",
+						"l3-networks",
+						"l3-network",
+						"{{auto_virtual_link_instance_id}}",
+						"subnets"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "SO Instantiate service",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "e779f618-dd36-474f-802d-a36abdf69708",
+						"exec": [
+							"pm.test(\"Status code is 202\", function () {",
+							"    pm.response.to.have.status(202);",
+							"});",
+							"",
+							"var jsonData = pm.response.json();",
+							"",
+							"pm.globals.set(\"auto_so_request_id\", \"\"+jsonData.requestReferences.requestId+\"\");",
+							"pm.globals.set(\"auto_service_instance_id\", \"\"+jsonData.requestReferences.instanceId+\"\");",
+							""
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "POST",
+				"header": [
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "AAI"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "get_aai_subscr"
+					},
+					{
+						"key": "Authorization",
+						"value": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA=="
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": "{\n\t\"requestDetails\": {\n\t\t\"requestInfo\": {\n\t\t\t\"instanceName\": \"{{service_instance_name}}\",\n\t\t\t\"source\": \"VID\",\n\t\t\t\"suppressRollback\": false,\n\t\t\t\"requestorId\": \"demo\"\n\t\t},\n\t\t\"modelInfo\": {\n\t\t\t\"modelType\": \"service\",\n\t\t\t\"modelInvariantId\": \"{{auto_service_invariant_uuid}}\",\n\t\t\t\"modelVersionId\": \"{{auto_service_uuid}}\",\n\t\t\t\"modelName\": \"{{service}}\",\n\t\t\t\"modelVersion\": \"1.0\"\n\t\t},\n        \"cloudConfiguration\": {\n            \"tenantId\": \"3e3b55ca4c9948d1a9fa68715831c6bd\",\n            \"cloudOwner\": \"OPNFV\",\n            \"lcpCloudRegionId\": \"RegionOne\"\n        },\n\t\t\"requestParameters\": {\n\t\t\t\"userParams\": [],\n\t\t\t\"testApi\": \"VNF_API\",\n\t\t\t\"subscriptionServiceType\": \"{{service}}\",\n\t\t\t\"aLaCarte\": true\n\t\t},\n\t\t\"subscriberInfo\": {\n\t\t\t\"globalSubscriberId\": \"{{customer_name}}\"\n\t\t},\n\t\t\"project\": {\n\t\t\t\"projectName\": \"{{project}}\"\n\t\t},\n\t\t\"owningEntity\": {\n\t\t\t\"owningEntityId\": \"6b5b6b70-4e9a-4f6f-8b7b-cbd7cf990c6e\",\n\t\t\t\"owningEntityName\": \"{{owning_entity}}\"\n\t\t}\n\t}\n}"
+				},
+				"url": {
+					"raw": "{{url-so}}/onap/so/infra/serviceInstances/v7/serviceInstances",
+					"host": [
+						"{{url-so}}"
+					],
+					"path": [
+						"onap",
+						"so",
+						"infra",
+						"serviceInstances",
+						"v7",
+						"serviceInstances"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "SO orchestrationRequests after 10s",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "ef3be415-7453-4d2d-91ce-de6e2df05dbe",
+						"exec": [
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							"var jsonData = pm.response.json();",
+							"",
+							"pm.globals.set(\"auto_virtual_link_instance_id\", \"\"+jsonData.request.instanceReferences.networkInstanceId+\"\");",
+							"tests[\"requestState is : \"+jsonData.request.requestStatus.requestState] = jsonData.request.requestStatus.requestState === \"COMPLETE\";",
+							"tests[\"statusMessage is : \"+jsonData.request.requestStatus.statusMessage] = jsonData.request.requestStatus.statusMessage === \"Network has been created successfully.\";"
+						],
+						"type": "text/javascript"
+					}
+				},
+				{
+					"listen": "prerequest",
+					"script": {
+						"id": "8f7cbf38-cb21-45af-9648-1915c92bcb12",
+						"exec": [
+							"  var date = new Date();",
+							"  var curDate = null;",
+							"  do {",
+							"    curDate = new Date();",
+							"  }",
+							"  while (curDate - date < 10000);"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "GET",
+				"header": [
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "AAI"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "get_aai_subscr"
+					},
+					{
+						"key": "Authorization",
+						"value": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA=="
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-so}}/onap/so/infra/orchestrationRequests/v7/{{auto_so_request_id}}",
+					"host": [
+						"{{url-so}}"
+					],
+					"path": [
+						"onap",
+						"so",
+						"infra",
+						"orchestrationRequests",
+						"v7",
+						"{{auto_so_request_id}}"
+					]
+				}
+			},
+			"response": []
+		}
+	]
+}
\ No newline at end of file
diff --git a/test/postman/11_delete_instances.postman_collection.json b/test/postman/11_delete_instances.postman_collection.json
new file mode 100644
index 0000000..b0a0d8c
--- /dev/null
+++ b/test/postman/11_delete_instances.postman_collection.json
@@ -0,0 +1,756 @@
+{
+	"info": {
+		"_postman_id": "45694934-9bf1-485a-8b98-53f3da0b5bb8",
+		"name": "11_delete_instances",
+		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
+	},
+	"item": [
+		{
+			"name": "SO Delete vf-module",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "2c20c606-a034-47e0-8a66-fc4f1b8ed1c8",
+						"exec": [
+							"pm.test(\"Status code is 202\", function () {",
+							"    pm.response.to.have.status(202);",
+							"});",
+							"",
+							"var jsonData = pm.response.json();",
+							"",
+							"pm.globals.set(\"auto_so_request_id\", \"\"+jsonData.requestReferences.requestId+\"\");",
+							""
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "DELETE",
+				"header": [
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "AAI"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "get_aai_subscr"
+					},
+					{
+						"key": "Authorization",
+						"value": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA=="
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": "{\n\t\"requestDetails\": {\n\t\t\"requestInfo\": {\n\t\t\t\"source\": \"VID\",\n\t\t\t\"requestorId\": \"test\"\n\t\t},\n\t\t\"modelInfo\": {\n\t\t\"modelType\": \"vfModule\",\n\t\t\"modelInvariantId\": \"{{auto_vf_module_model_invariant_uuid}}\",\n\t\t\"modelVersionId\": \"{{auto_vf_module_model_uuid}}\",\n\t\t\"modelName\": \"{{auto_vf_module_model_name}}\",\n\t\t\"modelVersion\": \"1\",\n\t\t\"modelCustomizationId\": \"{{auto_vf_module_model_customization_uuid}}\",\n\t\t\"modelCustomizationName\": \"{{auto_vf_module_model_name}}\"\n\t\t},\n\t\t\"requestParameters\": {\n\t\t\t\"testApi\": \"VNF_API\"\n\t\t},\n\t\t\"cloudConfiguration\": {\n\t\t\t\"lcpCloudRegionId\": \"{{onap_cloud_region_id}}\",\n\t\t\t\"tenantId\": \"{{tenant_id}}\"\n\t\t}\n\t}\n}\n\n"
+				},
+				"url": {
+					"raw": "{{url-so}}/onap/so/infra/serviceInstances/v7/{{auto_service_instance_id}}/vnfs/{{auto_vnf_instance_id}}/vfModules/{{auto_vfmodule_instance_id}}",
+					"host": [
+						"{{url-so}}"
+					],
+					"path": [
+						"onap",
+						"so",
+						"infra",
+						"serviceInstances",
+						"v7",
+						"{{auto_service_instance_id}}",
+						"vnfs",
+						"{{auto_vnf_instance_id}}",
+						"vfModules",
+						"{{auto_vfmodule_instance_id}}"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "SO orchestrationRequests after 30s",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "2ca20cdd-fbb0-46a3-b6af-eb36d388448c",
+						"exec": [
+							"",
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							"var jsonData = pm.response.json();",
+							"",
+							"tests[\"requestState is : \"+jsonData.request.requestStatus.requestState] = jsonData.request.requestStatus.requestState === \"COMPLETE\";",
+							"",
+							"tests[\"statusMessage is : \"+jsonData.request.requestStatus.statusMessage] = jsonData.request.requestStatus.statusMessage === \"Vf Module has been deleted successfully.\";"
+						],
+						"type": "text/javascript"
+					}
+				},
+				{
+					"listen": "prerequest",
+					"script": {
+						"id": "0fc6bd97-ca45-4caa-bdc5-346d661a5409",
+						"exec": [
+							"  var date = new Date();",
+							"  var curDate = null;",
+							"  do {",
+							"    curDate = new Date();",
+							"  }",
+							"  while (curDate - date < 10000);"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "GET",
+				"header": [
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "AAI"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "get_aai_subscr"
+					},
+					{
+						"key": "Authorization",
+						"value": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA=="
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-so}}/onap/so/infra/orchestrationRequests/v7/{{auto_so_request_id}}",
+					"host": [
+						"{{url-so}}"
+					],
+					"path": [
+						"onap",
+						"so",
+						"infra",
+						"orchestrationRequests",
+						"v7",
+						"{{auto_so_request_id}}"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "check vfmodule instance in inventory via AAI request",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "6244395e-23bd-4d4b-9f31-cd9b1e4102f6",
+						"exec": [
+							"",
+							"var jsonData = pm.response.json();",
+							"",
+							"",
+							"var vfmodule_instance_found = false;",
+							"",
+							"if (pm.response.code === 200){",
+							"    for (var i = 0; i < jsonData[\"vf-module\"].length; i++) { ",
+							"        if (jsonData[\"vf-module\"][i][\"vf-module-name\"] === pm.globals.get(\"vfmodule_instance_name\")) {",
+							"            vfmodule_instance_found = true;",
+							"        }",
+							"    }",
+							"}",
+							"",
+							"",
+							"tests[\"vfmodule Instance : \"+ pm.globals.get(\"vfmodule_instance_name\") +\" no longer exists in AAI inventory\"] = vfmodule_instance_found === false;"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "GET",
+				"header": [
+					{
+						"key": "Authorization",
+						"value": "Basic QUFJOkFBSQ=="
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "AAI"
+					},
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "get_aai_subscr"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-aai}}/aai/v16/network/generic-vnfs/generic-vnf/{{auto_vnf_instance_id}}/vf-modules",
+					"host": [
+						"{{url-aai}}"
+					],
+					"path": [
+						"aai",
+						"v16",
+						"network",
+						"generic-vnfs",
+						"generic-vnf",
+						"{{auto_vnf_instance_id}}",
+						"vf-modules"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "SO Delete vnf_instance",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "eab54e34-7898-452e-ad8e-6ac68c3efd36",
+						"exec": [
+							"pm.test(\"Status code is 202\", function () {",
+							"    pm.response.to.have.status(202);",
+							"});",
+							"var jsonData = pm.response.json();",
+							"",
+							"pm.globals.set(\"auto_so_request_id\", \"\"+jsonData.requestReferences.requestId+\"\");",
+							""
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "DELETE",
+				"header": [
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "AAI"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "get_aai_subscr"
+					},
+					{
+						"key": "Authorization",
+						"value": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA=="
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": "{\n\t\"requestDetails\": {\n\t\t\"requestInfo\": {\n\t\t\t\"source\": \"VID\",\n\t\t\t\"requestorId\": \"test\"\n\t\t},\n\t\t\"modelInfo\": {\n\t\t\t\"modelType\": \"vnf\",\n\t\t\t\"modelInvariantId\": \"{{auto_vf_invariant_uuid}}\",\n\t\t\t\"modelVersionId\": \"{{auto_vf_uuid}}\",\n\t\t\t\"modelName\": \"{{vf_name}}\",\n\t\t\t\"modelVersion\": \"1.0\",\n\t\t\t\"modelCustomizationId\": \"{{auto_vf_customization_id}}\",\n\t\t\t\"modelCustomizationName\": \"{{vf_name}} 0\"\n\t\t},\n\t\t\"requestParameters\": {\n\t\t\t\"testApi\": \"VNF_API\"\n\t\t},\n\t\t\"cloudConfiguration\": {\n\t\t\t\"lcpCloudRegionId\": \"{{onap_cloud_region_id}}\",\n\t\t\t\"tenantId\": \"{{tenant_id}}\"\n\t\t}\n\t}\n}\n\n"
+				},
+				"url": {
+					"raw": "{{url-so}}/onap/so/infra/serviceInstances/v7/{{auto_service_instance_id}}/vnfs/{{auto_vnf_instance_id}}",
+					"host": [
+						"{{url-so}}"
+					],
+					"path": [
+						"onap",
+						"so",
+						"infra",
+						"serviceInstances",
+						"v7",
+						"{{auto_service_instance_id}}",
+						"vnfs",
+						"{{auto_vnf_instance_id}}"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "SO Delete network",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "eab54e34-7898-452e-ad8e-6ac68c3efd36",
+						"exec": [
+							""
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "DELETE",
+				"header": [
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "AAI"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "get_aai_subscr"
+					},
+					{
+						"key": "Authorization",
+						"value": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA=="
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": "   {\n \t\"requestDetails\": {\n \t\t\"modelInfo\": {\n \t\t\t\"modelType\": \"network\"\n \t\t},\n \t\t\"requestInfo\": {\n \t\t\t\"source\": \"VID\",\n \t\t\t\"requestorId\": \"demo\"\n \t\t},\n \t\t\"requestParameters\": {\n \t\t\t\"testApi\": \"VNF_API\"\n \t\t},\n\t\t\"cloudConfiguration\": {\n\t\t\t\"lcpCloudRegionId\": \"{{onap_cloud_region_id}}\",\n\t\t\t\"tenantId\": \"{{tenant_id}}\"\n\t\t}\n\t}\n}\n\n"
+				},
+				"url": {
+					"raw": "{{url-so}}/onap/so/infra/serviceInstances/v7/{{auto_service_instance_id}}/networks/{{auto_virtual_link_instance_id}}",
+					"host": [
+						"{{url-so}}"
+					],
+					"path": [
+						"onap",
+						"so",
+						"infra",
+						"serviceInstances",
+						"v7",
+						"{{auto_service_instance_id}}",
+						"networks",
+						"{{auto_virtual_link_instance_id}}"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "SO orchestrationRequests after 10s",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "68a5392d-2904-416b-9cf0-a89c971aa341",
+						"exec": [
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							"",
+							"var jsonData = pm.response.json();",
+							"",
+							"tests[\"requestState is : \"+jsonData.request.requestStatus.requestState] = jsonData.request.requestStatus.requestState === \"COMPLETE\";",
+							"",
+							"tests[\"statusMessage is : \"+jsonData.request.requestStatus.statusMessage] = jsonData.request.requestStatus.statusMessage === \"Vnf has been deleted successfully.\";"
+						],
+						"type": "text/javascript"
+					}
+				},
+				{
+					"listen": "prerequest",
+					"script": {
+						"id": "0f9f067e-d8d4-4b69-a7eb-71f1e73b8196",
+						"exec": [
+							"  var date = new Date();",
+							"  var curDate = null;",
+							"  do {",
+							"    curDate = new Date();",
+							"  }",
+							"  while (curDate - date < 10000);"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "GET",
+				"header": [
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "AAI"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "get_aai_subscr"
+					},
+					{
+						"key": "Authorization",
+						"value": "Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA=="
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-so}}/onap/so/infra/orchestrationRequests/v7/{{auto_so_request_id}}",
+					"host": [
+						"{{url-so}}"
+					],
+					"path": [
+						"onap",
+						"so",
+						"infra",
+						"orchestrationRequests",
+						"v7",
+						"{{auto_so_request_id}}"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "check vnf instance in inventory via AAI request",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "851c2dff-10fb-4f6a-a346-4bab48868d3a",
+						"exec": [
+							"",
+							"var jsonData = pm.response.json();",
+							"",
+							"var vnf_instance_found = false;",
+							"",
+							"if (pm.response.code === 200){",
+							"for (var i = 0; i < jsonData[\"generic-vnf\"].length; i++) { ",
+							"   if (jsonData[\"generic-vnf\"][i][\"vnf-name\"] === pm.globals.get(\"vnf_instance_name\")) {",
+							"       vnf_instance_found = true;",
+							"   }",
+							"}",
+							"}",
+							"tests[\"VNF Instance : \"+ pm.globals.get(\"vnf_instance_name\") +\" no longer exists in AAI inventory\"] = vnf_instance_found === false;"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "GET",
+				"header": [
+					{
+						"key": "Authorization",
+						"value": "Basic QUFJOkFBSQ=="
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "AAI"
+					},
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "get_aai_subscr"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-aai}}/aai/v16/network/generic-vnfs",
+					"host": [
+						"{{url-aai}}"
+					],
+					"path": [
+						"aai",
+						"v16",
+						"network",
+						"generic-vnfs"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "Delete service Instance via ServiceOrder API",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "764a92a8-efb5-48f8-999a-2cf34d9364b2",
+						"exec": [
+							"pm.test(\"Status code is 201\", function () {",
+							"    pm.response.to.have.status(201);",
+							"});",
+							"",
+							"var jsonData = pm.response.json();",
+							"pm.globals.set(\"auto_service_order_id\", jsonData.id);",
+							"",
+							"",
+							"",
+							""
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "POST",
+				"header": [
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					}
+				],
+				"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}"
+				},
+				"url": {
+					"raw": "{{url-nbi}}/nbi/api/v4/serviceOrder",
+					"host": [
+						"{{url-nbi}}"
+					],
+					"path": [
+						"nbi",
+						"api",
+						"v4",
+						"serviceOrder"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "GET previous serviceOrder after 10s",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "de2c349d-b58d-42ae-8454-3afc1084cef1",
+						"exec": [
+							"pm.test(\"Status code is 200\", function () {",
+							"    pm.response.to.have.status(200);",
+							"});",
+							"",
+							"var jsonData = pm.response.json();",
+							"",
+							"tests[pm.globals.get(\"externalId\")+\" exists\"] = jsonData.externalId === pm.globals.get(\"externalId\");",
+							"tests[\"service_order_id exists\"] = jsonData.id === pm.globals.get(\"auto_service_order_id\");",
+							"tests[\"service Order state is : \"+jsonData.state] = jsonData.state === \"completed\";",
+							"tests[\"Service Instance state is : \"+jsonData.orderItem[0].service.serviceState] = jsonData.orderItem[0].service.serviceState === \"active\";",
+							"",
+							"",
+							"if(jsonData.state == \"completed\"){",
+							"    pm.globals.set(\"auto_service_instance_id\", \"\"+jsonData.orderItem[0].service.id+\"\");",
+							"}",
+							"if (jsonData.orderMessage !== null){",
+							"    tests[\"order message is : \" +jsonData.orderMessage[0].messageInformation] = jsonData.orderMessage[0].messageInformation === \"\";",
+							"    pm.globals.set(\"auto_service_messageInformation\", \"\"+jsonData.orderMessage[0].messageInformation+\"\");",
+							"    }",
+							"",
+							""
+						],
+						"type": "text/javascript"
+					}
+				},
+				{
+					"listen": "prerequest",
+					"script": {
+						"id": "b9cdde4f-bf25-4922-a8c0-b378bb0b9535",
+						"exec": [
+							"  var date = new Date();",
+							"  var curDate = null;",
+							"  do {",
+							"    curDate = new Date();",
+							"  }",
+							"  while (curDate - date < 10000);"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "GET",
+				"header": [
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-nbi}}/nbi/api/v4/serviceOrder/{{auto_service_order_id}}",
+					"host": [
+						"{{url-nbi}}"
+					],
+					"path": [
+						"nbi",
+						"api",
+						"v4",
+						"serviceOrder",
+						"{{auto_service_order_id}}"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "GET all service instance via ServiceInventory API",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "c7353dda-5afc-4c1c-a9d2-06036a9c984c",
+						"exec": [
+							"var jsonData = pm.response.json();",
+							"",
+							"var service_instance_found = false;",
+							"",
+							"if (pm.response.code === 200){",
+							"for (var i = 0; i < jsonData.length; i++) { ",
+							"   if (jsonData[i].name === pm.globals.get(\"service_instance_name\")) {",
+							"       service_instance_found = true;",
+							"   }",
+							"}",
+							"}",
+							"tests[pm.globals.get(\"service_instance_name\")+\" no longer in list\"] = service_instance_found === false;"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "GET",
+				"header": [],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-nbi}}/nbi/api/v4/service?relatedParty.id={{customer_name}}",
+					"host": [
+						"{{url-nbi}}"
+					],
+					"path": [
+						"nbi",
+						"api",
+						"v4",
+						"service"
+					],
+					"query": [
+						{
+							"key": "relatedParty.id",
+							"value": "{{customer_name}}"
+						}
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "DELETE Virtual Link",
+			"request": {
+				"method": "DELETE",
+				"header": [
+					{
+						"key": "Accept",
+						"value": "application/json"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-FromAppId",
+						"value": "AAI"
+					},
+					{
+						"key": "X-TransactionId",
+						"value": "get_aai_subscr"
+					},
+					{
+						"key": "Authorization",
+						"value": "Basic QUFJOkFBSQ=="
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "{{url-aai}}/aai/v16/network/l3-networks/l3-network/{{auto_virtual_link_instance_id}}?resource-version=1564496333018",
+					"host": [
+						"{{url-aai}}"
+					],
+					"path": [
+						"aai",
+						"v16",
+						"network",
+						"l3-networks",
+						"l3-network",
+						"{{auto_virtual_link_instance_id}}"
+					],
+					"query": [
+						{
+							"key": "resource-version",
+							"value": "1564496333018"
+						}
+					]
+				}
+			},
+			"response": []
+		}
+	]
+}
\ No newline at end of file
diff --git a/test/postman/README.md b/test/postman/README.md
index 2d65158..649c5ed 100644
--- a/test/postman/README.md
+++ b/test/postman/README.md
@@ -2,10 +2,10 @@
 
 ## Using Postman
 
-That repository contains 9 Postman collections and 2 environment files.
+That repository contains several Postman collections and 2 environment files.
 
-They have been tested with Onap Casablanca (they are not compatible with
-  Beijing, and there is not guaranty about ONAP "master" as API definition
+They have been tested with Onap Dublin (they are not compatible with
+  Casablanca, and there is not guaranty about ONAP "master" as API definition
   can change)
 
 You first need to import all those files into your Postman.
@@ -17,7 +17,7 @@
 Each collection is made of several API operations
 ![postman](./images/collection-detail.png)
 
-Running all those collections, in the order, from 1 to 8 will create a lot of
+Running all those collections, in the order, from 1 to 10 will create a lot of
 objects in ONAP components :
 
 - SDC : vendor, VSP, zip file upload, VF from VSP, Service, add VF to Service
@@ -26,7 +26,7 @@
 - NBI : serviceOrder to add a service instance, serviceOrder to delete a service
  instance
 
-The order is very important because a lot of API request will need the API
+The order is very important because a lot of API requests will need the API
  response from the previous operation.
 ![postman](./images/collection-detail-test.png)
 
@@ -42,7 +42,7 @@
 at "globals" environment parameters.
 ![postman](./images/globals.png)
 
-All variables that begin by "auto_" must not be change (they will be modified
+All variables that begin by "auto_" must NOT be changed (they will be modified
  using API response)
 All other variables must be adapted to your needs.
 In particular, you need to put your own values for cloud_region_id, tenant_name
@@ -93,6 +93,6 @@
 docker run --network="host" --volume="/home/debian/rene/onap-tests/postman:/etc/newman" postman/newman:alpine run 10_Service_Order.postman_collection.json --environment integration_test_urls.postman_environment.json --globals globals.postman_globals.json --export-globals globals.postman_globals.json --reporters cli,json --reporter-cli-no-assertions --reporter-cli-no-console
 ```
 
-All collections are run, you can see results and you will also obtain result json files in the onap-tests/postamn/newman directory
+All collections are processed, then you can see results and you will also obtain result json files in the onap-tests/postamn/newman directory
 
 Of course you can adapt globals variables in globals.postman_globals.json or change the USECASE=$'ubuntu16' value to onboard any heat template located in onap_tests/templates/heat_files directory
