/docs/_build/*
/test-tools/metrics-reports/
+
+csit/env.properties
+csit/archives/
+++ /dev/null
-env.properties
-archives/
+++ /dev/null
-{
- "operation": "read",
- "data": {
- "modules": [
- {
- "name": "nc-notifications",
- "revision": "2008-07-14"
- }
- ]
- }
-}
\ No newline at end of file
prefix book-store;
- import ietf-yang-types { prefix yang; }
- import ietf-inet-types { prefix inet; }
+ import ietf-yang-types { prefix yang; }
+ import ietf-inet-types { prefix inet; }
revision "2020-09-15" {
description
type string;
}
leaf pub_year {
- type year;
+ type year;
}
leaf price {
- type uint64;
+ type uint64;
}
}
}
###################### ROBOT Configurations ##########################
# Pass variables required for Robot test suites in ROBOT_VARIABLES
-ROBOT_VARIABLES="-v CPS_CORE_HOST:$CPS_CORE_HOST -v CPS_CORE_PORT:$CPS_CORE_PORT -v DMI_HOST:$LOCAL_IP -v DMI_PORT:$DMI_PORT -v DMI_CSIT_STUB_HOST:$LOCAL_IP -v DMI_CSIT_STUB_PORT:$DMI_DEMO_STUB_PORT -v DMI_AUTH_ENABLED:$DMI_AUTH_ENABLED -v DATADIR:$WORKSPACE/data -v DATADIR_SUBS_NOTIFICATION:$WORKSPACE/data/subscription-notification --exitonfailure"
\ No newline at end of file
+ROBOT_VARIABLES="-v CPS_CORE_HOST:$CPS_CORE_HOST -v CPS_CORE_PORT:$CPS_CORE_PORT -v DMI_HOST:$LOCAL_IP -v DMI_PORT:$DMI_PORT -v DMI_CSIT_STUB_HOST:$LOCAL_IP -v DMI_CSIT_STUB_PORT:$DMI_DEMO_STUB_PORT -v DMI_AUTH_ENABLED:$DMI_AUTH_ENABLED -v DATADIR_CPS_CORE:$WORKSPACE/data/cps-core -v DATADIR_NCMP:$WORKSPACE/data/ncmp -v DATADIR_SUBS_NOTIFICATION:$WORKSPACE/data/subscription-notification --exitonfailure"
\ No newline at end of file
${uri}= Set Variable ${ncmpBasePath}/ch/id-searches
${headers}= Create Dictionary Content-Type=application/json Authorization=${auth}
${response}= POST On Session CPS_URL ${uri} headers=${headers} data=${jsonModuleAndPropertyQueryParameters}
- ${responseJson}= Set Variable ${response.json()}
Should Be Equal As Strings ${response.status_code} 200
- Should Contain ${responseJson} PNFDemo
+ Should Contain ${response.json()} PNFDemo
Retrieve CM Handle ids where query parameters Match (empty query)
${uri}= Set Variable ${ncmpBasePath}/ch/id-searches
${headers}= Create Dictionary Content-Type=application/json Authorization=${auth}
${response}= POST On Session CPS_URL ${uri} headers=${headers} data=${jsonEmptyQueryParameters}
- ${responseJson}= Set Variable ${response.json()}
Should Be Equal As Strings ${response.status_code} 200
- Should Contain ${responseJson} PNFDemo
+ Should Contain ${response.json()} PNFDemo
Throw 400 when Structure of Request is Incorrect
${uri}= Set Variable ${ncmpBasePath}/ch/id-searches
Create Schema Set from YANG file
${uri}= Set Variable ${basePath}/v1/dataspaces/${dataspaceName}/schema-sets
${params}= Create Dictionary schema-set-name=${schemaSetName}
- ${fileData}= Get Binary File ${DATADIR}${/}test-tree.yang
+ ${fileData}= Get Binary File ${DATADIR_CPS_CORE}${/}test-tree.yang
${fileTuple}= Create List test.yang ${fileData} application/zip
&{files}= Create Dictionary file=${fileTuple}
${headers}= Create Dictionary Authorization=${auth}
Create Schema Set from ZIP file
${uri}= Set Variable ${basePath}/v1/dataspaces/${dataspaceName}/schema-sets
${params}= Create Dictionary schema-set-name=ZipTestSchemaSet
- ${fileData}= Get Binary File ${DATADIR}${/}yang-resources.zip
+ ${fileData}= Get Binary File ${DATADIR_CPS_CORE}${/}yang-resources.zip
${fileTuple}= Create List test.zip ${fileData} application/zip
&{files}= Create Dictionary file=${fileTuple}
${headers}= Create Dictionary Authorization=${auth}
NCMP Data Operation, forwarded to DMI, response on Client Topic
${uri}= Set Variable ${ncmpBasePath}/v1/data
- ${dataOperationReqBody}= Get Binary File ${DATADIR}${/}dataOperationRequest.json
+ ${dataOperationReqBody}= Get Binary File ${DATADIR_CPS_CORE}${/}dataOperationRequest.json
${params}= Create Dictionary topic=${topic}
${headers}= Create Dictionary Content-Type=application/json Authorization=${auth}
POST On Session CPS_URL ncmpInventory/v1/ch headers=${headers} data=${newCmHandleRequestBody}
- Sleep 5 wait some time to get updated the cm handle state to READY
+ Sleep 8 wait some time to get updated the cm handle state to READY
${response}= POST On Session CPS_URL ${uri} params=${params} headers=${headers} data=${dataOperationReqBody}
Set Global Variable ${expectedRequestId} ${response.json()}[requestId]
Should Be Equal As Strings ${response.status_code} 200
${verifyUri}= Set Variable ${ncmpBasePath}/v1/ch/PNFDemo/state
${verifyHeaders}= Create Dictionary Authorization=${auth}
${verifyResponse}= GET On Session CPS_URL ${verifyUri} headers=${verifyHeaders}
- ${verifyResponseJson}= Set Variable ${verifyResponse.json()['state']['dataSyncState']['operational']}
- Should Be Equal As Strings ${verifyResponseJson['syncState']} UNSYNCHRONIZED
+ Should Be Equal As Strings ${verifyResponse.json()['state']['dataSyncState']['operational']['syncState']} UNSYNCHRONIZED
Sleep 5
Operational state goes to SYNCHRONIZED after sometime when data sync (flag) is enabled
${uri}= Set Variable ${ncmpBasePath}/v1/ch/PNFDemo/state
${headers}= Create Dictionary Authorization=${auth}
${response}= GET On Session CPS_URL ${uri} headers=${headers}
- ${responseJson}= Set Variable ${response.json()['state']['dataSyncState']['operational']}
- Should Be Equal As Strings ${responseJson['syncState']} SYNCHRONIZED
\ No newline at end of file
+ Should Be Equal As Strings ${response.json()['state']['dataSyncState']['operational']['syncState']} SYNCHRONIZED
\ No newline at end of file
Create Data Node
${uri}= Set Variable ${basePath}/v1/dataspaces/${dataspaceName}/anchors/${anchorName}/nodes
${headers} Create Dictionary Content-Type=application/json Authorization=${auth}
- ${jsonData}= Get Binary File ${DATADIR}${/}test-tree.json
+ ${jsonData}= Get Binary File ${DATADIR_CPS_CORE}${/}test-tree.json
${response}= POST On Session CPS_URL ${uri} headers=${headers} data=${jsonData}
Should Be Equal As Strings ${response.status_code} 201
${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
+ ${jsonData}= Get Binary File ${DATADIR_CPS_CORE}${/}testTreePatchExample.json
${response}= PATCH On Session CPS_URL ${uri} params=${params} headers=${headers} data=${jsonData}
Should Be Equal As Strings ${response.status_code} 200
${params}= Create Dictionary xpath=/test-tree/branch[@name='LEFT/left']/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']} SMALL/small
+ Should Be Equal As Strings ${response.json()['tree:nest']['name']} SMALL/small
${uri}= Set Variable ${ncmpBasePath}/v1/ch/PNFDemo/modules
${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}
+ FOR ${item} IN @{response.json()}
IF "${item['moduleName']}" == "stores"
Should Be Equal As Strings "${item['revision']}" "2020-09-15"
END
${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
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