From: halil.cakal Date: Thu, 6 Apr 2023 11:03:35 +0000 (+0100) Subject: Add patch operation for update node leaves X-Git-Tag: 3.3.0~5^2 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=c4a583ae85030da56049fdd2367d77df4a2548e8;p=cps.git Add patch operation for update node leaves Issue-ID: CPS-1602 Change-Id: Ie67e6cb6810cd6ea05f3a11f7b195f0f23d39138 Signed-off-by: halil.cakal --- diff --git a/csit/data/testTreePatchExample.json b/csit/data/testTreePatchExample.json new file mode 100644 index 000000000..31210b628 --- /dev/null +++ b/csit/data/testTreePatchExample.json @@ -0,0 +1,11 @@ +{ + "name": "Right", + "nest": { + "name": "Bigger", + "birds": [ + "Eagle", + "Falcon", + "Pigeon" + ] + } +} \ No newline at end of file diff --git a/csit/tests/cps-data/cps-data.robot b/csit/tests/cps-data/cps-data.robot index 096bd07b7..ce2033c11 100644 --- a/csit/tests/cps-data/cps-data.robot +++ b/csit/tests/cps-data/cps-data.robot @@ -1,7 +1,7 @@ # ============LICENSE_START======================================================= # Copyright (c) 2021 Pantheon.tech. # Modifications Copyright (C) 2022 Bell Canada. -# Modifications Copyright (C) 2022 Nordix Foundation. +# Modifications Copyright (C) 2022-2023 Nordix Foundation. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -42,6 +42,23 @@ Create Data Node ${response}= POST On Session CPS_URL ${uri} headers=${headers} data=${jsonData} Should Be Equal As Strings ${response.status_code} 201 +Patch Data Node + ${uri}= Set Variable ${basePath}/v1/dataspaces/${dataspaceName}/anchors/${anchorName}/nodes + ${params}= Create Dictionary xpath=/test-tree/branch[@name='Right'] + ${headers} Create Dictionary Content-Type=application/json Authorization=${auth} + ${jsonData}= Get Binary File ${DATADIR}${/}testTreePatchExample.json + ${response}= PATCH On Session CPS_URL ${uri} params=${params} headers=${headers} data=${jsonData} + Should Be Equal As Strings ${response.status_code} 200 + +Get Updated Data Node by XPath + ${uri}= Set Variable ${basePath}/v1/dataspaces/${dataspaceName}/anchors/${anchorName}/node + ${params}= Create Dictionary xpath=/test-tree/branch[@name='Right']/nest + ${headers}= Create Dictionary Authorization=${auth} + ${response}= Get On Session CPS_URL ${uri} params=${params} headers=${headers} expected_status=200 + ${responseJson}= Set Variable ${response.json()['tree:nest']} + Should Be Equal As Strings ${responseJson['name']} Bigger + Should Be Equal As Strings ${responseJson['birds']} ['Falcon', 'Eagle', 'Pigeon'] + Get Data Node by XPath ${uri}= Set Variable ${basePath}/v1/dataspaces/${dataspaceName}/anchors/${anchorName}/node ${params}= Create Dictionary xpath=/test-tree/branch[@name='LEFT/left']/nest