From 8c9b4a24b4841154a2d08f506e2f7beca4f6fc31 Mon Sep 17 00:00:00 2001 From: DylanB95EST Date: Tue, 23 Nov 2021 15:16:15 +0000 Subject: 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 --- csit/tests/ncmp-passthrough/ncmp-passthrough.robot | 43 +++++++++++++++++++--- 1 file changed, 38 insertions(+), 5 deletions(-) (limited to 'csit/tests') diff --git a/csit/tests/ncmp-passthrough/ncmp-passthrough.robot b/csit/tests/ncmp-passthrough/ncmp-passthrough.robot index c23fa085b..77d7f4103 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 -- cgit 1.2.3-korg