From c4a583ae85030da56049fdd2367d77df4a2548e8 Mon Sep 17 00:00:00 2001 From: "halil.cakal" Date: Thu, 6 Apr 2023 12:03:35 +0100 Subject: [PATCH 1/1] Add patch operation for update node leaves Issue-ID: CPS-1602 Change-Id: Ie67e6cb6810cd6ea05f3a11f7b195f0f23d39138 Signed-off-by: halil.cakal --- csit/data/testTreePatchExample.json | 11 +++++++++++ csit/tests/cps-data/cps-data.robot | 19 ++++++++++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 csit/data/testTreePatchExample.json 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 -- 2.16.6