diff options
author | Ruslan Kashapov <ruslan.kashapov@pantheon.tech> | 2021-02-26 11:42:29 +0200 |
---|---|---|
committer | Ruslan Kashapov <ruslan.kashapov@pantheon.tech> | 2021-03-03 17:28:20 +0200 |
commit | d44fceebbd37108a15f45fbf5813d413efeb2ac6 (patch) | |
tree | 624fc224c5434996e7004c4d148e5e6da5397485 /csit/tests | |
parent | 32446dce35b5bf9d2c84751718cb4ece7f96fa72 (diff) |
CSIT: Integration tests for CPS Core
+ also fixes issue with fragment_id sequence not reflecting data loaded
Issue-ID: CPS-261
Change-Id: If590d6a0859a1acc9005dd2da952b7dd93a23059
Signed-off-by: Ruslan Kashapov <ruslan.kashapov@pantheon.tech>
Diffstat (limited to 'csit/tests')
-rw-r--r-- | csit/tests/actuator/__init__.robot | 2 | ||||
-rw-r--r-- | csit/tests/actuator/actuator.robot | 23 | ||||
-rw-r--r-- | csit/tests/cps-admin/cps-admin.robot | 53 | ||||
-rw-r--r-- | csit/tests/cps-data/cps-data.robot | 31 |
4 files changed, 96 insertions, 13 deletions
diff --git a/csit/tests/actuator/__init__.robot b/csit/tests/actuator/__init__.robot deleted file mode 100644 index 714f3c3c8e..0000000000 --- a/csit/tests/actuator/__init__.robot +++ /dev/null @@ -1,2 +0,0 @@ -*** Settings *** -Documentation CPS - Actuator endpoints diff --git a/csit/tests/actuator/actuator.robot b/csit/tests/actuator/actuator.robot index 59c76073a3..1253dffbf3 100644 --- a/csit/tests/actuator/actuator.robot +++ b/csit/tests/actuator/actuator.robot @@ -1,18 +1,19 @@ *** Settings *** -Library OperatingSystem -Library Process +Documentation CPS - Actuator endpoints + +Library Collections +Library RequestsLibrary + +Suite Setup Create Session CPS_HOST ${CPS_HOST} *** Variables *** -${check} ${SCRIPTS}/actuator/check_endpoint.sh *** Test Cases *** -Liveness Probe for CPS - [Documentation] Liveness Probe - ${result}= Run Process bash ${check} ${CPS_HOST}/manage/health/liveness >> actuator-test.log shell=yes - Should Be Equal As Integers ${result.rc} 0 +Test Liveness Probe Endpoint + ${response}= GET On Session CPS_HOST /manage/health/liveness expected_status=200 + Should Be Equal As Strings ${response.json()['status']} UP -Readiness Probe for CPS - [Documentation] Readiness Probe - ${result}= Run Process bash ${check} ${CPS_HOST}/manage/health/readiness >> actuator-test.log shell=yes - Should Be Equal As Integers ${result.rc} 0 +Test Readiness Probe Endpoint + ${response}= GET On Session CPS_HOST /manage/health/readiness expected_status=200 + Should Be Equal As Strings ${response.json()['status']} UP
\ No newline at end of file diff --git a/csit/tests/cps-admin/cps-admin.robot b/csit/tests/cps-admin/cps-admin.robot new file mode 100644 index 0000000000..446a59b86d --- /dev/null +++ b/csit/tests/cps-admin/cps-admin.robot @@ -0,0 +1,53 @@ +*** Settings *** +Documentation CPS Core - Admin REST API + +Library Collections +Library OperatingSystem +Library RequestsLibrary + +Suite Setup Create Session CPS_HOST ${CPS_HOST} + +*** Variables *** + +${basePath} /cps/api +${dataspaceName} CSIT-Dataspace +${schemaSetName} CSIT-SchemaSet +${anchorName} CSIT-Anchor + +*** Test Cases *** +Create Dataspace + ${uri}= Set Variable ${basePath}/v1/dataspaces + ${params}= Create Dictionary dataspace-name=${dataspaceName} + ${response}= POST On Session CPS_HOST ${uri} params=${params} + Should Be Equal As Strings ${response.status_code} 201 + +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 + ${fileTuple}= Create List test.yang ${fileData} application/zip + &{files}= Create Dictionary file=${fileTuple} + ${response}= POST On Session CPS_HOST ${uri} files=${files} params=${params} + Should Be Equal As Strings ${response.status_code} 201 + +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 + ${fileTuple}= Create List test.zip ${fileData} application/zip + &{files}= Create Dictionary file=${fileTuple} + ${response}= POST On Session CPS_HOST ${uri} files=${files} params=${params} + Should Be Equal As Strings ${response.status_code} 201 + +Get Schema Set info + ${uri}= Set Variable ${basePath}/v1/dataspaces/${dataspaceName}/schema-sets/${schemaSetName} + ${response}= Get On Session CPS_HOST ${uri} expected_status=200 + ${responseJson}= Set Variable ${response.json()} + Should Be Equal As Strings ${responseJson['name']} ${schemaSetName} + Should Be Equal As Strings ${responseJson['dataspaceName']} ${dataspaceName} + +Create Anchor + ${uri}= Set Variable ${basePath}/v1/dataspaces/${dataspaceName}/anchors + ${params}= Create Dictionary schema-set-name=${schemaSetName} anchor-name=${anchorName} + ${response}= POST On Session CPS_HOST ${uri} params=${params} + Should Be Equal As Strings ${response.status_code} 201
\ No newline at end of file diff --git a/csit/tests/cps-data/cps-data.robot b/csit/tests/cps-data/cps-data.robot new file mode 100644 index 0000000000..8b0202b3b2 --- /dev/null +++ b/csit/tests/cps-data/cps-data.robot @@ -0,0 +1,31 @@ +*** Settings *** +Documentation CPS Core - Data REST API + +Library Collections +Library OperatingSystem +Library RequestsLibrary + +Suite Setup Create Session CPS_HOST ${CPS_HOST} + +*** Variables *** + +${basePath} /cps/api +${dataspaceName} CSIT-Dataspace +${anchorName} CSIT-Anchor + +*** Test Cases *** +Create Data Node + ${uri}= Set Variable ${basePath}/v1/dataspaces/${dataspaceName}/anchors/${anchorName}/nodes + ${headers} Create Dictionary Content-Type=application/json + ${jsonData}= Get Binary File ${DATADIR}${/}test-tree.json + ${response}= POST On Session CPS_HOST ${uri} headers=${headers} data=${jsonData} + Should Be Equal As Strings ${response.status_code} 201 + +Get Data Node by XPath + ${uri}= Set Variable ${basePath}/v1/dataspaces/${dataspaceName}/anchors/${anchorName}/node + ${params}= Create Dictionary xpath=/test-tree/branch[@name='Left']/nest + ${response}= Get On Session CPS_HOST ${uri} params=${params} expected_status=200 + ${responseJson}= Set Variable ${response.json()} + Should Be Equal As Strings ${responseJson['name']} Small + + |