aboutsummaryrefslogtreecommitdiffstats
path: root/testsuites/integration/integration-uservice-test/src/test/resources/policies
diff options
context:
space:
mode:
authorliamfallon <liam.fallon@est.tech>2019-07-10 19:44:39 +0000
committerliamfallon <liam.fallon@est.tech>2019-07-10 19:44:39 +0000
commitadf67497761295115dc75b525500d687518fc4fd (patch)
treec5c5b5e737ac08256e9f782b5dccbd3ddc08d3c3 /testsuites/integration/integration-uservice-test/src/test/resources/policies
parent5c384fb2888029c2babb859c30318749e1ce828c (diff)
Add integration tests for executor properties
Added integration test that sets properties in a dummy plugin and amends them in tasks in a policy. Variosu tests added to check combinations of where properties are set in plugins or in tasks or both. Implementaiton changed to: - Always pass in a Properies object, the properties object coming into the policy cannot be null because the task/TSL/SFL may wish to set it - Fix a bug where the properties were not passed from the ApexEvent to the engine event in the ApexEventUnmarshaller class Issue-ID: POLICY-1743 Change-Id: I6aa152b28d46cf3cc6fa56a1a95b76a8e55f5a49 Signed-off-by: liamfallon <liam.fallon@est.tech>
Diffstat (limited to 'testsuites/integration/integration-uservice-test/src/test/resources/policies')
-rw-r--r--testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/AddPropertyTask.js34
-rw-r--r--testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/DefinedToEmptyTask.js34
-rw-r--r--testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/EmptyToDefinedTask.js34
-rw-r--r--testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/EmptyToEmptyTask.js28
-rw-r--r--testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/ReadOnlyTask.js28
-rw-r--r--testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/RemovePropertyTask.js34
-rw-r--r--testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/RunTestStateTSL.js57
-rw-r--r--testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/policy/ExecutionPropertiesTestPolicyModel.apex99
8 files changed, 348 insertions, 0 deletions
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/AddPropertyTask.js b/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/AddPropertyTask.js
new file mode 100644
index 000000000..af0db4e3e
--- /dev/null
+++ b/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/AddPropertyTask.js
@@ -0,0 +1,34 @@
+/*
+ * ============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());
+
+var executionProperties = new java.util.Properties();
+
+executor.getExecutionProperties().setProperty("goodbye", "mars");
+
+executor.logger.info("executionProperties out:" + executor.getExecutionProperties());
+
+var returnValue = executor.isTrue;
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/DefinedToEmptyTask.js b/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/DefinedToEmptyTask.js
new file mode 100644
index 000000000..dce37cc3e
--- /dev/null
+++ b/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/DefinedToEmptyTask.js
@@ -0,0 +1,34 @@
+/*
+ * ============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());
+
+var executionProperties = new java.util.Properties();
+
+executor.getExecutionProperties().clear();
+
+executor.logger.info("executionProperties out:" + executor.getExecutionProperties());
+
+var returnValue = executor.isTrue;
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/EmptyToDefinedTask.js b/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/EmptyToDefinedTask.js
new file mode 100644
index 000000000..090b7a00c
--- /dev/null
+++ b/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/EmptyToDefinedTask.js
@@ -0,0 +1,34 @@
+/*
+ * ============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());
+
+var executionProperties = new java.util.Properties();
+
+executor.getExecutionProperties().setProperty("hello", "world");
+
+executor.logger.info("executionProperties out:" + executor.getExecutionProperties());
+
+var returnValue = executor.isTrue;
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/EmptyToEmptyTask.js b/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/EmptyToEmptyTask.js
new file mode 100644
index 000000000..62af4e97b
--- /dev/null
+++ b/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/EmptyToEmptyTask.js
@@ -0,0 +1,28 @@
+/*
+ * ============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());
+
+var returnValue = executor.isTrue;
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/ReadOnlyTask.js b/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/ReadOnlyTask.js
new file mode 100644
index 000000000..62af4e97b
--- /dev/null
+++ b/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/ReadOnlyTask.js
@@ -0,0 +1,28 @@
+/*
+ * ============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());
+
+var returnValue = executor.isTrue;
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/RemovePropertyTask.js b/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/RemovePropertyTask.js
new file mode 100644
index 000000000..f08b718e4
--- /dev/null
+++ b/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/RemovePropertyTask.js
@@ -0,0 +1,34 @@
+/*
+ * ============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());
+
+var executionProperties = new java.util.Properties();
+
+executor.getExecutionProperties().remove("hello");
+
+executor.logger.info("executionProperties out:" + executor.getExecutionProperties());
+
+var returnValue = executor.isTrue;
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/RunTestStateTSL.js b/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/RunTestStateTSL.js
new file mode 100644
index 000000000..b527fc1f1
--- /dev/null
+++ b/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/logic/RunTestStateTSL.js
@@ -0,0 +1,57 @@
+/*
+ * ============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);
+
+var returnValue = executor.isTrue;
+
+executor.logger.info("executionProperties:" + executor.getExecutionProperties());
+
+switch (executor.inFields.get("testToRun")) {
+ case "ReadOnly":
+ executor.subject.getTaskKey("ReadOnlyTask").copyTo(executor.selectedTask);
+ break;
+
+ case "EmptyToEmpty":
+ executor.subject.getTaskKey("EmptyToEmptyTask").copyTo(executor.selectedTask);
+ break;
+
+ case "EmptyToDefined":
+ executor.subject.getTaskKey("EmptyToDefinedTask").copyTo(executor.selectedTask);
+ break;
+
+ case "DefinedToEmpty":
+ executor.subject.getTaskKey("DefinedToEmptyTask").copyTo(executor.selectedTask);
+ break;
+
+ case "RemoveProperty":
+ executor.subject.getTaskKey("RemovePropertyTask").copyTo(executor.selectedTask);
+ break;
+
+ case "AddProperty":
+ executor.subject.getTaskKey("AddPropertyTask").copyTo(executor.selectedTask);
+ break;
+
+ default:
+ executor.subject.getTaskKey("ReadOnlyTask").copyTo(executor.selectedTask);
+}
+
+executor.logger.info("Selected Task:" + executor.selectedTask);
diff --git a/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/policy/ExecutionPropertiesTestPolicyModel.apex b/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/policy/ExecutionPropertiesTestPolicyModel.apex
new file mode 100644
index 000000000..83af487e5
--- /dev/null
+++ b/testsuites/integration/integration-uservice-test/src/test/resources/policies/executionproperties/policy/ExecutionPropertiesTestPolicyModel.apex
@@ -0,0 +1,99 @@
+#-------------------------------------------------------------------------------
+# ============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=ExecutionPropertiesTestPolicyModel
+
+schema create name=SimpleStringType flavour=Java schema=java.lang.String
+schema create name=SimpleIntegerType flavour=Java schema=java.lang.Integer
+
+event create name=RunTestEvent nameSpace=org.onap.policy.apex.domains.test source=JUNIT target=apex
+event parameter create name=RunTestEvent parName=testToRun schemaName=SimpleStringType
+
+task create name=ReadOnlyTask
+
+task inputfield create name=ReadOnlyTask fieldName=testToRun schemaName=SimpleStringType
+task outputfield create name=ReadOnlyTask fieldName=testToRun schemaName=SimpleStringType
+
+task logic create name=ReadOnlyTask logicFlavour=JAVASCRIPT logic=LS
+#MACROFILE:"src/test/resources/policies/executionproperties/logic/ReadOnlyTask.js"
+LE
+
+task create name=EmptyToEmptyTask
+
+task inputfield create name=EmptyToEmptyTask fieldName=testToRun schemaName=SimpleStringType
+task outputfield create name=EmptyToEmptyTask fieldName=testToRun schemaName=SimpleStringType
+
+task logic create name=EmptyToEmptyTask logicFlavour=JAVASCRIPT logic=LS
+#MACROFILE:"src/test/resources/policies/executionproperties/logic/EmptyToEmptyTask.js"
+LE
+
+task create name=EmptyToDefinedTask
+
+task inputfield create name=EmptyToDefinedTask fieldName=testToRun schemaName=SimpleStringType
+task outputfield create name=EmptyToDefinedTask fieldName=testToRun schemaName=SimpleStringType
+
+task logic create name=EmptyToDefinedTask logicFlavour=JAVASCRIPT logic=LS
+#MACROFILE:"src/test/resources/policies/executionproperties/logic/EmptyToDefinedTask.js"
+LE
+
+task create name=DefinedToEmptyTask
+
+task inputfield create name=DefinedToEmptyTask fieldName=testToRun schemaName=SimpleStringType
+task outputfield create name=DefinedToEmptyTask fieldName=testToRun schemaName=SimpleStringType
+
+task logic create name=DefinedToEmptyTask logicFlavour=JAVASCRIPT logic=LS
+#MACROFILE:"src/test/resources/policies/executionproperties/logic/DefinedToEmptyTask.js"
+LE
+
+task create name=AddPropertyTask
+
+task inputfield create name=AddPropertyTask fieldName=testToRun schemaName=SimpleStringType
+task outputfield create name=AddPropertyTask fieldName=testToRun schemaName=SimpleStringType
+
+task logic create name=AddPropertyTask logicFlavour=JAVASCRIPT logic=LS
+#MACROFILE:"src/test/resources/policies/executionproperties/logic/AddPropertyTask.js"
+LE
+
+task create name=RemovePropertyTask
+
+task inputfield create name=RemovePropertyTask fieldName=testToRun schemaName=SimpleStringType
+task outputfield create name=RemovePropertyTask fieldName=testToRun schemaName=SimpleStringType
+
+task logic create name=RemovePropertyTask logicFlavour=JAVASCRIPT logic=LS
+#MACROFILE:"src/test/resources/policies/executionproperties/logic/RemovePropertyTask.js"
+LE
+
+policy create name=ExecutionPropertiesTestPolicy template=freestyle firstState=RunTestState
+
+policy state create name=ExecutionPropertiesTestPolicy stateName=RunTestState triggerName=RunTestEvent defaultTaskName=ReadOnlyTask
+policy state output create name=ExecutionPropertiesTestPolicy stateName=RunTestState outputName=TestFinalOutput eventName=RunTestEvent
+policy state taskref create name=ExecutionPropertiesTestPolicy stateName=RunTestState taskName=ReadOnlyTask outputType=DIRECT outputName=TestFinalOutput
+policy state taskref create name=ExecutionPropertiesTestPolicy stateName=RunTestState taskName=EmptyToEmptyTask outputType=DIRECT outputName=TestFinalOutput
+policy state taskref create name=ExecutionPropertiesTestPolicy stateName=RunTestState taskName=EmptyToDefinedTask outputType=DIRECT outputName=TestFinalOutput
+policy state taskref create name=ExecutionPropertiesTestPolicy stateName=RunTestState taskName=DefinedToEmptyTask outputType=DIRECT outputName=TestFinalOutput
+policy state taskref create name=ExecutionPropertiesTestPolicy stateName=RunTestState taskName=AddPropertyTask outputType=DIRECT outputName=TestFinalOutput
+policy state taskref create name=ExecutionPropertiesTestPolicy stateName=RunTestState taskName=RemovePropertyTask outputType=DIRECT outputName=TestFinalOutput
+
+policy state selecttasklogic create name=ExecutionPropertiesTestPolicy stateName=RunTestState logicFlavour=JAVASCRIPT logic=LS
+#MACROFILE:"src/test/resources/policies/executionproperties/logic/RunTestStateTSL.js"
+LE
+
+validate
+