summaryrefslogtreecommitdiffstats
path: root/test/netconf
diff options
context:
space:
mode:
Diffstat (limited to 'test/netconf')
-rw-r--r--test/netconf/dummy-request-payload.json14
-rw-r--r--test/netconf/jython/connect-fail/expected-response.json29
-rw-r--r--test/netconf/jython/connect-fail/request-payload.json19
-rwxr-xr-xtest/netconf/jython/connect-fail/test.sh41
-rw-r--r--test/netconf/jython/success/expected-response.json29
-rw-r--r--test/netconf/jython/success/request-payload.json19
-rwxr-xr-xtest/netconf/jython/success/test.sh41
-rw-r--r--test/netconf/kotlin/connect-fail/expected-response.json29
-rw-r--r--test/netconf/kotlin/connect-fail/request-payload.json19
-rwxr-xr-xtest/netconf/kotlin/connect-fail/test.sh41
-rw-r--r--test/netconf/kotlin/success/expected-response.json29
-rw-r--r--test/netconf/kotlin/success/request-payload.json19
-rwxr-xr-xtest/netconf/kotlin/success/test.sh41
-rwxr-xr-xtest/netconf/netconf-enrichment-test.sh33
-rwxr-xr-xtest/netconf/netconf-upload-test.sh36
15 files changed, 439 insertions, 0 deletions
diff --git a/test/netconf/dummy-request-payload.json b/test/netconf/dummy-request-payload.json
new file mode 100644
index 0000000..acc4f92
--- /dev/null
+++ b/test/netconf/dummy-request-payload.json
@@ -0,0 +1,14 @@
+{
+ "commonHeader": {
+ "originatorId": "System",
+ "requestId": "dummy-request-should-fail",
+ "subRequestId": "1"
+ },
+ "actionIdentifiers": {
+ "blueprintName": "RT-netconf",
+ "blueprintVersion": "1.0.0",
+ "actionName": "dummy",
+ "mode": "sync"
+ },
+ "payload": {}
+}
diff --git a/test/netconf/jython/connect-fail/expected-response.json b/test/netconf/jython/connect-fail/expected-response.json
new file mode 100644
index 0000000..ff0cceb
--- /dev/null
+++ b/test/netconf/jython/connect-fail/expected-response.json
@@ -0,0 +1,29 @@
+{
+ "commonHeader": {
+ "timestamp": "2020-02-04T14:16:32.798Z",
+ "originatorId": "System",
+ "requestId": "regression-test-netconf-jython-connect-fail",
+ "subRequestId": "1",
+ "flags": null
+ },
+ "actionIdentifiers": {
+ "blueprintName": "RT-netconf",
+ "blueprintVersion": "1.0.0",
+ "actionName": "netconf-jython",
+ "mode": "sync"
+ },
+ "status": {
+ "code": 500,
+ "eventType": "EVENT_COMPONENT_FAILURE",
+ "timestamp": "2020-02-04T14:16:32.824Z",
+ "errorMessage": "org.onap.ccsdk.cds.blueprintsprocessor.functions.netconf.executor.api.NetconfException: 127.0.0.1:17830: Failed to establish SSH session",
+ "message": "failure"
+ },
+ "payload": {
+ "netconf-jython-response": {
+ "response-data": {
+ "deploySuccess": false
+ }
+ }
+ }
+}
diff --git a/test/netconf/jython/connect-fail/request-payload.json b/test/netconf/jython/connect-fail/request-payload.json
new file mode 100644
index 0000000..9a9f240
--- /dev/null
+++ b/test/netconf/jython/connect-fail/request-payload.json
@@ -0,0 +1,19 @@
+{
+ "actionIdentifiers": {
+ "mode": "sync",
+ "blueprintName": "RT-netconf",
+ "blueprintVersion": "1.0.0",
+ "actionName": "netconf-jython"
+ },
+ "payload": {
+ "netconf-jython-request": {
+ "netconf-host": "127.0.0.1",
+ "netconf-timeout": 5
+ }
+ },
+ "commonHeader": {
+ "subRequestId": "1",
+ "requestId": "regression-test-netconf-jython-connect-fail",
+ "originatorId": "System"
+ }
+}
diff --git a/test/netconf/jython/connect-fail/test.sh b/test/netconf/jython/connect-fail/test.sh
new file mode 100755
index 0000000..40b6056
--- /dev/null
+++ b/test/netconf/jython/connect-fail/test.sh
@@ -0,0 +1,41 @@
+#!/bin/bash
+#
+# Copyright (C) 2020 Bell Canada.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+CBA_NAME="netconf"
+LANG="jython"
+TEST_NAME="connect-fail"
+TEST_NUMBER=$RANDOM
+
+mkdir -p "$RESPONSES_DIRECTORY/$CBA_NAME/$LANG/$TEST_NAME/$TEST_NUMBER/"
+RESPONSE_HEADERS_FILE="$RESPONSES_DIRECTORY/$CBA_NAME/$LANG/$TEST_NAME/$TEST_NUMBER/response-headers"
+RESPONSE_PAYLOAD_FILE="$RESPONSES_DIRECTORY/$CBA_NAME/$LANG/$TEST_NAME/$TEST_NUMBER/response-payload"
+
+REQUEST_PAYLOAD_FILE="$TEST_DIRECTORY/$CBA_NAME/$LANG/$TEST_NAME/request-payload.json"
+EXPECTED_PAYLOAD_FILE="$TEST_DIRECTORY/$CBA_NAME/$LANG/$TEST_NAME/expected-response.json"
+
+. ./$TEST_DIRECTORY/utils.sh
+
+echo "Running test: $CBA_NAME:$TEST_NUMBER:$TEST_NAME"
+
+echo 'Calling CDS process'
+process_cba $REQUEST_PAYLOAD_FILE $RESPONSE_PAYLOAD_FILE $RESPONSE_HEADERS_FILE
+
+echo 'Assert statuscode 500'
+assert_status_code 500 $RESPONSE_HEADERS_FILE
+
+echo 'Assert connect fail payload'
+assert_cds_response_equals $EXPECTED_PAYLOAD_FILE $RESPONSE_PAYLOAD_FILE
diff --git a/test/netconf/jython/success/expected-response.json b/test/netconf/jython/success/expected-response.json
new file mode 100644
index 0000000..6408577
--- /dev/null
+++ b/test/netconf/jython/success/expected-response.json
@@ -0,0 +1,29 @@
+{
+ "commonHeader": {
+ "timestamp": "2020-02-03T13:40:43.697Z",
+ "originatorId": "System",
+ "requestId": "regression-test-netconf-jython",
+ "subRequestId": "1",
+ "flags": null
+ },
+ "actionIdentifiers": {
+ "blueprintName": "RT-netconf",
+ "blueprintVersion": "1.0.0",
+ "actionName": "netconf-jython",
+ "mode": "sync"
+ },
+ "status": {
+ "code": 200,
+ "eventType": "EVENT_COMPONENT_EXECUTED",
+ "timestamp": "2020-02-03T13:40:51.835Z",
+ "errorMessage": null,
+ "message": "success"
+ },
+ "payload": {
+ "netconf-jython-response": {
+ "response-data": {
+ "deploySuccess": true
+ }
+ }
+ }
+}
diff --git a/test/netconf/jython/success/request-payload.json b/test/netconf/jython/success/request-payload.json
new file mode 100644
index 0000000..dcaaeb1
--- /dev/null
+++ b/test/netconf/jython/success/request-payload.json
@@ -0,0 +1,19 @@
+{
+ "actionIdentifiers": {
+ "mode": "sync",
+ "blueprintName": "RT-netconf",
+ "blueprintVersion": "1.0.0",
+ "actionName": "netconf-jython"
+ },
+ "payload": {
+ "netconf-jython-request": {
+ "netconf-host": "odl-netconf-testtool",
+ "netconf-timeout": 30
+ }
+ },
+ "commonHeader": {
+ "subRequestId": "1",
+ "requestId": "regression-test-netconf-jython",
+ "originatorId": "System"
+ }
+}
diff --git a/test/netconf/jython/success/test.sh b/test/netconf/jython/success/test.sh
new file mode 100755
index 0000000..5da46da
--- /dev/null
+++ b/test/netconf/jython/success/test.sh
@@ -0,0 +1,41 @@
+#!/bin/bash
+#
+# Copyright (C) 2020 Bell Canada.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+CBA_NAME="netconf"
+LANG="jython"
+TEST_NAME="success"
+TEST_NUMBER=$RANDOM
+
+mkdir -p "$RESPONSES_DIRECTORY/$CBA_NAME/$LANG/$TEST_NAME/$TEST_NUMBER/"
+RESPONSE_HEADERS_FILE="$RESPONSES_DIRECTORY/$CBA_NAME/$LANG/$TEST_NAME/$TEST_NUMBER/response-headers"
+RESPONSE_PAYLOAD_FILE="$RESPONSES_DIRECTORY/$CBA_NAME/$LANG/$TEST_NAME/$TEST_NUMBER/response-payload"
+
+REQUEST_PAYLOAD_FILE="$TEST_DIRECTORY/$CBA_NAME/$LANG/$TEST_NAME/request-payload.json"
+EXPECTED_PAYLOAD_FILE="$TEST_DIRECTORY/$CBA_NAME/$LANG/$TEST_NAME/expected-response.json"
+
+. ./$TEST_DIRECTORY/utils.sh
+
+echo "Running test: $CBA_NAME:$TEST_NUMBER:$TEST_NAME"
+
+echo 'Calling CDS process'
+process_cba $REQUEST_PAYLOAD_FILE $RESPONSE_PAYLOAD_FILE $RESPONSE_HEADERS_FILE
+
+echo 'Assert statuscode 200'
+assert_status_code 200 $RESPONSE_HEADERS_FILE
+
+echo 'Assert payload'
+assert_cds_response_equals $EXPECTED_PAYLOAD_FILE $RESPONSE_PAYLOAD_FILE
diff --git a/test/netconf/kotlin/connect-fail/expected-response.json b/test/netconf/kotlin/connect-fail/expected-response.json
new file mode 100644
index 0000000..9334b50
--- /dev/null
+++ b/test/netconf/kotlin/connect-fail/expected-response.json
@@ -0,0 +1,29 @@
+{
+ "commonHeader": {
+ "timestamp": "2020-02-04T14:16:32.798Z",
+ "originatorId": "System",
+ "requestId": "regression-test-netconf-kotlin-connect-fail",
+ "subRequestId": "1",
+ "flags": null
+ },
+ "actionIdentifiers": {
+ "blueprintName": "RT-netconf",
+ "blueprintVersion": "1.0.0",
+ "actionName": "netconf-kotlin",
+ "mode": "sync"
+ },
+ "status": {
+ "code": 500,
+ "eventType": "EVENT_COMPONENT_FAILURE",
+ "timestamp": "2020-02-04T14:16:32.824Z",
+ "errorMessage": "org.onap.ccsdk.cds.blueprintsprocessor.functions.netconf.executor.api.NetconfException: 127.0.0.1:17830: Failed to establish SSH session",
+ "message": "failure"
+ },
+ "payload": {
+ "netconf-kotlin-response": {
+ "response-data": {
+ "deploySuccess": false
+ }
+ }
+ }
+}
diff --git a/test/netconf/kotlin/connect-fail/request-payload.json b/test/netconf/kotlin/connect-fail/request-payload.json
new file mode 100644
index 0000000..8cac64a
--- /dev/null
+++ b/test/netconf/kotlin/connect-fail/request-payload.json
@@ -0,0 +1,19 @@
+{
+ "actionIdentifiers": {
+ "mode": "sync",
+ "blueprintName": "RT-netconf",
+ "blueprintVersion": "1.0.0",
+ "actionName": "netconf-kotlin"
+ },
+ "payload": {
+ "netconf-kotlin-request": {
+ "netconf-host": "127.0.0.1",
+ "netconf-timeout": 5
+ }
+ },
+ "commonHeader": {
+ "subRequestId": "1",
+ "requestId": "regression-test-netconf-kotlin-connect-fail",
+ "originatorId": "System"
+ }
+}
diff --git a/test/netconf/kotlin/connect-fail/test.sh b/test/netconf/kotlin/connect-fail/test.sh
new file mode 100755
index 0000000..0ba3533
--- /dev/null
+++ b/test/netconf/kotlin/connect-fail/test.sh
@@ -0,0 +1,41 @@
+#!/bin/bash
+#
+# Copyright (C) 2020 Bell Canada.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+CBA_NAME="netconf"
+LANG="kotlin"
+TEST_NAME="connect-fail"
+TEST_NUMBER=$RANDOM
+
+mkdir -p "$RESPONSES_DIRECTORY/$CBA_NAME/$LANG/$TEST_NAME/$TEST_NUMBER/"
+RESPONSE_HEADERS_FILE="$RESPONSES_DIRECTORY/$CBA_NAME/$LANG/$TEST_NAME/$TEST_NUMBER/response-headers"
+RESPONSE_PAYLOAD_FILE="$RESPONSES_DIRECTORY/$CBA_NAME/$LANG/$TEST_NAME/$TEST_NUMBER/response-payload"
+
+REQUEST_PAYLOAD_FILE="$TEST_DIRECTORY/$CBA_NAME/$LANG/$TEST_NAME/request-payload.json"
+EXPECTED_PAYLOAD_FILE="$TEST_DIRECTORY/$CBA_NAME/$LANG/$TEST_NAME/expected-response.json"
+
+. ./$TEST_DIRECTORY/utils.sh
+
+echo "Running test: $CBA_NAME:$TEST_NUMBER:$TEST_NAME"
+
+echo 'Calling CDS process'
+process_cba $REQUEST_PAYLOAD_FILE $RESPONSE_PAYLOAD_FILE $RESPONSE_HEADERS_FILE
+
+echo 'Assert statuscode 500'
+assert_status_code 500 $RESPONSE_HEADERS_FILE
+
+echo 'Assert connect fail payload'
+assert_cds_response_equals $EXPECTED_PAYLOAD_FILE $RESPONSE_PAYLOAD_FILE
diff --git a/test/netconf/kotlin/success/expected-response.json b/test/netconf/kotlin/success/expected-response.json
new file mode 100644
index 0000000..dfb81d7
--- /dev/null
+++ b/test/netconf/kotlin/success/expected-response.json
@@ -0,0 +1,29 @@
+{
+ "commonHeader": {
+ "timestamp": "2020-02-03T13:40:43.697Z",
+ "originatorId": "System",
+ "requestId": "regression-test-netconf-kotlin",
+ "subRequestId": "1",
+ "flags": null
+ },
+ "actionIdentifiers": {
+ "blueprintName": "RT-netconf",
+ "blueprintVersion": "1.0.0",
+ "actionName": "netconf-kotlin",
+ "mode": "sync"
+ },
+ "status": {
+ "code": 200,
+ "eventType": "EVENT_COMPONENT_EXECUTED",
+ "timestamp": "2020-02-03T13:40:51.835Z",
+ "errorMessage": null,
+ "message": "success"
+ },
+ "payload": {
+ "netconf-kotlin-response": {
+ "response-data": {
+ "deploySuccess": true
+ }
+ }
+ }
+}
diff --git a/test/netconf/kotlin/success/request-payload.json b/test/netconf/kotlin/success/request-payload.json
new file mode 100644
index 0000000..412614f
--- /dev/null
+++ b/test/netconf/kotlin/success/request-payload.json
@@ -0,0 +1,19 @@
+{
+ "actionIdentifiers": {
+ "mode": "sync",
+ "blueprintName": "RT-netconf",
+ "blueprintVersion": "1.0.0",
+ "actionName": "netconf-kotlin"
+ },
+ "payload": {
+ "netconf-kotlin-request": {
+ "netconf-host": "odl-netconf-testtool",
+ "netconf-timeout": 30
+ }
+ },
+ "commonHeader": {
+ "subRequestId": "1",
+ "requestId": "regression-test-netconf-kotlin",
+ "originatorId": "System"
+ }
+}
diff --git a/test/netconf/kotlin/success/test.sh b/test/netconf/kotlin/success/test.sh
new file mode 100755
index 0000000..7e7f3c6
--- /dev/null
+++ b/test/netconf/kotlin/success/test.sh
@@ -0,0 +1,41 @@
+#!/bin/bash
+#
+# Copyright (C) 2020 Bell Canada.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+CBA_NAME="netconf"
+LANG="kotlin"
+TEST_NAME="success"
+TEST_NUMBER=$RANDOM
+
+mkdir -p "$RESPONSES_DIRECTORY/$CBA_NAME/$LANG/$TEST_NAME/$TEST_NUMBER/"
+RESPONSE_HEADERS_FILE="$RESPONSES_DIRECTORY/$CBA_NAME/$LANG/$TEST_NAME/$TEST_NUMBER/response-headers"
+RESPONSE_PAYLOAD_FILE="$RESPONSES_DIRECTORY/$CBA_NAME/$LANG/$TEST_NAME/$TEST_NUMBER/response-payload"
+
+REQUEST_PAYLOAD_FILE="$TEST_DIRECTORY/$CBA_NAME/$LANG/$TEST_NAME/request-payload.json"
+EXPECTED_PAYLOAD_FILE="$TEST_DIRECTORY/$CBA_NAME/$LANG/$TEST_NAME/expected-response.json"
+
+. ./$TEST_DIRECTORY/utils.sh
+
+echo "Running test: $CBA_NAME:$TEST_NUMBER:$TEST_NAME"
+
+echo 'Calling CDS process'
+process_cba $REQUEST_PAYLOAD_FILE $RESPONSE_PAYLOAD_FILE $RESPONSE_HEADERS_FILE
+
+echo 'Assert statuscode 200'
+assert_status_code 200 $RESPONSE_HEADERS_FILE
+
+echo 'Assert payload'
+assert_cds_response_equals $EXPECTED_PAYLOAD_FILE $RESPONSE_PAYLOAD_FILE
diff --git a/test/netconf/netconf-enrichment-test.sh b/test/netconf/netconf-enrichment-test.sh
new file mode 100755
index 0000000..2b7d3a5
--- /dev/null
+++ b/test/netconf/netconf-enrichment-test.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+#
+# Copyright (C) 2020 Bell Canada.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+CBA_NAME="netconf"
+TEST_NAME="$CBA_NAME-enrichment"
+TEST_NUMBER=$RANDOM
+RESPONSE_HEADERS_FILE="$RESPONSES_DIRECTORY/$TEST_NAME-$TEST_NUMBER-response-headers"
+
+. ./$TEST_DIRECTORY/utils.sh
+
+echo "Compressing CBA: $CBA_NAME"
+compress_cba $CBA_NAME
+
+echo "Enriching CBA: $CBA_NAME"
+enrich_cba $CBA_NAME $RESPONSE_HEADERS_FILE
+
+echo 'Assert status 200'
+assert_status_code 200 $RESPONSE_HEADERS_FILE
+
diff --git a/test/netconf/netconf-upload-test.sh b/test/netconf/netconf-upload-test.sh
new file mode 100755
index 0000000..76a4a93
--- /dev/null
+++ b/test/netconf/netconf-upload-test.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+#
+# Copyright (C) 2020 Bell Canada.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+CBA_NAME="netconf"
+TEST_NAME="$CBA_NAME-upload"
+TEST_NUMBER=$RANDOM
+RESPONSE_HEADERS_FILE="$RESPONSES_DIRECTORY/$TEST_NAME-$TEST_NUMBER-response-headers"
+RESPONSE_PAYLOAD_FILE="$RESPONSES_DIRECTORY/$TEST_NAME-$TEST_NUMBER-response-payload"
+REQUEST_PAYLOAD_FILE="$TEST_DIRECTORY/$CBA_NAME/dummy-request-payload.json"
+
+. ./$TEST_DIRECTORY/utils.sh
+
+echo "Uploading CBA: $CBA_NAME"
+upload_cba $CBA_NAME $RESPONSE_PAYLOAD_FILE $RESPONSE_HEADERS_FILE
+
+echo 'Assert status 200'
+assert_status_code 200 $RESPONSE_HEADERS_FILE
+
+# This step prevents a race-condition for parallel process requests
+# when cba has not yet been written to filesystem
+echo 'Send process request to force CDS to load CBA to filesystem'
+process_cba $REQUEST_PAYLOAD_FILE '/dev/null' '/dev/null'