aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhalil.cakal <halil.cakal@est.tech>2023-04-06 12:03:35 +0100
committerhalil.cakal <halil.cakal@est.tech>2023-04-13 12:28:55 +0100
commitc4a583ae85030da56049fdd2367d77df4a2548e8 (patch)
treeb50932ff9cc4db540db79775c472ce9b54564471
parentdd3643411ed8bb581a3147e07606919c3b1675d3 (diff)
Add patch operation for update node leaves
Issue-ID: CPS-1602 Change-Id: Ie67e6cb6810cd6ea05f3a11f7b195f0f23d39138 Signed-off-by: halil.cakal <halil.cakal@est.tech>
-rw-r--r--csit/data/testTreePatchExample.json11
-rw-r--r--csit/tests/cps-data/cps-data.robot19
2 files changed, 29 insertions, 1 deletions
diff --git a/csit/data/testTreePatchExample.json b/csit/data/testTreePatchExample.json
new file mode 100644
index 0000000000..31210b6289
--- /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 096bd07b79..ce2033c116 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