*** Test Cases ***
+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
+ 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}
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}${/}bookstoreCreateExample.json
+ ${jsonData}= Get Binary File ${DATADIR_NCMP}${/}bookstoreCreateExample.json
${response}= POST On Session CPS_URL ${uri} headers=${headers} data=${jsonData}
Should Be Equal As Strings ${response.status_code} 201
${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']}
+ FOR ${item} IN @{response.json()['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"
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
+ ${jsonData}= Get Binary File ${DATADIR_NCMP}${/}bookstoreUpdateExample.json
${response}= PUT On Session CPS_URL ${uri} headers=${headers} data=${jsonData}
Should Be Equal As Strings ${response.status_code} 200
${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']}
+ FOR ${item} IN @{response.json()['stores:categories']}
IF "${item['code']}" == "01"
Should Be Equal As Strings "${item['name']}" "Updated Sci-Fi Category Name"
END
${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']}
+ ${schemaCount}= Get length ${response.json()['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
${headers}= Create Dictionary Authorization=${auth}
${response}= Get On Session CPS_URL ${uri} headers=${headers}
- ${responseJson}= Set Variable ${response.json()}
+ ${responseJson}= Set Variable ${response.json()['stores:bookstore']['categories']}
Should Be Equal As Strings ${response.status_code} 200
- ${schemaCount}= Get length ${responseJson['stores:bookstore']['categories']}
+ ${schemaCount}= Get length ${responseJson}
Should Be Equal As Numbers ${schemaCount} 1
- FOR ${item} IN @{responseJson['stores:bookstore']['categories']}
+ FOR ${item} IN @{responseJson}
IF "${item['code']}" == "02"
Should Be Equal As Strings "${item['name']}" "Horror"
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
+ ${jsonData}= Get Binary File ${DATADIR_NCMP}${/}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']}
+ FOR ${item} IN @{verifyResponse.json()['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
\ No newline at end of file
+ Should Be Equal As Strings ${verifyResponse.status_code} 200