From 015691cae16b4c6913cf7caf727011280308ac8b Mon Sep 17 00:00:00 2001 From: "ning.xi" Date: Tue, 30 Jul 2019 00:31:18 +0000 Subject: integration test for execution property rest API Issue-ID: POLICY-1936 Change-Id: Ifc720cd320f5eced2f3c039b2ce6442387de240b Signed-off-by: ning.xi --- .../executionproperties/logic/TaskFetchHttpCode.js | 33 +++++++++++ .../executionproperties/logic/TaskTagUrl.js | 33 +++++++++++ .../ExecutionPropertiesRestTestPolicyModel.apex | 64 ++++++++++++++++++++++ .../RESTEventBadHttpCodeFilter.json | 52 ++++++++++++++++++ .../executionproperties/RESTEventBadUrl.json | 59 ++++++++++++++++++++ .../RESTEventNoValueSetForTag.json | 59 ++++++++++++++++++++ .../RESTHttpCodeFilterSetToMultiTagUrlOK.json | 59 ++++++++++++++++++++ .../RESTHttpCodeFilterSetToTagUrlOK.json | 59 ++++++++++++++++++++ 8 files changed, 418 insertions(+) create mode 100644 testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/TaskFetchHttpCode.js create mode 100644 testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/TaskTagUrl.js create mode 100644 testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/policy/ExecutionPropertiesRestTestPolicyModel.apex create mode 100644 testsuites/integration/integration-uservice-test/src/test/resources/testdata/executionproperties/RESTEventBadHttpCodeFilter.json create mode 100644 testsuites/integration/integration-uservice-test/src/test/resources/testdata/executionproperties/RESTEventBadUrl.json create mode 100644 testsuites/integration/integration-uservice-test/src/test/resources/testdata/executionproperties/RESTEventNoValueSetForTag.json create mode 100644 testsuites/integration/integration-uservice-test/src/test/resources/testdata/executionproperties/RESTHttpCodeFilterSetToMultiTagUrlOK.json create mode 100644 testsuites/integration/integration-uservice-test/src/test/resources/testdata/executionproperties/RESTHttpCodeFilterSetToTagUrlOK.json (limited to 'testsuites/integration/integration-uservice-test/src/test/resources') diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/TaskFetchHttpCode.js b/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/TaskFetchHttpCode.js new file mode 100644 index 000000000..5916a23b2 --- /dev/null +++ b/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/TaskFetchHttpCode.js @@ -0,0 +1,33 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +executor.logger.info(executor.subject.id); +executor.logger.info(executor.inFields); + +executor.logger.info(executor.outFields); + +executor.logger.info("executionProperties:" + executor.getExecutionProperties()); + +if (executor.getExecutionProperties() == "{HTTP_CODE_STATUS=500}" ) + executor.outFields.put("testToRun", "CodeFilterSet"); +else + executor.outFields.put("testToRun", "CodeFilterDefault"); + +var returnValue = executor.isTrue; \ No newline at end of file diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/TaskTagUrl.js b/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/TaskTagUrl.js new file mode 100644 index 000000000..4a8ff30f1 --- /dev/null +++ b/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/TaskTagUrl.js @@ -0,0 +1,33 @@ +/* + * ============LICENSE_START======================================================= + * Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +executor.logger.info(executor.subject.id); +executor.logger.info(executor.inFields); + +executor.logger.info(executor.outFields); + +executor.logger.info("executionProperties in:" + executor.getExecutionProperties()); + +executor.getExecutionProperties().setProperty("tagId", executor.inFields.get("testToRun")); +executor.getExecutionProperties().setProperty("value", "3"); + +executor.logger.info("executionProperties out:" + executor.getExecutionProperties()); + +var returnValue = executor.isTrue; \ No newline at end of file diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/policy/ExecutionPropertiesRestTestPolicyModel.apex b/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/policy/ExecutionPropertiesRestTestPolicyModel.apex new file mode 100644 index 000000000..053e05349 --- /dev/null +++ b/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/policy/ExecutionPropertiesRestTestPolicyModel.apex @@ -0,0 +1,64 @@ +#------------------------------------------------------------------------------- +# ============LICENSE_START======================================================= +# Copyright (C) 2019 Nordix Foundation. +# ================================================================================ +# 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. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= +#------------------------------------------------------------------------------- + +model create name=ExecutionPropertiesRestTestPolicyModel + +schema create name=SimpleStringType flavour=Java schema=java.lang.String + +event create name=Event0200 nameSpace=org.onap.policy.apex.domains.test source=Junit target=Decide +event parameter create name=Event0200 parName=testToRun schemaName=SimpleStringType + +event create name=Event0201 nameSpace=org.onap.policy.apex.domains.test source=Decide target=OutSide +event parameter create name=Event0201 parName=testToRun schemaName=SimpleStringType + + +task create name=TaskFetchHttpCode + +task inputfield create name=TaskFetchHttpCode fieldName=testToRun schemaName=SimpleStringType +task outputfield create name=TaskFetchHttpCode fieldName=testToRun schemaName=SimpleStringType + +task logic create name=TaskFetchHttpCode logicFlavour=JAVASCRIPT logic=LS +#MACROFILE:"src/test/resources/policies/executionproperties/logic/TaskFetchHttpCode.js" +LE + +task create name=TaskTagUrl + +task inputfield create name=TaskTagUrl fieldName=testToRun schemaName=SimpleStringType +task outputfield create name=TaskTagUrl fieldName=testToRun schemaName=SimpleStringType + +task logic create name=TaskTagUrl logicFlavour=JAVASCRIPT logic=LS +#MACROFILE:"src/test/resources/policies/executionproperties/logic/TaskTagUrl.js" +LE + + +policy create name=Policy2 template=freestyle firstState=Junit + +policy state create name=Policy2 stateName=Decide triggerName=Event0201 defaultTaskName=TaskTagUrl +policy state output create name=Policy2 stateName=Decide outputName=TagUrlOut eventName=Event0201 nextState=NULL +policy state taskref create name=Policy2 stateName=Decide taskLocalName=tag taskName=TaskTagUrl outputType=DIRECT outputName=TagUrlOut + +policy state create name=Policy2 stateName=Junit triggerName=Event0200 defaultTaskName=TaskFetchHttpCode +policy state output create name=Policy2 stateName=Junit outputName=HttpCodeOut eventName=Event0201 nextState=Decide +policy state taskref create name=Policy2 stateName=Junit taskLocalName=check taskName=TaskFetchHttpCode outputType=DIRECT outputName=HttpCodeOut + + + +validate + diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/testdata/executionproperties/RESTEventBadHttpCodeFilter.json b/testsuites/integration/integration-uservice-test/src/test/resources/testdata/executionproperties/RESTEventBadHttpCodeFilter.json new file mode 100644 index 000000000..5da96ae9c --- /dev/null +++ b/testsuites/integration/integration-uservice-test/src/test/resources/testdata/executionproperties/RESTEventBadHttpCodeFilter.json @@ -0,0 +1,52 @@ +{ + "engineServiceParameters": { + "name": "MyApexEngine", + "version": "0.0.1", + "id": 45, + "instanceCount": 4, + "deploymentPort": 12561, + "policyModelFileName": "target/ExecutionPropertiesRestTestPolicyModel.json", + "engineParameters": { + "executorParameters": { + "JAVASCRIPT": { + "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters" + } + } + } + }, + "eventInputParameters": { + "GetCodeConsumer": { + "carrierTechnologyParameters": { + "carrierTechnology": "RESTCLIENT", + "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters", + "parameters": { + "url": "http://localhost:32801/TestExecutionRest/apex/event/FetchHttpCode", + "httpMethod": "GET", + "httpHeaders" : [ + ], + "httpCodeFilter" : "[4][0-1][0-9]" + } + }, + "eventProtocolParameters": { + "eventProtocol": "JSON", + "parameters": { + "testToRun": "FetchHttpCode" + } + }, + "eventName": "Event0200" + } + }, + "eventOutputParameters": { + "FirstProducer": { + "carrierTechnologyParameters": { + "carrierTechnology": "FILE", + "parameters": { + "fileName": "src/test/resources/events/EventsOut.json" + } + }, + "eventProtocolParameters": { + "eventProtocol": "JSON" + } + } + } +} diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/testdata/executionproperties/RESTEventBadUrl.json b/testsuites/integration/integration-uservice-test/src/test/resources/testdata/executionproperties/RESTEventBadUrl.json new file mode 100644 index 000000000..bec3f9214 --- /dev/null +++ b/testsuites/integration/integration-uservice-test/src/test/resources/testdata/executionproperties/RESTEventBadUrl.json @@ -0,0 +1,59 @@ +{ + "engineServiceParameters": { + "name": "MyApexEngine", + "version": "0.0.1", + "id": 45, + "instanceCount": 4, + "deploymentPort": 12561, + "policyModelFileName": "target/ExecutionPropertiesRestTestPolicyModel.json", + "engineParameters": { + "executorParameters": { + "JAVASCRIPT": { + "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters" + } + } + } + }, + "eventInputParameters": { + "GetCodeConsumer": { + "carrierTechnologyParameters": { + "carrierTechnology": "RESTCLIENT", + "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters", + "parameters": { + "url": "http://localhost:32801/TestExecutionRest/apex/event/FetchHttpCode", + "httpMethod": "GET", + "httpHeaders" : [ + ], + "httpCodeFilter" : "[1-5][0][0-5]" + } + }, + "eventProtocolParameters": { + "eventProtocol": "JSON", + "parameters": { + "testToRun": "FetchHttpCode" + } + }, + "eventName": "Event0200" + } + }, + "eventOutputParameters": { + "FirstProducer": { + "carrierTechnologyParameters": { + "carrierTechnology": "RESTCLIENT", + "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters", + "parameters": { + "url": "http://localhost:32801/TestExecutionRest/apex/event/tagId}", + "httpMethod": "PUT", + "httpHeaders" : [ + ["Content-Type", "application/json"], + ["Date", "Tue, 24 Jul 2019 14:57:12 GMT"] + ] + } + }, + "eventProtocolParameters": { + "eventProtocol": "JSON" + }, + "eventName": "Event0201" + } + } +} diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/testdata/executionproperties/RESTEventNoValueSetForTag.json b/testsuites/integration/integration-uservice-test/src/test/resources/testdata/executionproperties/RESTEventNoValueSetForTag.json new file mode 100644 index 000000000..a765fb5b2 --- /dev/null +++ b/testsuites/integration/integration-uservice-test/src/test/resources/testdata/executionproperties/RESTEventNoValueSetForTag.json @@ -0,0 +1,59 @@ +{ + "engineServiceParameters": { + "name": "MyApexEngine", + "version": "0.0.1", + "id": 45, + "instanceCount": 4, + "deploymentPort": 12561, + "policyModelFileName": "target/ExecutionPropertiesRestTestPolicyModel.json", + "engineParameters": { + "executorParameters": { + "JAVASCRIPT": { + "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters" + } + } + } + }, + "eventInputParameters": { + "GetCodeConsumer": { + "carrierTechnologyParameters": { + "carrierTechnology": "RESTCLIENT", + "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters", + "parameters": { + "url": "http://localhost:32801/TestExecutionRest/apex/event/FetchHttpCode", + "httpMethod": "GET", + "httpHeaders" : [ + ], + "httpCodeFilter" : "[1-5][0][0-5]" + } + }, + "eventProtocolParameters": { + "eventProtocol": "JSON", + "parameters": { + "testToRun": "FetchHttpCode" + } + }, + "eventName": "Event0200" + } + }, + "eventOutputParameters": { + "FirstProducer": { + "carrierTechnologyParameters": { + "carrierTechnology": "RESTCLIENT", + "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters", + "parameters": { + "url": "http://localhost:32801/TestExecutionRest/apex/event/{tagId}/{Number}", + "httpMethod": "PUT", + "httpHeaders" : [ + ["Content-Type", "application/json"], + ["Date", "Tue, 24 Jul 2019 14:57:12 GMT"] + ] + } + }, + "eventProtocolParameters": { + "eventProtocol": "JSON" + }, + "eventName": "Event0201" + } + } +} diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/testdata/executionproperties/RESTHttpCodeFilterSetToMultiTagUrlOK.json b/testsuites/integration/integration-uservice-test/src/test/resources/testdata/executionproperties/RESTHttpCodeFilterSetToMultiTagUrlOK.json new file mode 100644 index 000000000..556ca234d --- /dev/null +++ b/testsuites/integration/integration-uservice-test/src/test/resources/testdata/executionproperties/RESTHttpCodeFilterSetToMultiTagUrlOK.json @@ -0,0 +1,59 @@ +{ + "engineServiceParameters": { + "name": "MyApexEngine", + "version": "0.0.1", + "id": 45, + "instanceCount": 4, + "deploymentPort": 12561, + "policyModelFileName": "target/ExecutionPropertiesRestTestPolicyModel.json", + "engineParameters": { + "executorParameters": { + "JAVASCRIPT": { + "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters" + } + } + } + }, + "eventInputParameters": { + "GetCodeConsumer": { + "carrierTechnologyParameters": { + "carrierTechnology": "RESTCLIENT", + "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters", + "parameters": { + "url": "http://localhost:32801/TestExecutionRest/apex/event/FetchHttpCode", + "httpMethod": "GET", + "httpHeaders" : [ + ], + "httpCodeFilter" : "[1-5][0][0-5]" + } + }, + "eventProtocolParameters": { + "eventProtocol": "JSON", + "parameters": { + "testToRun": "FetchHttpCode" + } + }, + "eventName": "Event0200" + } + }, + "eventOutputParameters": { + "FirstProducer": { + "carrierTechnologyParameters": { + "carrierTechnology": "RESTCLIENT", + "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters", + "parameters": { + "url": "http://localhost:32801/TestExecutionRest/apex/event/{tagId}/{value}", + "httpMethod": "PUT", + "httpHeaders" : [ + ["Content-Type", "application/json"], + ["Date", "Tue, 24 Jul 2019 14:57:12 GMT"] + ] + } + }, + "eventProtocolParameters": { + "eventProtocol": "JSON" + }, + "eventName": "Event0201" + } + } +} diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/testdata/executionproperties/RESTHttpCodeFilterSetToTagUrlOK.json b/testsuites/integration/integration-uservice-test/src/test/resources/testdata/executionproperties/RESTHttpCodeFilterSetToTagUrlOK.json new file mode 100644 index 000000000..455d6f54e --- /dev/null +++ b/testsuites/integration/integration-uservice-test/src/test/resources/testdata/executionproperties/RESTHttpCodeFilterSetToTagUrlOK.json @@ -0,0 +1,59 @@ +{ + "engineServiceParameters": { + "name": "MyApexEngine", + "version": "0.0.1", + "id": 45, + "instanceCount": 4, + "deploymentPort": 12561, + "policyModelFileName": "target/ExecutionPropertiesRestTestPolicyModel.json", + "engineParameters": { + "executorParameters": { + "JAVASCRIPT": { + "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters" + } + } + } + }, + "eventInputParameters": { + "GetCodeConsumer": { + "carrierTechnologyParameters": { + "carrierTechnology": "RESTCLIENT", + "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters", + "parameters": { + "url": "http://localhost:32801/TestExecutionRest/apex/event/FetchHttpCode", + "httpMethod": "GET", + "httpHeaders" : [ + ], + "httpCodeFilter" : "[1-5][0][0-5]" + } + }, + "eventProtocolParameters": { + "eventProtocol": "JSON", + "parameters": { + "testToRun": "FetchHttpCode" + } + }, + "eventName": "Event0200" + } + }, + "eventOutputParameters": { + "FirstProducer": { + "carrierTechnologyParameters": { + "carrierTechnology": "RESTCLIENT", + "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters", + "parameters": { + "url": "http://localhost:32801/TestExecutionRest/apex/event/{tagId}", + "httpMethod": "PUT", + "httpHeaders" : [ + ["Content-Type", "application/json"], + ["Date", "Tue, 24 Jul 2019 14:57:12 GMT"] + ] + } + }, + "eventProtocolParameters": { + "eventProtocol": "JSON" + }, + "eventName": "Event0201" + } + } +} -- cgit 1.2.3-korg