aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/forwarding-plugins/src/test/resources
diff options
context:
space:
mode:
authorramverma <ram.krishna.verma@est.tech>2019-08-16 10:13:09 +0000
committerramverma <ram.krishna.verma@est.tech>2019-08-16 10:13:09 +0000
commitebd5d6f5d1973298a62b581f2e604528993d56d2 (patch)
tree8805d6f1e331bf07c9f2ee21229a852e52bda3b1 /plugins/forwarding-plugins/src/test/resources
parent2326847dac621c3718023be059cc1648f69bd31e (diff)
Add LifecycleApiForwarder in policy/distribution
* Adding implementation of LifecycleApiForwarder in policy/distribution for forwarding policy to new components (PAP & API). * Adding related test cases and json files for testing. * Created a rest simulator to use for testing the API calls. * Fixed review comments Issue-ID: POLICY-1890 Change-Id: I6682e0366206d3f4ac77f60b676f40a0fd1aad02 Signed-off-by: ramverma <ram.krishna.verma@est.tech>
Diffstat (limited to 'plugins/forwarding-plugins/src/test/resources')
-rw-r--r--plugins/forwarding-plugins/src/test/resources/parameters/LifecycleApiPolicyForwarderParameters.json24
-rw-r--r--plugins/forwarding-plugins/src/test/resources/parameters/LifecycleApiPolicyForwarderParametersInvalid.json24
-rw-r--r--plugins/forwarding-plugins/src/test/resources/parameters/RestServerParameters.json6
-rw-r--r--plugins/forwarding-plugins/src/test/resources/parameters/sample_policy.json101
-rw-r--r--plugins/forwarding-plugins/src/test/resources/parameters/sample_policy_failure.json101
-rw-r--r--plugins/forwarding-plugins/src/test/resources/parameters/sample_policy_type.json284
6 files changed, 520 insertions, 20 deletions
diff --git a/plugins/forwarding-plugins/src/test/resources/parameters/LifecycleApiPolicyForwarderParameters.json b/plugins/forwarding-plugins/src/test/resources/parameters/LifecycleApiPolicyForwarderParameters.json
index 0bb54279..0791e1ae 100644
--- a/plugins/forwarding-plugins/src/test/resources/parameters/LifecycleApiPolicyForwarderParameters.json
+++ b/plugins/forwarding-plugins/src/test/resources/parameters/LifecycleApiPolicyForwarderParameters.json
@@ -1,12 +1,16 @@
{
- "policyApiHostName": "10.10.10.10",
- "policyApiPort": 1234,
- "policyApiUserName": "api_user",
- "policyApiPassword": "api_password",
- "policyPapHostName": "20.20.20.20",
- "policyPapPort": "4321",
- "policyPapUserName": "pap_user",
- "policyPapPassword": "pap_password",
- "isHttps": true,
- "deployPolicies": true
+ "apiParameters": {
+ "hostName": "0.0.0.0",
+ "port": 6969,
+ "userName": "healthcheck",
+ "password": "zb!XztG34"
+ },
+ "papParameters": {
+ "hostName": "0.0.0.0",
+ "port": 6969,
+ "userName": "healthcheck",
+ "password": "zb!XztG34"
+ },
+ "isHttps": false,
+ "deployPolicies": true
} \ No newline at end of file
diff --git a/plugins/forwarding-plugins/src/test/resources/parameters/LifecycleApiPolicyForwarderParametersInvalid.json b/plugins/forwarding-plugins/src/test/resources/parameters/LifecycleApiPolicyForwarderParametersInvalid.json
index b10be731..ca0558a6 100644
--- a/plugins/forwarding-plugins/src/test/resources/parameters/LifecycleApiPolicyForwarderParametersInvalid.json
+++ b/plugins/forwarding-plugins/src/test/resources/parameters/LifecycleApiPolicyForwarderParametersInvalid.json
@@ -1,12 +1,16 @@
{
- "policyApiHostName": "",
- "policyApiPort": -1,
- "policyApiUserName": "api_user",
- "policyApiPassword": "api_password",
- "policyPapHostName": "",
- "policyPapPort": "-2",
- "policyPapUserName": "pap_user",
- "policyPapPassword": "pap_password",
- "isHttps": true,
- "deployPolicies": true
+ "apiParameters": {
+ "hostName": "",
+ "port": -1,
+ "userName": "healthcheck",
+ "password": "zb!XztG34"
+ },
+ "papParameters": {
+ "hostName": "",
+ "port": -2,
+ "userName": "healthcheck",
+ "password": "zb!XztG34"
+ },
+ "isHttps": false,
+ "deployPolicies": true
} \ No newline at end of file
diff --git a/plugins/forwarding-plugins/src/test/resources/parameters/RestServerParameters.json b/plugins/forwarding-plugins/src/test/resources/parameters/RestServerParameters.json
new file mode 100644
index 00000000..86aee276
--- /dev/null
+++ b/plugins/forwarding-plugins/src/test/resources/parameters/RestServerParameters.json
@@ -0,0 +1,6 @@
+{
+ "host": "0.0.0.0",
+ "port": 6969,
+ "userName": "healthcheck",
+ "password": "zb!XztG34"
+}
diff --git a/plugins/forwarding-plugins/src/test/resources/parameters/sample_policy.json b/plugins/forwarding-plugins/src/test/resources/parameters/sample_policy.json
new file mode 100644
index 00000000..d8651ce4
--- /dev/null
+++ b/plugins/forwarding-plugins/src/test/resources/parameters/sample_policy.json
@@ -0,0 +1,101 @@
+{
+ "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
+ "topology_template": {
+ "policies": [
+ {
+ "operational.sampledomain": {
+ "type": "onap.policies.controlloop.operational.Apex",
+ "typeVersion": "1.0.0",
+ "name": "onap.policies.controlloop.operational.apex.Sampledomain",
+ "version": "1.0.0",
+ "metadata": {
+ "policy-id": "onap.policies.controlloop.operational.apex.Sampledomain"
+ },
+ "properties": {
+ "content": {
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 4,
+ "deploymentPort": 12561,
+ "policy_type_impl": "The implementation logic of the policy can come here",
+ "engineParameters": {
+ "executorParameters": {
+ "JAVASCRIPT": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
+ }
+ },
+ "contextParameters": {
+ "parameterClassName": "org.onap.policy.apex.context.parameters.ContextParameters",
+ "schemaParameters": {
+ "Avro": {
+ "parameterClassName": "org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters"
+ },
+ "Java": {
+ "parameterClassName": "org.onap.policy.apex.context.impl.schema.java.JavaSchemaHelperParameters",
+ "jsonAdapters": {
+ "Instant": {
+ "adaptedClass": "java.time.Instant",
+ "adaptorClass": "org.onap.policy.controlloop.util.Serialization$GsonInstantAdapter"
+ },
+ "APPC_LCM_REQUEST": {
+ "adaptedClass": "org.onap.policy.appclcm.LcmRequest",
+ "adaptorClass": "org.onap.policy.appclcm.util.Serialization$RequestAdapter"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "DCAEConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://10.2.0.25:30227/events/DCAE_CL_OUTPUT/11/12?timeout=30000"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "APPCProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://10.2.0.25:30227/events/APPC-LCM-READ"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON",
+ "parameters": {
+ "pojoField": "APPCLCMRequestEvent"
+ }
+ },
+ "eventNameFilter": "APPCConfigModifyRequestEvent"
+ },
+ "logProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "/tmp/outputevents.log"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+} \ No newline at end of file
diff --git a/plugins/forwarding-plugins/src/test/resources/parameters/sample_policy_failure.json b/plugins/forwarding-plugins/src/test/resources/parameters/sample_policy_failure.json
new file mode 100644
index 00000000..1d30f08b
--- /dev/null
+++ b/plugins/forwarding-plugins/src/test/resources/parameters/sample_policy_failure.json
@@ -0,0 +1,101 @@
+{
+ "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
+ "topology_template": {
+ "policies": [
+ {
+ "operational.sampledomain": {
+ "type": "onap.policies.controlloop.operational.ApexFailure",
+ "typeVersion": "1.0.0",
+ "name": "onap.policies.controlloop.operational.apex.Sampledomain",
+ "version": "1.0.0",
+ "metadata": {
+ "policy-id": "onap.policies.controlloop.operational.apex.Sampledomain"
+ },
+ "properties": {
+ "content": {
+ "engineServiceParameters": {
+ "name": "MyApexEngine",
+ "version": "0.0.1",
+ "id": 45,
+ "instanceCount": 4,
+ "deploymentPort": 12561,
+ "policy_type_impl": "The implementation logic of the policy can come here",
+ "engineParameters": {
+ "executorParameters": {
+ "JAVASCRIPT": {
+ "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters"
+ }
+ },
+ "contextParameters": {
+ "parameterClassName": "org.onap.policy.apex.context.parameters.ContextParameters",
+ "schemaParameters": {
+ "Avro": {
+ "parameterClassName": "org.onap.policy.apex.plugins.context.schema.avro.AvroSchemaHelperParameters"
+ },
+ "Java": {
+ "parameterClassName": "org.onap.policy.apex.context.impl.schema.java.JavaSchemaHelperParameters",
+ "jsonAdapters": {
+ "Instant": {
+ "adaptedClass": "java.time.Instant",
+ "adaptorClass": "org.onap.policy.controlloop.util.Serialization$GsonInstantAdapter"
+ },
+ "APPC_LCM_REQUEST": {
+ "adaptedClass": "org.onap.policy.appclcm.LcmRequest",
+ "adaptorClass": "org.onap.policy.appclcm.util.Serialization$RequestAdapter"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "eventInputParameters": {
+ "DCAEConsumer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://10.2.0.25:30227/events/DCAE_CL_OUTPUT/11/12?timeout=30000"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ },
+ "eventOutputParameters": {
+ "APPCProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "RESTCLIENT",
+ "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
+ "parameters": {
+ "url": "http://10.2.0.25:30227/events/APPC-LCM-READ"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON",
+ "parameters": {
+ "pojoField": "APPCLCMRequestEvent"
+ }
+ },
+ "eventNameFilter": "APPCConfigModifyRequestEvent"
+ },
+ "logProducer": {
+ "carrierTechnologyParameters": {
+ "carrierTechnology": "FILE",
+ "parameters": {
+ "fileName": "/tmp/outputevents.log"
+ }
+ },
+ "eventProtocolParameters": {
+ "eventProtocol": "JSON"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+} \ No newline at end of file
diff --git a/plugins/forwarding-plugins/src/test/resources/parameters/sample_policy_type.json b/plugins/forwarding-plugins/src/test/resources/parameters/sample_policy_type.json
new file mode 100644
index 00000000..8795b132
--- /dev/null
+++ b/plugins/forwarding-plugins/src/test/resources/parameters/sample_policy_type.json
@@ -0,0 +1,284 @@
+{
+ "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
+ "policy_types": [
+ {
+ "onap.policies.controlloop.operational.Apex": {
+ "version": "1.0.0",
+ "description": "Operational Policy for Control Loops using the APEX PDP",
+ "properties": {
+ "engine_service": {
+ "type": "onap.datatypes.policies.controlloop.operational.apex.EngineService",
+ "description": "APEX Engine Service Parameters"
+ },
+ "inputs": {
+ "type": "map",
+ "description": "Inputs for handling events coming into the APEX engine",
+ "entry_schema": {
+ "type": "onap.datatypes.policies.controlloop.operational.apex.EventHandler"
+ }
+ },
+ "outputs": {
+ "type": "map",
+ "description": "Outputs for handling events going out of the APEX engine",
+ "entry_schema": {
+ "type": "onap.datatypes.policies.controlloop.operational.apex.EventHandler"
+ }
+ },
+ "environment": {
+ "type": "list",
+ "description": "Envioronmental parameters for the APEX engine",
+ "entry_schema": {
+ "type": "onap.datatypes.policies.controlloop.operational.apex.Environment"
+ }
+ }
+ }
+ }
+ }
+ ],
+ "data_types": [
+ {
+ "onap.datatypes.policies.controlloop.operational.apex.EngineService": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Specifies the engine name",
+ "required": false,
+ "default": "ApexEngineService"
+ },
+ "version": {
+ "type": "string",
+ "description": "Specifies the engine version in double dotted format",
+ "required": false,
+ "default": "1.0.0"
+ },
+ "id": {
+ "type": "int",
+ "description": "Specifies the engine id",
+ "required": true
+ },
+ "instance_count": {
+ "type": "int",
+ "description": "Specifies the number of engine threads that should be run",
+ "required": true
+ },
+ "deployment_port": {
+ "type": "int",
+ "description": "Specifies the port to connect to for engine administration",
+ "required": false,
+ "default": 1
+ },
+ "policy_model_file_name": {
+ "type": "string",
+ "description": "The name of the file from which to read the APEX policy model",
+ "required": false,
+ "default": ""
+ },
+ "policy_type_impl": {
+ "type": "string",
+ "description": "The policy type implementation from which to read the APEX policy model",
+ "required": false,
+ "default": ""
+ },
+ "periodic_event_period": {
+ "type": "string",
+ "description": "The time interval in milliseconds for the periodic scanning event, 0 means \"don't scan\"",
+ "required": false,
+ "default": 0
+ },
+ "engine": {
+ "type": "onap.datatypes.policies.controlloop.operational.apex.engineservice.Engine",
+ "description": "The parameters for all engines in the APEX engine service",
+ "required": true
+ }
+ }
+ }
+ },
+ {
+ "onap.datatypes.policies.controlloop.operational.apex.EventHandler": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Specifies the event handler name, if not specified this is set to the key name",
+ "required": false
+ },
+ "carrier_technology": {
+ "type": "onap.datatypes.policies.controlloop.operational.apex.CarrierTechnology",
+ "description": "Specifies the carrier technology of the event handler (such as REST/Web Socket/Kafka)",
+ "required": true
+ },
+ "event_protocol": {
+ "type": "onap.datatypes.policies.controlloop.operational.apex.EventProtocol",
+ "description": "Specifies the event protocol of events for the event handler (such as Yaml/JSON/XML/POJO)",
+ "required": true
+ },
+ "event_name": {
+ "type": "string",
+ "description": "Specifies the event name for events on this event handler, if not specified, the event name is read from or written to the event being received or sent",
+ "required": false
+ },
+ "event_name_filter": {
+ "type": "string",
+ "description": "Specifies a filter as a regular expression, events that do not match the filter are dropped, the default is to let all events through",
+ "required": false
+ },
+ "synchronous_mode": {
+ "type": "bool",
+ "description": "Specifies the event handler is syncronous (receive event and send response)",
+ "required": false,
+ "default": false
+ },
+ "synchronous_peer": {
+ "type": "string",
+ "description": "The peer event handler (output for input or input for output) of this event handler in synchronous mode, this parameter is mandatory if the event handler is in synchronous mode",
+ "required": false,
+ "default": ""
+ },
+ "synchronous_timeout": {
+ "type": "int",
+ "description": "The timeout in milliseconds for responses to be issued by APEX torequests, this parameter is mandatory if the event handler is in synchronous mode",
+ "required": false,
+ "default": ""
+ },
+ "requestor_mode": {
+ "type": "bool",
+ "description": "Specifies the event handler is in requestor mode (send event and wait for response mode)",
+ "required": false,
+ "default": false
+ },
+ "requestor_peer": {
+ "type": "string",
+ "description": "The peer event handler (output for input or input for output) of this event handler in requestor mode, this parameter is mandatory if the event handler is in requestor mode",
+ "required": false,
+ "default": ""
+ },
+ "requestor_timeout": {
+ "type": "int",
+ "description": "The timeout in milliseconds for wait for responses to requests, this parameter is mandatory if the event handler is in requestor mode",
+ "required": false,
+ "default": ""
+ }
+ }
+ }
+ },
+ {
+ "onap.datatypes.policies.controlloop.operational.apex.CarrierTechnology": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "label": {
+ "type": "string",
+ "description": "The label (name) of the carrier technology (such as REST, Kafka, WebSocket)",
+ "required": true
+ },
+ "plugin_parameter_class_name": {
+ "type": "string",
+ "description": "The class name of the class that overrides default handling of event input or output for this carrier technology, defaults to the supplied input or output class",
+ "required": false
+ }
+ }
+ }
+ },
+ {
+ "onap.datatypes.policies.controlloop.operational.apex.EventProtocol": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "label": {
+ "type": "string",
+ "description": "The label (name) of the event protocol (such as Yaml, JSON, XML, or POJO)",
+ "required": true
+ },
+ "event_protocol_plugin_class": {
+ "type": "string",
+ "description": "The class name of the class that overrides default handling of the event protocol for this carrier technology, defaults to the supplied event protocol class",
+ "required": false
+ }
+ }
+ }
+ },
+ {
+ "onap.datatypes.policies.controlloop.operational.apex.Environmental": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the environment variable",
+ "required": true
+ },
+ "value": {
+ "type": "string",
+ "description": "The value of the environment variable",
+ "required": true
+ }
+ }
+ }
+ },
+ {
+ "onap.datatypes.policies.controlloop.operational.apex.engineservice.Engine": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "context": {
+ "type": "onap.datatypes.policies.controlloop.operational.apex.engineservice.engine.Context",
+ "description": "The properties for handling context in APEX engines, defaults to using Java maps for context",
+ "required": false
+ },
+ "executors": {
+ "type": "map",
+ "description": "The plugins for policy executors used in engines such as javascript, MVEL, Jython",
+ "required": true,
+ "entry_schema": {
+ "description": "The plugin class path for this policy executor",
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ {
+ "onap.datatypes.policies.controlloop.operational.apex.engineservice.engine.Context": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "distributor": {
+ "type": "onap.datatypes.policies.controlloop.operational.apex.Plugin",
+ "description": "The plugin to be used for distributing context between APEX PDPs at runtime",
+ "required": false
+ },
+ "schemas": {
+ "type": "map",
+ "description": "The plugins for context schemas available in APEX PDPs such as Java and Avro",
+ "required": false,
+ "entry_schema": {
+ "type": "onap.datatypes.policies.controlloop.operational.apex.Plugin"
+ }
+ },
+ "locking": {
+ "type": "onap.datatypes.policies.controlloop.operational.apex.plugin",
+ "description": "The plugin to be used for locking context in and between APEX PDPs at runtime",
+ "required": false
+ },
+ "persistence": {
+ "type": "onap.datatypes.policies.controlloop.operational.apex.Plugin",
+ "description": "The plugin to be used for persisting context for APEX PDPs at runtime",
+ "required": false
+ }
+ }
+ }
+ },
+ {
+ "onap.datatypes.policies.controlloop.operational.apex.Plugin": {
+ "derived_from": "tosca.datatypes.Root",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the executor such as Javascript, Jython or MVEL",
+ "required": true
+ },
+ "plugin_class_name": {
+ "type": "string",
+ "description": "The class path of the plugin class for this executor"
+ }
+ }
+ }
+ }
+ ]
+} \ No newline at end of file