From 457eb8dd6d3708047b78bcee4b784ebc872470d4 Mon Sep 17 00:00:00 2001
From: Pelayo Torres <pelayo.torresalonso@telefonica.com>
Date: Mon, 7 Oct 2024 11:31:18 +0200
Subject: [PATCH] Changed node script port

---
 .../postman/CAPIF.postman_collection.json     |  39 +++++++++++-------
 .../postman/CAPIF.postman_environment.json    |  20 +++++++--
 doc/testing/postman/Postman-Test.zip          | Bin 11657 -> 12186 bytes
 doc/testing/postman/script.js                 |   4 +-
 4 files changed, 42 insertions(+), 21 deletions(-)

diff --git a/doc/testing/postman/CAPIF.postman_collection.json b/doc/testing/postman/CAPIF.postman_collection.json
index 400f773..ab1f650 100644
--- a/doc/testing/postman/CAPIF.postman_collection.json
+++ b/doc/testing/postman/CAPIF.postman_collection.json
@@ -88,7 +88,7 @@
 				"header": [],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n    \"username\": \"{{USER_NAME}}\",\n    \"password\": \"{{USER_PASSWORD}}\",\n    \"enterprise\": \"ETSI\",\n    \"country\": \"Spain\",\n    \"email\": \"example@gmail.com\",\n    \"purpose\": \"Use OpenCAPIF\",\n    \"phone_number\": \"+123456789\",\n    \"company_web\": \"www.etsi.com\",\n    \"description\": \"UserDescription\"\n}",
+					"raw": "{\n    \"username\": \"{{USER_NAME}}\",\n    \"password\": \"{{USER_PASSWORD}}\",\n    \"enterprise\": \"Telefonica\",\n    \"country\": \"Spain\",\n    \"email\": \"naas@gmail.com\",\n    \"purpose\": \"Use OpenCAPIF for NaaS6G project\",\n    \"phone_number\": \"+123456789\",\n    \"company_web\": \"www.naas6g.com\",\n    \"description\": \"UserDescription\"\n}",
 					"options": {
 						"raw": {
 							"language": "json"
@@ -128,7 +128,7 @@
 							"",
 							"setTimeout(() => {",
 							"                pm.sendRequest({",
-							"                    url: 'http://localhost:3000/write_ca',",
+							"                    url: 'http://'+ pm.environment.get(\"NODE_HOSTNAME\") + ':'+ pm.environment.get(\"NODE_PORT\")+'/write_ca',",
 							"                    method: 'POST',",
 							"                    header: 'Content-Type:application/json',",
 							"                    encoding: 'binary',",
@@ -226,7 +226,7 @@
 							"",
 							"    setTimeout(() => {",
 							"                pm.sendRequest({",
-							"                    url: 'http://localhost:3000/generate_csr',",
+							"                    url: 'http://'+ pm.environment.get(\"NODE_HOSTNAME\") + ':'+ pm.environment.get(\"NODE_PORT\")+'/generate_csr',",
 							"                    method: 'POST',",
 							"                    header: 'Content-Type:application/json',",
 							"                    encoding: 'binary',",
@@ -251,7 +251,8 @@
 				}
 			],
 			"protocolProfileBehavior": {
-				"strictSSL": false
+				"strictSSL": false,
+				"protocolVersion": "auto"
 			},
 			"request": {
 				"auth": {
@@ -283,12 +284,11 @@
 					}
 				},
 				"url": {
-					"raw": "https://{{CAPIF_HOSTNAME}}:{{CAPIF_PORT}}/{{ONBOARDING_URL}}",
+					"raw": "https://{{CAPIF_HOSTNAME}}/{{ONBOARDING_URL}}",
 					"protocol": "https",
 					"host": [
 						"{{CAPIF_HOSTNAME}}"
 					],
-					"port": "{{CAPIF_PORT}}",
 					"path": [
 						"{{ONBOARDING_URL}}"
 					]
@@ -305,7 +305,7 @@
 						"exec": [
 							"setTimeout(() => {",
 							"                pm.sendRequest({",
-							"                    url: 'http://localhost:3000/write_cert',",
+							"                    url: 'http://'+ pm.environment.get(\"NODE_HOSTNAME\") + ':'+ pm.environment.get(\"NODE_PORT\")+'/write_cert',",
 							"                    method: 'POST',",
 							"                    header: 'Content-Type:application/json',",
 							"                    encoding: 'binary',",
@@ -329,6 +329,14 @@
 					"listen": "test",
 					"script": {
 						"exec": [
+							"var res = JSON.parse(responseBody);",
+							"if (pm.response.code == 201){",
+							"    ",
+							"    pm.environment.set('API_ID', res.apiId);",
+							"",
+							"}",
+							"",
+							"",
 							""
 						],
 						"type": "text/javascript",
@@ -337,7 +345,8 @@
 				}
 			],
 			"protocolProfileBehavior": {
-				"strictSSL": true
+				"strictSSL": true,
+				"protocolVersion": "auto"
 			},
 			"request": {
 				"auth": {
@@ -354,7 +363,7 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "\n{\n    \"apiName\": \"hello_api_demo_v2\",\n    \"aefProfiles\": [\n      {\n        \"aefId\": \"{{AEF_ID}}\",\n        \"versions\": [\n          {\n            \"apiVersion\": \"v1\",\n            \"expiry\": \"2021-11-30T10:32:02.004Z\",\n            \"resources\": [\n              {\n                \"resourceName\": \"hello-endpoint\",\n                \"commType\": \"REQUEST_RESPONSE\",\n                \"uri\": \"/hello\",\n                \"custOpName\": \"string\",\n                \"operations\": [\n                  \"POST\"\n                ],\n                \"description\": \"Endpoint to receive a welcome message\"\n              }\n            ],\n            \"custOperations\": [\n              {\n                \"commType\": \"REQUEST_RESPONSE\",\n                \"custOpName\": \"string\",\n                \"operations\": [\n                  \"POST\"\n                ],\n                \"description\": \"string\"\n              }\n            ]\n          }\n        ],\n        \"protocol\": \"HTTP_1_1\",\n        \"dataFormat\": \"JSON\",\n        \"securityMethods\": [\"OAUTH\"],\n        \"interfaceDescriptions\": [\n          {\n            \"ipv4Addr\": \"localhost\",\n            \"port\": 8088,\n            \"securityMethods\": [\"OAUTH\"]\n          }\n        ]\n      }\n    ],\n    \"description\": \"Hello api services\",\n    \"supportedFeatures\": \"fffff\",\n    \"shareableInfo\": {\n      \"isShareable\": true,\n      \"capifProvDoms\": [\n        \"string\"\n      ]\n    },\n    \"serviceAPICategory\": \"string\",\n    \"apiSuppFeats\": \"fffff\",\n    \"pubApiPath\": {\n      \"ccfIds\": [\n        \"string\"\n      ]\n    },\n    \"ccfId\": \"string\"\n  }",
+					"raw": "\n{\n    \"apiName\": \"hello_api_demo_v6\",\n    \"aefProfiles\": [\n      {\n        \"aefId\": \"{{AEF_ID}}\",\n        \"versions\": [\n          {\n            \"apiVersion\": \"v1\",\n            \"expiry\": \"2021-11-30T10:32:02.004Z\",\n            \"resources\": [\n              {\n                \"resourceName\": \"hello-endpoint\",\n                \"commType\": \"REQUEST_RESPONSE\",\n                \"uri\": \"/hello\",\n                \"custOpName\": \"string\",\n                \"operations\": [\n                  \"POST\"\n                ],\n                \"description\": \"Endpoint to receive a welcome message\"\n              }\n            ],\n            \"custOperations\": [\n              {\n                \"commType\": \"REQUEST_RESPONSE\",\n                \"custOpName\": \"string\",\n                \"operations\": [\n                  \"POST\"\n                ],\n                \"description\": \"string\"\n              }\n            ]\n          }\n        ],\n        \"protocol\": \"HTTP_1_1\",\n        \"dataFormat\": \"JSON\",\n        \"securityMethods\": [\"OAUTH\"],\n        \"interfaceDescriptions\": [\n          {\n            \"ipv4Addr\": \"localhost\",\n            \"port\": 8088,\n            \"securityMethods\": [\"OAUTH\"]\n          }\n        ]\n      }\n    ],\n    \"description\": \"Hello api services\",\n    \"supportedFeatures\": \"fffff\",\n    \"shareableInfo\": {\n      \"isShareable\": true,\n      \"capifProvDoms\": [\n        \"string\"\n      ]\n    },\n    \"serviceAPICategory\": \"string\",\n    \"apiSuppFeats\": \"fffff\",\n    \"pubApiPath\": {\n      \"ccfIds\": [\n        \"string\"\n      ]\n    },\n    \"ccfId\": \"string\",\n    \"apiStatus\": {\n        \"aefIds\": []\n    }\n  }",
 					"options": {
 						"raw": {
 							"language": "json"
@@ -409,7 +418,7 @@
 							"",
 							"setTimeout(() => {",
 							"            pm.sendRequest({",
-							"                url: 'http://localhost:3000/generate_csr_invoker',",
+							"                url: 'http://'+ pm.environment.get(\"NODE_HOSTNAME\") + ':'+ pm.environment.get(\"NODE_PORT\")+'/generate_csr_invoker',",
 							"                method: 'POST',",
 							"                header: 'Content-Type:application/json',",
 							"                encoding: 'binary',",
@@ -487,7 +496,7 @@
 						"exec": [
 							"setTimeout(() => {",
 							"                pm.sendRequest({",
-							"                    url: 'http://localhost:3000/write_cert',",
+							"                    url: 'http://'+ pm.environment.get(\"NODE_HOSTNAME\") + ':'+ pm.environment.get(\"NODE_PORT\")+'/write_cert',",
 							"                    method: 'POST',",
 							"                    header: 'Content-Type:application/json',",
 							"                    encoding: 'binary',",
@@ -578,7 +587,7 @@
 						"exec": [
 							"setTimeout(() => {",
 							"                pm.sendRequest({",
-							"                    url: 'http://localhost:3000/write_cert',",
+							"                    url: 'http://'+ pm.environment.get(\"NODE_HOSTNAME\") + ':'+ pm.environment.get(\"NODE_PORT\")+'/write_cert',",
 							"                    method: 'POST',",
 							"                    header: 'Content-Type:application/json',",
 							"                    encoding: 'binary',",
@@ -660,7 +669,7 @@
 						"exec": [
 							"setTimeout(() => {",
 							"                pm.sendRequest({",
-							"                    url: 'http://localhost:3000/write_cert',",
+							"                    url: 'http://'+ pm.environment.get(\"NODE_HOSTNAME\") + ':'+ pm.environment.get(\"NODE_PORT\")+'/write_cert',",
 							"                    method: 'POST',",
 							"                    header: 'Content-Type:application/json',",
 							"                    encoding: 'binary',",
@@ -830,7 +839,7 @@
 						"exec": [
 							"setTimeout(() => {",
 							"                pm.sendRequest({",
-							"                    url: 'http://localhost:3000/write_cert',",
+							"                    url: 'http://'+ pm.environment.get(\"NODE_HOSTNAME\") + ':'+ pm.environment.get(\"NODE_PORT\")+'/write_cert',",
 							"                    method: 'POST',",
 							"                    header: 'Content-Type:application/json',",
 							"                    encoding: 'binary',",
@@ -881,7 +890,7 @@
 						"exec": [
 							"setTimeout(() => {",
 							"                pm.sendRequest({",
-							"                    url: 'http://localhost:3000/write_cert',",
+							"                    url: 'http://'+ pm.environment.get(\"NODE_HOSTNAME\") + ':'+ pm.environment.get(\"NODE_PORT\")+'/write_cert',",
 							"                    method: 'POST',",
 							"                    header: 'Content-Type:application/json',",
 							"                    encoding: 'binary',",
diff --git a/doc/testing/postman/CAPIF.postman_environment.json b/doc/testing/postman/CAPIF.postman_environment.json
index 7d08cfa..d9e1e59 100644
--- a/doc/testing/postman/CAPIF.postman_environment.json
+++ b/doc/testing/postman/CAPIF.postman_environment.json
@@ -1,6 +1,6 @@
 {
-	"id": "7111197e-e9c8-4988-a519-3284ab9021a9",
-	"name": "CAPIF",
+	"id": "adb492cf-1d02-4a7c-a4a2-00cb54c202f1",
+	"name": "CAPIF Copy",
 	"values": [
 		{
 			"key": "CAPIF_HOSTNAME",
@@ -26,6 +26,18 @@
 			"type": "default",
 			"enabled": true
 		},
+		{
+			"key": "NODE_HOSTNAME",
+			"value": "localhost",
+			"type": "default",
+			"enabled": true
+		},
+		{
+			"key": "NODE_PORT",
+			"value": "3010",
+			"type": "default",
+			"enabled": true
+		},
 		{
 			"key": "USERNAME",
 			"value": "ProviderONE",
@@ -262,6 +274,6 @@
 		}
 	],
 	"_postman_variable_scope": "environment",
-	"_postman_exported_at": "2024-07-30T07:59:01.623Z",
-	"_postman_exported_using": "Postman/11.3.2"
+	"_postman_exported_at": "2024-10-07T09:27:29.742Z",
+	"_postman_exported_using": "Postman/11.12.0"
 }
\ No newline at end of file
diff --git a/doc/testing/postman/Postman-Test.zip b/doc/testing/postman/Postman-Test.zip
index 41f2d883b35b29556fed958f017b78731158c423..a14021a8dbfe04c32c24d5b917576246195e303b 100644
GIT binary patch
delta 9256
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

delta 8845
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
b&Hf)kK}7)p@%bZS{ORz2>Wq#|&v*Y1G=irW

diff --git a/doc/testing/postman/script.js b/doc/testing/postman/script.js
index 980f81f..ce51eb0 100644
--- a/doc/testing/postman/script.js
+++ b/doc/testing/postman/script.js
@@ -193,7 +193,7 @@ app.post('/write_ca', (req, res) => {
   });
 });
 
-app.listen(3000, () => {
-  console.log('ResponsesToFile App is listening now! Send them requests my way!');
+app.listen(3010, () => {
+  console.log('Listener API running.');
   console.log(`Data is being stored at location: ${path.join(process.cwd(), folderPath)}`);
 });
\ No newline at end of file
-- 
GitLab