summaryrefslogtreecommitdiffstats
path: root/csit/tests
diff options
context:
space:
mode:
authorRuslan Kashapov <ruslan.kashapov@pantheon.tech>2021-02-26 11:42:29 +0200
committerRuslan Kashapov <ruslan.kashapov@pantheon.tech>2021-03-03 17:28:20 +0200
commitd44fceebbd37108a15f45fbf5813d413efeb2ac6 (patch)
tree624fc224c5434996e7004c4d148e5e6da5397485 /csit/tests
parent32446dce35b5bf9d2c84751718cb4ece7f96fa72 (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__.robot2
-rw-r--r--csit/tests/actuator/actuator.robot23
-rw-r--r--csit/tests/cps-admin/cps-admin.robot53
-rw-r--r--csit/tests/cps-data/cps-data.robot31
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 714f3c3c8..000000000
--- 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 59c76073a..1253dffbf 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 000000000..446a59b86
--- /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 000000000..8b0202b3b
--- /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
+
+