X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=csit%2Ftests%2Fncmp-passthrough%2Fncmp-passthrough.robot;h=95a8d535c7dc5d8f2bb968df735e0484b2cc6dd7;hb=f31c7f8bd4985c84f9126d071439c1a4de57f704;hp=c23fa085b8b58b431c44a8354756433cbc5aef9d;hpb=fb86f1d39531871a4af1839e00f8b1520e96da95;p=cps.git diff --git a/csit/tests/ncmp-passthrough/ncmp-passthrough.robot b/csit/tests/ncmp-passthrough/ncmp-passthrough.robot index c23fa085b..95a8d535c 100644 --- a/csit/tests/ncmp-passthrough/ncmp-passthrough.robot +++ b/csit/tests/ncmp-passthrough/ncmp-passthrough.robot @@ -36,8 +36,15 @@ ${netconf} NETCONF *** Test Cases *** -Get for Passthough Operational (CF, RO) with fields - ${uri}= Set Variable ${ncmpBasePath}/v1/ch/PNFDemo/data/ds/ncmp-datastore:passthrough-operational?resourceIdentifier=ietf-netconf-monitoring:netconf-state&options=(fields=schemas/schema/location) +Get for Passthrough Operational (CF, RO) with fields & topic + ${uri}= Set Variable ${ncmpBasePath}/v1/ch/PNFDemo/data/ds/ncmp-datastore:passthrough-operational?resourceIdentifier=ietf-netconf-monitoring:netconf-state&options=(fields=schemas/schema)&topic=test-topic + ${headers}= Create Dictionary Authorization=${auth} + ${response}= Get On Session CPS_URL ${uri} headers=${headers} expected_status=200 + ${responseJson}= Set Variable ${response.json()} + Should Be Equal As Strings ${response.status_code} 200 + +Get for Passthrough Operational (CF, RO) with fields + ${uri}= Set Variable ${ncmpBasePath}/v1/ch/PNFDemo/data/ds/ncmp-datastore:passthrough-operational?resourceIdentifier=ietf-netconf-monitoring:netconf-state&options=(fields=schemas/schema) ${headers}= Create Dictionary Authorization=${auth} ${response}= Get On Session CPS_URL ${uri} headers=${headers} expected_status=200 ${responseJson}= Set Variable ${response.json()} @@ -45,21 +52,95 @@ 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']}" == "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 + +Delete 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} + ${response}= DELETE On Session CPS_URL ${uri} headers=${headers} + Should Be Equal As Strings ${response.status_code} 204 + +Verify delete to bookstore using passthrough-running removed only category 01 + ${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} 1 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']}" == "02" + Should Be Equal As Strings "${item['name']}" "Horror" + END + END + +Patch will add new category with new book and add a new book to an existing category + ${uri}= Set Variable ${ncmpBasePath}/v1/ch/PNFDemo/data/ds/ncmp-datastore:passthrough-running?resourceIdentifier=stores:bookstore + ${headers}= Create Dictionary Content-Type=application/yang.patch+json Authorization=${auth} + ${jsonData}= Get Binary File ${DATADIR}${/}bookstorePatchExample.json + ${response}= PATCH On Session CPS_URL ${uri} headers=${headers} data=${jsonData} + Should Be Equal As Strings ${response.status_code} 200 + ${verifyUri}= Set Variable ${ncmpBasePath}/v1/ch/PNFDemo/data/ds/ncmp-datastore:passthrough-running?resourceIdentifier=stores:bookstore/categories=100 + ${verifyHeaders}= Create Dictionary Authorization=${auth} + ${verifyResponse}= Get On Session CPS_URL ${verifyUri} headers=${verifyHeaders} + ${responseJson}= Set Variable ${verifyResponse.json()} + Should Be Equal As Strings ${verifyResponse.status_code} 200 + FOR ${item} IN @{responseJson['stores:categories']} + IF "${item['code']}" == "100" + Should Be Equal As Strings "${item['name']}" "Category100" END END + ${verifyUri}= Set Variable ${ncmpBasePath}/v1/ch/PNFDemo/data/ds/ncmp-datastore:passthrough-running?resourceIdentifier=stores:bookstore/categories=02/books=A%20New%20book%20in%20existing%20category + ${verifyResponse}= Get On Session CPS_URL ${verifyUri} headers=${verifyHeaders} + ${responseJson}= Set Variable ${verifyResponse.json()} + Should Be Equal As Strings ${verifyResponse.status_code} 200