diff options
Diffstat (limited to 'test/netconf')
-rw-r--r-- | test/netconf/dummy-request-payload.json | 14 | ||||
-rw-r--r-- | test/netconf/jython/connect-fail/expected-response.json | 29 | ||||
-rw-r--r-- | test/netconf/jython/connect-fail/request-payload.json | 19 | ||||
-rwxr-xr-x | test/netconf/jython/connect-fail/test.sh | 41 | ||||
-rw-r--r-- | test/netconf/jython/success/expected-response.json | 29 | ||||
-rw-r--r-- | test/netconf/jython/success/request-payload.json | 19 | ||||
-rwxr-xr-x | test/netconf/jython/success/test.sh | 41 | ||||
-rw-r--r-- | test/netconf/kotlin/connect-fail/expected-response.json | 29 | ||||
-rw-r--r-- | test/netconf/kotlin/connect-fail/request-payload.json | 19 | ||||
-rwxr-xr-x | test/netconf/kotlin/connect-fail/test.sh | 41 | ||||
-rw-r--r-- | test/netconf/kotlin/success/expected-response.json | 29 | ||||
-rw-r--r-- | test/netconf/kotlin/success/request-payload.json | 19 | ||||
-rwxr-xr-x | test/netconf/kotlin/success/test.sh | 41 | ||||
-rwxr-xr-x | test/netconf/netconf-enrichment-test.sh | 33 | ||||
-rwxr-xr-x | test/netconf/netconf-upload-test.sh | 36 |
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' |