aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDylanB95EST <dylan.byrne@est.tech>2021-11-23 15:16:15 +0000
committerDylanB95EST <dylan.byrne@est.tech>2021-12-08 12:38:42 +0000
commit8c9b4a24b4841154a2d08f506e2f7beca4f6fc31 (patch)
treec004cdd1e407b4ef5a6a840b9e39910469237df1
parent043a0ed45530842a8606a675cb71078ab055d2d5 (diff)
Add CSIT Tests for Update Operation on Passthrough-running 2/3
Add robot integration test for update scenario in Passthrough-running Modify existing write data test json body to include better examples Issue-ID: CPS-768 Change-Id: Ie769a33a86ec1a8384585484c54598189fdd5124 Signed-off-by: DylanB95EST <dylan.byrne@est.tech>
-rw-r--r--csit/data/bookstoreAddEntry.json19
-rw-r--r--csit/data/bookstoreCreateExample.json34
-rw-r--r--csit/data/bookstoreUpdateExample.json8
-rw-r--r--csit/tests/ncmp-passthrough/ncmp-passthrough.robot43
4 files changed, 80 insertions, 24 deletions
diff --git a/csit/data/bookstoreAddEntry.json b/csit/data/bookstoreAddEntry.json
deleted file mode 100644
index 86e9a5b3d6..0000000000
--- a/csit/data/bookstoreAddEntry.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "stores:categories": [
- {
- "stores:code": "ISBN200123",
- "stores:name": "library",
- "stores:books": [
- {
- "stores:title": "A good book",
- "stores:lang": "English",
- "stores:authors": [
- "Joe & Rahul"
- ],
- "stores:pub_year": "2001",
- "stores:price": "1000"
- }
- ]
- }
- ]
-} \ No newline at end of file
diff --git a/csit/data/bookstoreCreateExample.json b/csit/data/bookstoreCreateExample.json
new file mode 100644
index 0000000000..ff8e202e30
--- /dev/null
+++ b/csit/data/bookstoreCreateExample.json
@@ -0,0 +1,34 @@
+{
+ "categories": [
+ {
+ "code": "01",
+ "name": "Sci-Fi",
+ "books": [
+ {
+ "title": "A Sci-Fi book",
+ "lang": "English",
+ "authors": [
+ "Joe & Rahul"
+ ],
+ "pub_year": "2001",
+ "price": "1000"
+ }
+ ]
+ },
+ {
+ "code": "02",
+ "name": "Horror",
+ "books": [
+ {
+ "title": "A Horror book",
+ "lang": "English",
+ "authors": [
+ "Joe & Rahul"
+ ],
+ "pub_year": "2003",
+ "price": "2000"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/csit/data/bookstoreUpdateExample.json b/csit/data/bookstoreUpdateExample.json
new file mode 100644
index 0000000000..2614b59222
--- /dev/null
+++ b/csit/data/bookstoreUpdateExample.json
@@ -0,0 +1,8 @@
+{
+ "categories": [
+ {
+ "code": "01",
+ "name": "Updated Sci-Fi Category Name"
+ }
+ ]
+} \ No newline at end of file
diff --git a/csit/tests/ncmp-passthrough/ncmp-passthrough.robot b/csit/tests/ncmp-passthrough/ncmp-passthrough.robot
index c23fa085b8..77d7f41037 100644
--- a/csit/tests/ncmp-passthrough/ncmp-passthrough.robot
+++ b/csit/tests/ncmp-passthrough/ncmp-passthrough.robot
@@ -45,21 +45,54 @@ Get for Passthough Operational (CF, RO) with fields
Should Be True ${schemaCount} >0
Should Contain ${responseJson['ietf-netconf-monitoring:netconf-state']['schemas']['schema'][0]['location']} ${netconf}
-Write to bookstore using passthrough-running
+Create to bookstore using passthrough-running
${uri}= Set Variable ${ncmpBasePath}/v1/ch/PNFDemo/data/ds/ncmp-datastore:passthrough-running?resourceIdentifier=stores:bookstore
${headers}= Create Dictionary Content-Type=application/json Authorization=${auth}
- ${jsonData}= Get Binary File ${DATADIR}${/}bookstoreAddEntry.json
+ ${jsonData}= Get Binary File ${DATADIR}${/}bookstoreCreateExample.json
${response}= POST On Session CPS_URL ${uri} headers=${headers} data=${jsonData}
Should Be Equal As Strings ${response.status_code} 201
-Verify write to bookstore using passthrough-running
+Verify create to bookstore using passthrough-running
${uri}= Set Variable ${ncmpBasePath}/v1/ch/PNFDemo/data/ds/ncmp-datastore:passthrough-running?resourceIdentifier=stores:bookstore
${headers}= Create Dictionary Authorization=${auth}
${response}= Get On Session CPS_URL ${uri} headers=${headers}
${responseJson}= Set Variable ${response.json()}
Should Be Equal As Strings ${response.status_code} 200
FOR ${item} IN @{responseJson['stores:bookstore']['categories']}
- IF "${item['code']}" == "ISBN200123"
- Should Be Equal As Strings "${item['books']}[0][title]" "A good book"
+ IF "${item['code']}" == "01"
+ Should Be Equal As Strings "${item['name']}" "Sci-Fi"
+ Should Be Equal As Strings "${item['books']}[0][title]" "A Sci-Fi book"
+ END
+ IF "${item['code']}" == "02"
+ Should Be Equal As Strings "${item['name']}" "Horror"
+ Should Be Equal As Strings "${item['books']}[0][title]" "A Horror book"
END
END
+
+Update Bookstore using passthrough-running for Category 01
+ ${uri}= Set Variable ${ncmpBasePath}/v1/ch/PNFDemo/data/ds/ncmp-datastore:passthrough-running?resourceIdentifier=stores:bookstore/categories=01
+ ${headers}= Create Dictionary Content-Type=application/json Authorization=${auth}
+ ${jsonData}= Get Binary File ${DATADIR}${/}bookstoreUpdateExample.json
+ ${response}= PUT On Session CPS_URL ${uri} headers=${headers} data=${jsonData}
+ Should Be Equal As Strings ${response.status_code} 200
+
+Verify update to bookstore using passthrough-running updated category 01
+ ${uri}= Set Variable ${ncmpBasePath}/v1/ch/PNFDemo/data/ds/ncmp-datastore:passthrough-running?resourceIdentifier=stores:bookstore/categories=01
+ ${headers}= Create Dictionary Authorization=${auth}
+ ${response}= Get On Session CPS_URL ${uri} headers=${headers}
+ ${responseJson}= Set Variable ${response.json()}
+ Should Be Equal As Strings ${response.status_code} 200
+ FOR ${item} IN @{responseJson['stores:categories']}
+ IF "${item['code']}" == "01"
+ Should Be Equal As Strings "${item['name']}" "Updated Sci-Fi Category Name"
+ END
+ END
+
+Verify update to bookstore using passthrough-running did not remove category 02
+ ${uri}= Set Variable ${ncmpBasePath}/v1/ch/PNFDemo/data/ds/ncmp-datastore:passthrough-running?resourceIdentifier=stores:bookstore
+ ${headers}= Create Dictionary Authorization=${auth}
+ ${response}= Get On Session CPS_URL ${uri} headers=${headers}
+ ${responseJson}= Set Variable ${response.json()}
+ Should Be Equal As Strings ${response.status_code} 200
+ ${schemaCount}= Get length ${responseJson['stores:bookstore']['categories']}
+ Should Be Equal As Numbers ${schemaCount} 2 \ No newline at end of file