Validate nfdeployment descriptor params 02/7602/1
authorBin Yang <bin.yang@windriver.com>
Mon, 24 Jan 2022 06:15:55 +0000 (14:15 +0800)
committerBin Yang <bin.yang@windriver.com>
Mon, 24 Jan 2022 06:15:55 +0000 (14:15 +0800)
Issue-ID: INF-258

Signed-off-by: Bin Yang <bin.yang@windriver.com>
Change-Id: I8c8891c4236272f273fc66446770e02857728853

o2dms/api/dms_lcm_nfdeploymentdesc.py

index 02621d6..e5b66ca 100644 (file)
@@ -12,6 +12,7 @@
 #  See the License for the specific language governing permissions and\r
 #  limitations under the License.\r
 \r
+import json\r
 from sqlalchemy import select\r
 import uuid\r
 from o2common.service import unit_of_work\r
@@ -58,11 +59,27 @@ def lcm_nfdeploymentdesc_create(
             id, input['name'], deploymentManagerId, input['description'],\r
             input['inputParams'], input['outputParams'],\r
             input['artifactRepoUrl'], input['artifactName'])\r
+        _nfdeploymentdesc_validate(entity)\r
         uow.nfdeployment_descs.add(entity)\r
         uow.commit()\r
     return id\r
 \r
 \r
+def _nfdeploymentdesc_validate(desc: NfDeploymentDesc):\r
+    try:\r
+        json.loads(\r
+            desc['inputParams']) if desc['inputParams'] else None\r
+        json.loads(\r
+            desc['outputParams']) if desc['outputParams'] else None\r
+        return\r
+    except json.decoder.JSONDecodeError as e:\r
+        logger.debug("NfDeploymentDesc validate error with: %s" % (str(e)))\r
+        raise e\r
+    except Exception as e:\r
+        logger.debug("NfDeploymentDesc validate error with: %s" % (str(e)))\r
+        raise e\r
+\r
+\r
 def lcm_nfdeploymentdesc_update(\r
         nfdeploymentdescriptorid: str,\r
         input: DmsLcmNfDeploymentDescriptorDTO.NfDeploymentDescriptor_update,\r