diff options
author | aditya.puthuparambil <aditya.puthuparambil@est.tech> | 2020-06-02 16:22:59 +0100 |
---|---|---|
committer | aditya.puthuparambil <aditya.puthuparambil@est.tech> | 2020-06-02 16:22:59 +0100 |
commit | ff67d111f4529b81488abc75cd46d92d7a168b76 (patch) | |
tree | d9697cbe312dda74d43cefb1621b66af487e61f0 | |
parent | 3f29d382bbea5587e340877c25d262a763f3a25f (diff) |
Stability test for Apex-pdp
Issue-ID: POLICY-2457
Signed-off-by: aditya.puthuparambil <aditya.puthuparambil@est.tech>
Change-Id: Id47155d172f2b6386c94470dd5068ee09d2a8238
-rw-r--r-- | testsuites/apex-pdp-stability/src/main/resources/apexPdpStabilityTestPlan.jmx | 2755 |
1 files changed, 2725 insertions, 30 deletions
diff --git a/testsuites/apex-pdp-stability/src/main/resources/apexPdpStabilityTestPlan.jmx b/testsuites/apex-pdp-stability/src/main/resources/apexPdpStabilityTestPlan.jmx index 1ba0976de..d95292457 100644 --- a/testsuites/apex-pdp-stability/src/main/resources/apexPdpStabilityTestPlan.jmx +++ b/testsuites/apex-pdp-stability/src/main/resources/apexPdpStabilityTestPlan.jmx @@ -1,5 +1,24 @@ <?xml version="1.0" encoding="UTF-8"?> -<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.0 r1840935"> +<!-- + ============LICENSE_START======================================================= + ONAP Apex-PDP + ================================================================================ + Copyright (C) 2020 Nordix Foundation.All rights reserved. + ================================================================================ + 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. + ============LICENSE_END========================================================= + --> +<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.2.1"> <hashTree> <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="APEX PDP STABILITY TEST PLAN" enabled="true"> <stringProp name="TestPlan.comments"></stringProp> @@ -25,7 +44,7 @@ </collectionProp> </HeaderManager> <hashTree/> - <ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="true"> + <ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" testname="HTTP Request Defaults" enabled="false"> <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> <collectionProp name="Arguments.arguments"/> </elementProp> @@ -43,36 +62,2531 @@ <collectionProp name="Arguments.arguments"> <elementProp name="threads" elementType="Argument"> <stringProp name="Argument.name">threads</stringProp> - <stringProp name="Argument.value">10</stringProp> + <stringProp name="Argument.value">${__P(threads,5)}</stringProp> <stringProp name="Argument.metadata">=</stringProp> </elementProp> <elementProp name="threadsTimeOutInMs" elementType="Argument"> <stringProp name="Argument.name">threadsTimeOutInMs</stringProp> - <stringProp name="Argument.value">5000</stringProp> + <stringProp name="Argument.value">${__P(threadsTimeOutInMs,150000)}</stringProp> <stringProp name="Argument.metadata">=</stringProp> </elementProp> <elementProp name="wait" elementType="Argument"> <stringProp name="Argument.name">wait</stringProp> - <stringProp name="Argument.value">500</stringProp> + <stringProp name="Argument.value">${__P(wait,120000)}</stringProp> <stringProp name="Argument.desc">Wait time between requests to apex-pdp</stringProp> <stringProp name="Argument.metadata">=</stringProp> </elementProp> + <elementProp name="PAP_PORT" elementType="Argument"> + <stringProp name="Argument.name">PAP_PORT</stringProp> + <stringProp name="Argument.value">${__P(PAP_PORT,32597)}</stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + <elementProp name="API_PORT" elementType="Argument"> + <stringProp name="Argument.name">API_PORT</stringProp> + <stringProp name="Argument.value">${__P(API_PORT,32634)}</stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + <elementProp name="APEX_PORT" elementType="Argument"> + <stringProp name="Argument.name">APEX_PORT</stringProp> + <stringProp name="Argument.value">${__P(APEX_PORT,31089)}</stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + <elementProp name="DMAAP_PORT" elementType="Argument"> + <stringProp name="Argument.name">DMAAP_PORT</stringProp> + <stringProp name="Argument.value">${__P(DMAAP_PORT,31532)}</stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + <elementProp name="HOSTNAME" elementType="Argument"> + <stringProp name="Argument.name">HOSTNAME</stringProp> + <stringProp name="Argument.value">${__P(HOSTNAME,10.2.0.197)}</stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + <elementProp name="LOG_PATH" elementType="Argument"> + <stringProp name="Argument.name">LOG_PATH</stringProp> + <stringProp name="Argument.value">${__P(LOG_PATH,/home/adityap/apex_stability)}</stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> </collectionProp> </Arguments> <hashTree/> + <AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true"> + <collectionProp name="AuthManager.auth_list"> + <elementProp name="" elementType="Authorization"> + <stringProp name="Authorization.url">https://${HOSTNAME}:${API_PORT}</stringProp> + <stringProp name="Authorization.username">healthcheck</stringProp> + <stringProp name="Authorization.password">zb!XztG34</stringProp> + <stringProp name="Authorization.domain"></stringProp> + <stringProp name="Authorization.realm"></stringProp> + </elementProp> + <elementProp name="" elementType="Authorization"> + <stringProp name="Authorization.url">https://${HOSTNAME}:${PAP_PORT}</stringProp> + <stringProp name="Authorization.username">healthcheck</stringProp> + <stringProp name="Authorization.password">zb!XztG34</stringProp> + <stringProp name="Authorization.domain"></stringProp> + <stringProp name="Authorization.realm"></stringProp> + </elementProp> + <elementProp name="" elementType="Authorization"> + <stringProp name="Authorization.url">https://${HOSTNAME}:${APEX_PORT}</stringProp> + <stringProp name="Authorization.username">healthcheck</stringProp> + <stringProp name="Authorization.password">zb!XztG34</stringProp> + <stringProp name="Authorization.domain"></stringProp> + <stringProp name="Authorization.realm"></stringProp> + </elementProp> + </collectionProp> + <boolProp name="AuthManager.controlledByThreadGroup">false</boolProp> + </AuthManager> + <hashTree/> + <SetupThreadGroup guiclass="SetupThreadGroupGui" testclass="SetupThreadGroup" testname="setUp Thread Group" enabled="true"> + <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> + <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true"> + <boolProp name="LoopController.continue_forever">false</boolProp> + <stringProp name="LoopController.loops">1</stringProp> + </elementProp> + <stringProp name="ThreadGroup.num_threads">1</stringProp> + <stringProp name="ThreadGroup.ramp_time">1</stringProp> + <boolProp name="ThreadGroup.scheduler">false</boolProp> + <stringProp name="ThreadGroup.duration"></stringProp> + <stringProp name="ThreadGroup.delay"></stringProp> + <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp> + </SetupThreadGroup> + <hashTree> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Create Policy" enabled="true"> + <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> + <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> + <collectionProp name="Arguments.arguments"> + <elementProp name="" elementType="HTTPArgument"> + <boolProp name="HTTPArgument.always_encode">false</boolProp> + <stringProp name="Argument.value">{
 + "tosca_definitions_version": "tosca_simple_yaml_1_1_0",
 + "topology_template": {
 + "policies": [
 + {
 + "operational.apex.stabilityTestDefaultDomain": {
 + "type": "onap.policies.native.Apex",
 + "type_version": "1.0.0",
 + "properties": {
 + "engineServiceParameters": {
 + "name": "MyApexEngine",
 + "version": "0.0.1",
 + "id": 45,
 + "instanceCount": 4,
 + "deploymentPort": 12561,
 + "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"
 + }
 + }
 + }
 + }
 + }
 + },
 + "policy_type_impl": {
 + "apexPolicyModel": {
 + "key": {
 + "name": "APEXgRPCPolicy",
 + "version": "0.0.1"
 + },
 + "keyInformation": {
 + "key": {
 + "name": "APEXgRPCPolicy_KeyInfo",
 + "version": "0.0.1"
 + },
 + "keyInfoMap": {
 + "entry": [
 + {
 + "key": {
 + "name": "APEXgRPCPolicy",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "APEXgRPCPolicy",
 + "version": "0.0.1"
 + },
 + "UUID": "b8424cdb-29fb-3566-b77a-f4f847d81cc9",
 + "description": "Generated description for concept referred to by key \"APEXgRPCPolicy:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "APEXgRPCPolicy_Albums",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "APEXgRPCPolicy_Albums",
 + "version": "0.0.1"
 + },
 + "UUID": "9922906c-ccaa-34f7-95e2-bcc36e77821b",
 + "description": "Generated description for concept referred to by key \"APEXgRPCPolicy_Albums:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "APEXgRPCPolicy_Events",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "APEXgRPCPolicy_Events",
 + "version": "0.0.1"
 + },
 + "UUID": "5bf28afd-787c-3138-a3e1-b33ad94a038a",
 + "description": "Generated description for concept referred to by key \"APEXgRPCPolicy_Events:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "APEXgRPCPolicy_KeyInfo",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "APEXgRPCPolicy_KeyInfo",
 + "version": "0.0.1"
 + },
 + "UUID": "68abaa6f-8d03-3a53-9590-007115817d5c",
 + "description": "Generated description for concept referred to by key \"APEXgRPCPolicy_KeyInfo:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "APEXgRPCPolicy_Policies",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "APEXgRPCPolicy_Policies",
 + "version": "0.0.1"
 + },
 + "UUID": "819d06c3-33c2-3031-aa78-96281aa4270a",
 + "description": "Generated description for concept referred to by key \"APEXgRPCPolicy_Policies:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "APEXgRPCPolicy_Schemas",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "APEXgRPCPolicy_Schemas",
 + "version": "0.0.1"
 + },
 + "UUID": "8e67d466-f990-3a39-9fd7-4490cac342dc",
 + "description": "Generated description for concept referred to by key \"APEXgRPCPolicy_Schemas:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "APEXgRPCPolicy_Tasks",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "APEXgRPCPolicy_Tasks",
 + "version": "0.0.1"
 + },
 + "UUID": "4668db3d-6fe2-3885-8e47-f30cd0102f0a",
 + "description": "Generated description for concept referred to by key \"APEXgRPCPolicy_Tasks:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "CDSActionIdentifiersType",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CDSActionIdentifiersType",
 + "version": "0.0.1"
 + },
 + "UUID": "6e5fa19b-14df-37e3-a4ae-8c537e861a82",
 + "description": "Generated description for concept referred to by key \"CDSActionIdentifiersType:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "CDSCreateSubscriptionPayloadType",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CDSCreateSubscriptionPayloadType",
 + "version": "0.0.1"
 + },
 + "UUID": "8350ac5e-c157-38b9-9614-a0f93a830e60",
 + "description": "Generated description for concept referred to by key \"CDSCreateSubscriptionPayloadType:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "CDSDeleteSubscriptionPayloadType",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CDSDeleteSubscriptionPayloadType",
 + "version": "0.0.1"
 + },
 + "UUID": "12658406-9147-3c9d-a38c-5ad5e30b092b",
 + "description": "Generated description for concept referred to by key \"CDSDeleteSubscriptionPayloadType:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "CDSRequestCommonHeaderType",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CDSRequestCommonHeaderType",
 + "version": "0.0.1"
 + },
 + "UUID": "35590ac0-062c-39f1-8786-b4ff716e30b1",
 + "description": "Generated description for concept referred to by key \"CDSRequestCommonHeaderType:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "CDSResponseCommonHeaderType",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CDSResponseCommonHeaderType",
 + "version": "0.0.1"
 + },
 + "UUID": "dd7e1805-885a-350b-aaf9-ed541321ae3c",
 + "description": "Generated description for concept referred to by key \"CDSResponseCommonHeaderType:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "CDSResponseEvent",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CDSResponseEvent",
 + "version": "0.0.1"
 + },
 + "UUID": "15161037-9ac8-3223-820f-4e743562a345",
 + "description": "Generated description for concept referred to by key \"CDSResponseEvent:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "CDSResponsePayloadType",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CDSResponsePayloadType",
 + "version": "0.0.1"
 + },
 + "UUID": "97dc5f58-25bb-3c20-8d53-fdb70d7ca256",
 + "description": "Generated description for concept referred to by key \"CDSResponsePayloadType:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "CDSResponsePolicy",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CDSResponsePolicy",
 + "version": "0.0.1"
 + },
 + "UUID": "c28b05a8-7436-3ac0-82ca-6d5fc18c9584",
 + "description": "Generated description for concept referred to by key \"CDSResponsePolicy:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "CDSResponseStatusEvent",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CDSResponseStatusEvent",
 + "version": "0.0.1"
 + },
 + "UUID": "7986e21b-32f7-302e-9554-31f21b673493",
 + "description": "Generated description for concept referred to by key \"CDSResponseStatusEvent:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "CDSResponseStatusType",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CDSResponseStatusType",
 + "version": "0.0.1"
 + },
 + "UUID": "92b8a2cf-344e-3ce1-8cc0-2b7d3cb695fa",
 + "description": "Generated description for concept referred to by key \"CDSResponseStatusType:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "CDSResponseTask",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CDSResponseTask",
 + "version": "0.0.1"
 + },
 + "UUID": "d22c78a5-272c-391d-8083-28588280caf9",
 + "description": "Generated description for concept referred to by key \"CDSResponseTask:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "CreateSubscriptionPayloadEvent",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CreateSubscriptionPayloadEvent",
 + "version": "0.0.1"
 + },
 + "UUID": "92162397-1a8e-3a3f-a469-d2af7700af4a",
 + "description": "Generated description for concept referred to by key \"CreateSubscriptionPayloadEvent:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "CreateSubscriptionPayloadTask",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CreateSubscriptionPayloadTask",
 + "version": "0.0.1"
 + },
 + "UUID": "bc0c69f0-52ed-38ea-b468-ae4a6fd1730d",
 + "description": "Generated description for concept referred to by key \"CreateSubscriptionPayloadTask:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "CreateSubscriptionRequestEvent",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CreateSubscriptionRequestEvent",
 + "version": "0.0.1"
 + },
 + "UUID": "7cfcf843-337e-3f41-b755-5043cb0a08fc",
 + "description": "Generated description for concept referred to by key \"CreateSubscriptionRequestEvent:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "CreateSubscriptionRequestTask",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CreateSubscriptionRequestTask",
 + "version": "0.0.1"
 + },
 + "UUID": "89cb75e9-f06c-30d3-b4ff-698d45f63869",
 + "description": "Generated description for concept referred to by key \"CreateSubscriptionRequestTask:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "DeleteSubscriptionPayloadEvent",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "DeleteSubscriptionPayloadEvent",
 + "version": "0.0.1"
 + },
 + "UUID": "994fa441-04ab-33bb-832d-1cd12ab5d074",
 + "description": "Generated description for concept referred to by key \"DeleteSubscriptionPayloadEvent:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "DeleteSubscriptionPayloadTask",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "DeleteSubscriptionPayloadTask",
 + "version": "0.0.1"
 + },
 + "UUID": "0f519117-5fea-3e4b-941f-8f778100465f",
 + "description": "Generated description for concept referred to by key \"DeleteSubscriptionPayloadTask:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "DeleteSubscriptionRequestEvent",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "DeleteSubscriptionRequestEvent",
 + "version": "0.0.1"
 + },
 + "UUID": "15d618d8-1689-3a05-89a5-05efa9388f65",
 + "description": "Generated description for concept referred to by key \"DeleteSubscriptionRequestEvent:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "DeleteSubscriptionRequestTask",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "DeleteSubscriptionRequestTask",
 + "version": "0.0.1"
 + },
 + "UUID": "acb772fe-d442-39e3-98f9-b1080caf4150",
 + "description": "Generated description for concept referred to by key \"DeleteSubscriptionRequestTask:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "PMSubscriptionAlbum",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "PMSubscriptionAlbum",
 + "version": "0.0.1"
 + },
 + "UUID": "c2bd6f0d-6854-317a-9be2-97c08338428c",
 + "description": "Generated description for concept referred to by key \"PMSubscriptionAlbum:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "PMSubscriptionOutputEvent",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "PMSubscriptionOutputEvent",
 + "version": "0.0.1"
 + },
 + "UUID": "992b7819-9f69-3aa0-bb0f-6e45ea15ce05",
 + "description": "Generated description for concept referred to by key \"PMSubscriptionOutputEvent:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "PMSubscriptionType",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "PMSubscriptionType",
 + "version": "0.0.1"
 + },
 + "UUID": "73c1c397-4fc3-357f-93b6-a8ad707fbaae",
 + "description": "Generated description for concept referred to by key \"PMSubscriptionType:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "ReceiveEventPolicy",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "ReceiveEventPolicy",
 + "version": "0.0.1"
 + },
 + "UUID": "568b7345-9de1-36d3-b6a3-9b857e6809a1",
 + "description": "Generated description for concept referred to by key \"ReceiveEventPolicy:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "ReceivePMSubscriptionTask",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "ReceivePMSubscriptionTask",
 + "version": "0.0.1"
 + },
 + "UUID": "6c1c6c45-26e0-3591-94bf-679d20e283f4",
 + "description": "Generated description for concept referred to by key \"ReceivePMSubscriptionTask:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "SimpleIntType",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "SimpleIntType",
 + "version": "0.0.1"
 + },
 + "UUID": "153791fd-ae0a-36a7-88a5-309a7936415d",
 + "description": "Generated description for concept referred to by key \"SimpleIntType:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "SimpleStringType",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "SimpleStringType",
 + "version": "0.0.1"
 + },
 + "UUID": "8a4957cf-9493-3a76-8c22-a208e23259af",
 + "description": "Generated description for concept referred to by key \"SimpleStringType:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "SubscriptionStatusType",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "SubscriptionStatusType",
 + "version": "0.0.1"
 + },
 + "UUID": "597643b1-9db1-31ce-85d0-e1c63c43b30b",
 + "description": "Generated description for concept referred to by key \"SubscriptionStatusType:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "SubscriptionType",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "SubscriptionType",
 + "version": "0.0.1"
 + },
 + "UUID": "184547bb-7d64-3cb2-a273-d7185102c5ce",
 + "description": "Generated description for concept referred to by key \"SubscriptionType:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "UUIDType",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "UUIDType",
 + "version": "0.0.1"
 + },
 + "UUID": "6a8cc68e-dfc8-3403-9c6d-071c886b319c",
 + "description": "Generated description for concept referred to by key \"UUIDType:0.0.1\""
 + }
 + },
 + {
 + "key": {
 + "name": "testPolicyB",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "testPolicyB",
 + "version": "0.0.1"
 + },
 + "UUID": "ead590a3-ba2e-3a01-b6e9-9329f5c8fee1",
 + "description": "Generated description for concept referred to by key \"testPolicyB:0.0.1\""
 + }
 + }
 + ]
 + }
 + },
 + "policies": {
 + "key": {
 + "name": "APEXgRPCPolicy_Policies",
 + "version": "0.0.1"
 + },
 + "policyMap": {
 + "entry": [
 + {
 + "key": {
 + "name": "CDSResponsePolicy",
 + "version": "0.0.1"
 + },
 + "value": {
 + "policyKey": {
 + "name": "CDSResponsePolicy",
 + "version": "0.0.1"
 + },
 + "template": "Freestyle",
 + "state": {
 + "entry": [
 + {
 + "key": "CDSResponseState",
 + "value": {
 + "stateKey": {
 + "parentKeyName": "CDSResponsePolicy",
 + "parentKeyVersion": "0.0.1",
 + "parentLocalName": "NULL",
 + "localName": "CDSResponseState"
 + },
 + "trigger": {
 + "name": "CDSResponseEvent",
 + "version": "0.0.1"
 + },
 + "stateOutputs": {
 + "entry": [
 + {
 + "key": "ResponseOutput",
 + "value": {
 + "key": {
 + "parentKeyName": "CDSResponsePolicy",
 + "parentKeyVersion": "0.0.1",
 + "parentLocalName": "CDSResponseState",
 + "localName": "ResponseOutput"
 + },
 + "outgoingEvent": {
 + "name": "CDSResponseStatusEvent",
 + "version": "0.0.1"
 + },
 + "nextState": {
 + "parentKeyName": "NULL",
 + "parentKeyVersion": "0.0.0",
 + "parentLocalName": "NULL",
 + "localName": "NULL"
 + }
 + }
 + }
 + ]
 + },
 + "contextAlbumReference": [],
 + "taskSelectionLogic": {
 + "key": "NULL",
 + "logicFlavour": "UNDEFINED",
 + "logic": ""
 + },
 + "stateFinalizerLogicMap": {
 + "entry": []
 + },
 + "defaultTask": {
 + "name": "CDSResponseTask",
 + "version": "0.0.1"
 + },
 + "taskReferences": {
 + "entry": [
 + {
 + "key": {
 + "name": "CDSResponseTask",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "parentKeyName": "CDSResponsePolicy",
 + "parentKeyVersion": "0.0.1",
 + "parentLocalName": "CDSResponseState",
 + "localName": "CDSResponsePolicy"
 + },
 + "outputType": "DIRECT",
 + "output": {
 + "parentKeyName": "CDSResponsePolicy",
 + "parentKeyVersion": "0.0.1",
 + "parentLocalName": "CDSResponseState",
 + "localName": "ResponseOutput"
 + }
 + }
 + }
 + ]
 + }
 + }
 + }
 + ]
 + },
 + "firstState": "CDSResponseState"
 + }
 + },
 + {
 + "key": {
 + "name": "ReceiveEventPolicy",
 + "version": "0.0.1"
 + },
 + "value": {
 + "policyKey": {
 + "name": "ReceiveEventPolicy",
 + "version": "0.0.1"
 + },
 + "template": "Freestyle",
 + "state": {
 + "entry": [
 + {
 + "key": "CreateOrDeleteState",
 + "value": {
 + "stateKey": {
 + "parentKeyName": "ReceiveEventPolicy",
 + "parentKeyVersion": "0.0.1",
 + "parentLocalName": "NULL",
 + "localName": "CreateOrDeleteState"
 + },
 + "trigger": {
 + "name": "PMSubscriptionOutputEvent",
 + "version": "0.0.1"
 + },
 + "stateOutputs": {
 + "entry": [
 + {
 + "key": "CreateSubscriptionPayload",
 + "value": {
 + "key": {
 + "parentKeyName": "ReceiveEventPolicy",
 + "parentKeyVersion": "0.0.1",
 + "parentLocalName": "CreateOrDeleteState",
 + "localName": "CreateSubscriptionPayload"
 + },
 + "outgoingEvent": {
 + "name": "CreateSubscriptionPayloadEvent",
 + "version": "0.0.1"
 + },
 + "nextState": {
 + "parentKeyName": "ReceiveEventPolicy",
 + "parentKeyVersion": "0.0.1",
 + "parentLocalName": "NULL",
 + "localName": "CreateSubscription"
 + }
 + }
 + },
 + {
 + "key": "DeleteSubscriptionPayload",
 + "value": {
 + "key": {
 + "parentKeyName": "ReceiveEventPolicy",
 + "parentKeyVersion": "0.0.1",
 + "parentLocalName": "CreateOrDeleteState",
 + "localName": "DeleteSubscriptionPayload"
 + },
 + "outgoingEvent": {
 + "name": "DeleteSubscriptionPayloadEvent",
 + "version": "0.0.1"
 + },
 + "nextState": {
 + "parentKeyName": "ReceiveEventPolicy",
 + "parentKeyVersion": "0.0.1",
 + "parentLocalName": "NULL",
 + "localName": "DeleteSubscription"
 + }
 + }
 + }
 + ]
 + },
 + "contextAlbumReference": [
 + {
 + "name": "PMSubscriptionAlbum",
 + "version": "0.0.1"
 + }
 + ],
 + "taskSelectionLogic": {
 + "key": "TaskSelectionLogic",
 + "logicFlavour": "JAVASCRIPT",
 + "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix Foundation.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\n\nvar pmSubscriptionInfo = executor.getContextAlbum(\"PMSubscriptionAlbum\").get(executor.inFields.get(\"albumID\").toString())\nvar changeType = pmSubscriptionInfo.get(\"changeType\").toString()\n\nif (\"CREATE\".equals(changeType)) {\n executor.subject.getTaskKey(\"CreateSubscriptionPayloadTask\").copyTo(executor.selectedTask);\n}\nelse if (\"DELETE\".equals(changeType)) {\n executor.subject.getTaskKey(\"DeleteSubscriptionPayloadTask\").copyTo(executor.selectedTask);\n}\n\ntrue;"
 + },
 + "stateFinalizerLogicMap": {
 + "entry": []
 + },
 + "defaultTask": {
 + "name": "CreateSubscriptionPayloadTask",
 + "version": "0.0.1"
 + },
 + "taskReferences": {
 + "entry": [
 + {
 + "key": {
 + "name": "CreateSubscriptionPayloadTask",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "parentKeyName": "ReceiveEventPolicy",
 + "parentKeyVersion": "0.0.1",
 + "parentLocalName": "CreateOrDeleteState",
 + "localName": "ReceiveEventPolicy"
 + },
 + "outputType": "DIRECT",
 + "output": {
 + "parentKeyName": "ReceiveEventPolicy",
 + "parentKeyVersion": "0.0.1",
 + "parentLocalName": "CreateOrDeleteState",
 + "localName": "CreateSubscriptionPayload"
 + }
 + }
 + },
 + {
 + "key": {
 + "name": "DeleteSubscriptionPayloadTask",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "parentKeyName": "ReceiveEventPolicy",
 + "parentKeyVersion": "0.0.1",
 + "parentLocalName": "CreateOrDeleteState",
 + "localName": "ReceiveEventPolicy"
 + },
 + "outputType": "DIRECT",
 + "output": {
 + "parentKeyName": "ReceiveEventPolicy",
 + "parentKeyVersion": "0.0.1",
 + "parentLocalName": "CreateOrDeleteState",
 + "localName": "DeleteSubscriptionPayload"
 + }
 + }
 + }
 + ]
 + }
 + }
 + },
 + {
 + "key": "CreateSubscription",
 + "value": {
 + "stateKey": {
 + "parentKeyName": "ReceiveEventPolicy",
 + "parentKeyVersion": "0.0.1",
 + "parentLocalName": "NULL",
 + "localName": "CreateSubscription"
 + },
 + "trigger": {
 + "name": "CreateSubscriptionPayloadEvent",
 + "version": "0.0.1"
 + },
 + "stateOutputs": {
 + "entry": [
 + {
 + "key": "IssueCreateSubscriptionRequestOutput",
 + "value": {
 + "key": {
 + "parentKeyName": "ReceiveEventPolicy",
 + "parentKeyVersion": "0.0.1",
 + "parentLocalName": "CreateSubscription",
 + "localName": "IssueCreateSubscriptionRequestOutput"
 + },
 + "outgoingEvent": {
 + "name": "CreateSubscriptionRequestEvent",
 + "version": "0.0.1"
 + },
 + "nextState": {
 + "parentKeyName": "NULL",
 + "parentKeyVersion": "0.0.0",
 + "parentLocalName": "NULL",
 + "localName": "NULL"
 + }
 + }
 + }
 + ]
 + },
 + "contextAlbumReference": [
 + {
 + "name": "PMSubscriptionAlbum",
 + "version": "0.0.1"
 + }
 + ],
 + "taskSelectionLogic": {
 + "key": "NULL",
 + "logicFlavour": "UNDEFINED",
 + "logic": ""
 + },
 + "stateFinalizerLogicMap": {
 + "entry": []
 + },
 + "defaultTask": {
 + "name": "CreateSubscriptionRequestTask",
 + "version": "0.0.1"
 + },
 + "taskReferences": {
 + "entry": [
 + {
 + "key": {
 + "name": "CreateSubscriptionRequestTask",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "parentKeyName": "ReceiveEventPolicy",
 + "parentKeyVersion": "0.0.1",
 + "parentLocalName": "CreateSubscription",
 + "localName": "ReceiveEventPolicy"
 + },
 + "outputType": "DIRECT",
 + "output": {
 + "parentKeyName": "ReceiveEventPolicy",
 + "parentKeyVersion": "0.0.1",
 + "parentLocalName": "CreateSubscription",
 + "localName": "IssueCreateSubscriptionRequestOutput"
 + }
 + }
 + }
 + ]
 + }
 + }
 + },
 + {
 + "key": "DeleteSubscription",
 + "value": {
 + "stateKey": {
 + "parentKeyName": "ReceiveEventPolicy",
 + "parentKeyVersion": "0.0.1",
 + "parentLocalName": "NULL",
 + "localName": "DeleteSubscription"
 + },
 + "trigger": {
 + "name": "DeleteSubscriptionPayloadEvent",
 + "version": "0.0.1"
 + },
 + "stateOutputs": {
 + "entry": [
 + {
 + "key": "IssueDeleteSubscriptionRequestOutput",
 + "value": {
 + "key": {
 + "parentKeyName": "ReceiveEventPolicy",
 + "parentKeyVersion": "0.0.1",
 + "parentLocalName": "DeleteSubscription",
 + "localName": "IssueDeleteSubscriptionRequestOutput"
 + },
 + "outgoingEvent": {
 + "name": "DeleteSubscriptionRequestEvent",
 + "version": "0.0.1"
 + },
 + "nextState": {
 + "parentKeyName": "NULL",
 + "parentKeyVersion": "0.0.0",
 + "parentLocalName": "NULL",
 + "localName": "NULL"
 + }
 + }
 + }
 + ]
 + },
 + "contextAlbumReference": [
 + {
 + "name": "PMSubscriptionAlbum",
 + "version": "0.0.1"
 + }
 + ],
 + "taskSelectionLogic": {
 + "key": "NULL",
 + "logicFlavour": "UNDEFINED",
 + "logic": ""
 + },
 + "stateFinalizerLogicMap": {
 + "entry": []
 + },
 + "defaultTask": {
 + "name": "DeleteSubscriptionRequestTask",
 + "version": "0.0.1"
 + },
 + "taskReferences": {
 + "entry": [
 + {
 + "key": {
 + "name": "DeleteSubscriptionRequestTask",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "parentKeyName": "ReceiveEventPolicy",
 + "parentKeyVersion": "0.0.1",
 + "parentLocalName": "DeleteSubscription",
 + "localName": "ReceiveEventPolicy"
 + },
 + "outputType": "DIRECT",
 + "output": {
 + "parentKeyName": "ReceiveEventPolicy",
 + "parentKeyVersion": "0.0.1",
 + "parentLocalName": "DeleteSubscription",
 + "localName": "IssueDeleteSubscriptionRequestOutput"
 + }
 + }
 + }
 + ]
 + }
 + }
 + },
 + {
 + "key": "ReceiveSubscriptionState",
 + "value": {
 + "stateKey": {
 + "parentKeyName": "ReceiveEventPolicy",
 + "parentKeyVersion": "0.0.1",
 + "parentLocalName": "NULL",
 + "localName": "ReceiveSubscriptionState"
 + },
 + "trigger": {
 + "name": "testPolicyB",
 + "version": "0.0.1"
 + },
 + "stateOutputs": {
 + "entry": [
 + {
 + "key": "ReceivePMSubscriptionOutput",
 + "value": {
 + "key": {
 + "parentKeyName": "ReceiveEventPolicy",
 + "parentKeyVersion": "0.0.1",
 + "parentLocalName": "ReceiveSubscriptionState",
 + "localName": "ReceivePMSubscriptionOutput"
 + },
 + "outgoingEvent": {
 + "name": "PMSubscriptionOutputEvent",
 + "version": "0.0.1"
 + },
 + "nextState": {
 + "parentKeyName": "ReceiveEventPolicy",
 + "parentKeyVersion": "0.0.1",
 + "parentLocalName": "NULL",
 + "localName": "CreateOrDeleteState"
 + }
 + }
 + }
 + ]
 + },
 + "contextAlbumReference": [
 + {
 + "name": "PMSubscriptionAlbum",
 + "version": "0.0.1"
 + }
 + ],
 + "taskSelectionLogic": {
 + "key": "NULL",
 + "logicFlavour": "UNDEFINED",
 + "logic": ""
 + },
 + "stateFinalizerLogicMap": {
 + "entry": []
 + },
 + "defaultTask": {
 + "name": "ReceivePMSubscriptionTask",
 + "version": "0.0.1"
 + },
 + "taskReferences": {
 + "entry": [
 + {
 + "key": {
 + "name": "ReceivePMSubscriptionTask",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "parentKeyName": "ReceiveEventPolicy",
 + "parentKeyVersion": "0.0.1",
 + "parentLocalName": "ReceiveSubscriptionState",
 + "localName": "ReceiveEventPolicy"
 + },
 + "outputType": "DIRECT",
 + "output": {
 + "parentKeyName": "ReceiveEventPolicy",
 + "parentKeyVersion": "0.0.1",
 + "parentLocalName": "ReceiveSubscriptionState",
 + "localName": "ReceivePMSubscriptionOutput"
 + }
 + }
 + }
 + ]
 + }
 + }
 + }
 + ]
 + },
 + "firstState": "ReceiveSubscriptionState"
 + }
 + }
 + ]
 + }
 + },
 + "tasks": {
 + "key": {
 + "name": "APEXgRPCPolicy_Tasks",
 + "version": "0.0.1"
 + },
 + "taskMap": {
 + "entry": [
 + {
 + "key": {
 + "name": "CDSResponseTask",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CDSResponseTask",
 + "version": "0.0.1"
 + },
 + "inputFields": {
 + "entry": [
 + {
 + "key": "actionIdentifiers",
 + "value": {
 + "key": "actionIdentifiers",
 + "fieldSchemaKey": {
 + "name": "CDSActionIdentifiersType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "commonHeader",
 + "value": {
 + "key": "commonHeader",
 + "fieldSchemaKey": {
 + "name": "CDSResponseCommonHeaderType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "payload",
 + "value": {
 + "key": "payload",
 + "fieldSchemaKey": {
 + "name": "CDSResponsePayloadType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "status",
 + "value": {
 + "key": "status",
 + "fieldSchemaKey": {
 + "name": "CDSResponseStatusType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + }
 + ]
 + },
 + "outputFields": {
 + "entry": [
 + {
 + "key": "status",
 + "value": {
 + "key": "status",
 + "fieldSchemaKey": {
 + "name": "SubscriptionStatusType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + }
 + ]
 + },
 + "taskParameters": {
 + "entry": []
 + },
 + "contextAlbumReference": [
 + {
 + "name": "PMSubscriptionAlbum",
 + "version": "0.0.1"
 + }
 + ],
 + "taskLogic": {
 + "key": "TaskLogic",
 + "logicFlavour": "JAVASCRIPT",
 + "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\n\nvar uuidType = java.util.UUID;\n\nvar albumID = uuidType.fromString(\"d0050623-18e5-46c9-9298-9a567990cd7c\");\n\nvar pmSubscriptionInfo = executor.getContextAlbum(\"PMSubscriptionAlbum\").get(albumID.toString());\n\nvar responseStatus = executor.subject.getOutFieldSchemaHelper(\"status\").createNewInstance();\n\nresponseStatus.put(\"subscriptionName\", pmSubscriptionInfo.get(\"subscription\").get(\"subscriptionName\"))\nresponseStatus.put(\"nfName\", pmSubscriptionInfo.get(\"nfName\"))\nresponseStatus.put(\"changeType\", pmSubscriptionInfo.get(\"changeType\"))\n\nvar response = executor.inFields.get(\"payload\")\n\nif (\"failure\".equals(response.get(\"create_DasH_subscription_DasH_response\").get(\"odl_DasH_response\").get(\"status\"))) {\n responseStatus.put(\"message\", \"failed\")\n} else {\n responseStatus.put(\"message\", \"success\")\n}\n\nexecutor.outFields.put(\"status\", responseStatus)\n\ntrue;"
 + }
 + }
 + },
 + {
 + "key": {
 + "name": "CreateSubscriptionPayloadTask",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CreateSubscriptionPayloadTask",
 + "version": "0.0.1"
 + },
 + "inputFields": {
 + "entry": [
 + {
 + "key": "albumID",
 + "value": {
 + "key": "albumID",
 + "fieldSchemaKey": {
 + "name": "UUIDType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + }
 + ]
 + },
 + "outputFields": {
 + "entry": [
 + {
 + "key": "albumID",
 + "value": {
 + "key": "albumID",
 + "fieldSchemaKey": {
 + "name": "UUIDType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "payload",
 + "value": {
 + "key": "payload",
 + "fieldSchemaKey": {
 + "name": "CDSCreateSubscriptionPayloadType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + }
 + ]
 + },
 + "taskParameters": {
 + "entry": []
 + },
 + "contextAlbumReference": [
 + {
 + "name": "PMSubscriptionAlbum",
 + "version": "0.0.1"
 + }
 + ],
 + "taskLogic": {
 + "key": "TaskLogic",
 + "logicFlavour": "JAVASCRIPT",
 + "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\n\nvar pmSubscriptionInfo = executor.getContextAlbum(\"PMSubscriptionAlbum\").get(executor.inFields.get(\"albumID\").toString())\n\nvar payloadProperties = executor.subject.getOutFieldSchemaHelper(\"payload\").createNewSubInstance(\"create_DasH_subscription_DasH_properties_record\");\n\npayloadProperties.put(\"nfName\", pmSubscriptionInfo.get(\"nfName\"))\npayloadProperties.put(\"subscriptionName\", pmSubscriptionInfo.get(\"subscription\").get(\"subscriptionName\"))\npayloadProperties.put(\"administrativeState\", pmSubscriptionInfo.get(\"subscription\").get(\"administrativeState\"))\npayloadProperties.put(\"fileBasedGP\", pmSubscriptionInfo.get(\"subscription\").get(\"fileBasedGP\").toString())\npayloadProperties.put(\"fileLocation\", pmSubscriptionInfo.get(\"subscription\").get(\"fileLocation\"))\npayloadProperties.put(\"measurementGroups\", pmSubscriptionInfo.get(\"subscription\").get(\"measurementGroups\"))\n\nvar payloadEntry = executor.subject.getOutFieldSchemaHelper(\"payload\").createNewSubInstance(\"CDSRequestPayloadEntry\");\npayloadEntry.put(\"create_DasH_subscription_DasH_properties\", payloadProperties)\n\nvar payload = executor.subject.getOutFieldSchemaHelper(\"payload\").createNewInstance();\npayload.put(\"create_DasH_subscription_DasH_request\", payloadEntry);\n\nexecutor.outFields.put(\"albumID\", executor.inFields.get(\"albumID\"))\nexecutor.outFields.put(\"payload\", payload);\n\nexecutor.logger.info(\"Sending Create Subscription Event to CDS\")\n\ntrue;"
 + }
 + }
 + },
 + {
 + "key": {
 + "name": "CreateSubscriptionRequestTask",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CreateSubscriptionRequestTask",
 + "version": "0.0.1"
 + },
 + "inputFields": {
 + "entry": [
 + {
 + "key": "albumID",
 + "value": {
 + "key": "albumID",
 + "fieldSchemaKey": {
 + "name": "UUIDType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "payload",
 + "value": {
 + "key": "payload",
 + "fieldSchemaKey": {
 + "name": "CDSCreateSubscriptionPayloadType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + }
 + ]
 + },
 + "outputFields": {
 + "entry": [
 + {
 + "key": "actionIdentifiers",
 + "value": {
 + "key": "actionIdentifiers",
 + "fieldSchemaKey": {
 + "name": "CDSActionIdentifiersType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "commonHeader",
 + "value": {
 + "key": "commonHeader",
 + "fieldSchemaKey": {
 + "name": "CDSRequestCommonHeaderType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "payload",
 + "value": {
 + "key": "payload",
 + "fieldSchemaKey": {
 + "name": "CDSCreateSubscriptionPayloadType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + }
 + ]
 + },
 + "taskParameters": {
 + "entry": []
 + },
 + "contextAlbumReference": [
 + {
 + "name": "PMSubscriptionAlbum",
 + "version": "0.0.1"
 + }
 + ],
 + "taskLogic": {
 + "key": "TaskLogic",
 + "logicFlavour": "JAVASCRIPT",
 + "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\n\nvar pmSubscriptionInfo = executor.getContextAlbum(\"PMSubscriptionAlbum\").get(executor.inFields.get(\"albumID\").toString())\nvar payload = executor.inFields.get(\"payload\")\nvar actionName = \"create-subscription\"\n\nvar commonHeader = executor.subject.getOutFieldSchemaHelper(\"commonHeader\").createNewInstance();\ncommonHeader.put(\"originatorId\", \"sdnc\");\ncommonHeader.put(\"requestId\", \"123456-1000\");\ncommonHeader.put(\"subRequestId\", \"sub-123456-1000\");\n\nvar actionIdentifiers = executor.subject.getOutFieldSchemaHelper(\"actionIdentifiers\").createNewInstance();\nactionIdentifiers.put(\"actionName\", actionName);\nactionIdentifiers.put(\"blueprintName\", \"pm_control\");\nactionIdentifiers.put(\"blueprintVersion\", \"1.0.0\");\nactionIdentifiers.put(\"mode\", \"sync\");\n\nexecutor.outFields.put(\"commonHeader\", commonHeader);\nexecutor.outFields.put(\"actionIdentifiers\", actionIdentifiers);\nexecutor.outFields.put(\"payload\", payload);\n\nexecutor.logger.info(\"Sending Activate Subscription Event to CDS\")\n\ntrue;"
 + }
 + }
 + },
 + {
 + "key": {
 + "name": "DeleteSubscriptionPayloadTask",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "DeleteSubscriptionPayloadTask",
 + "version": "0.0.1"
 + },
 + "inputFields": {
 + "entry": [
 + {
 + "key": "albumID",
 + "value": {
 + "key": "albumID",
 + "fieldSchemaKey": {
 + "name": "UUIDType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + }
 + ]
 + },
 + "outputFields": {
 + "entry": [
 + {
 + "key": "albumID",
 + "value": {
 + "key": "albumID",
 + "fieldSchemaKey": {
 + "name": "UUIDType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "payload",
 + "value": {
 + "key": "payload",
 + "fieldSchemaKey": {
 + "name": "CDSDeleteSubscriptionPayloadType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + }
 + ]
 + },
 + "taskParameters": {
 + "entry": []
 + },
 + "contextAlbumReference": [
 + {
 + "name": "PMSubscriptionAlbum",
 + "version": "0.0.1"
 + }
 + ],
 + "taskLogic": {
 + "key": "TaskLogic",
 + "logicFlavour": "JAVASCRIPT",
 + "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\n\nvar pmSubscriptionInfo = executor.getContextAlbum(\"PMSubscriptionAlbum\").get(executor.inFields.get(\"albumID\").toString())\n\nvar payloadProperties = executor.subject.getOutFieldSchemaHelper(\"payload\").createNewSubInstance(\"delete_DasH_subscription_DasH_properties_record\");\n\npayloadProperties.put(\"nfName\", pmSubscriptionInfo.get(\"nfName\"))\npayloadProperties.put(\"subscriptionName\", pmSubscriptionInfo.get(\"subscription\").get(\"subscriptionName\"))\npayloadProperties.put(\"administrativeState\", pmSubscriptionInfo.get(\"subscription\").get(\"administrativeState\"))\npayloadProperties.put(\"fileBasedGP\", pmSubscriptionInfo.get(\"subscription\").get(\"fileBasedGP\").toString())\npayloadProperties.put(\"fileLocation\", pmSubscriptionInfo.get(\"subscription\").get(\"fileLocation\"))\npayloadProperties.put(\"measurementGroups\", pmSubscriptionInfo.get(\"subscription\").get(\"measurementGroups\"))\n\nvar payloadEntry = executor.subject.getOutFieldSchemaHelper(\"payload\").createNewSubInstance(\"CDSRequestPayloadEntry\");\npayloadEntry.put(\"delete_DasH_subscription_DasH_properties\", payloadProperties)\n\nvar payload = executor.subject.getOutFieldSchemaHelper(\"payload\").createNewInstance();\npayload.put(\"delete_DasH_subscription_DasH_request\", payloadEntry);\n\nexecutor.outFields.put(\"albumID\", executor.inFields.get(\"albumID\"))\nexecutor.outFields.put(\"payload\", payload);\n\nexecutor.logger.info(\"Sending delete Subscription Event to CDS\")\n\ntrue;"
 + }
 + }
 + },
 + {
 + "key": {
 + "name": "DeleteSubscriptionRequestTask",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "DeleteSubscriptionRequestTask",
 + "version": "0.0.1"
 + },
 + "inputFields": {
 + "entry": [
 + {
 + "key": "albumID",
 + "value": {
 + "key": "albumID",
 + "fieldSchemaKey": {
 + "name": "UUIDType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "payload",
 + "value": {
 + "key": "payload",
 + "fieldSchemaKey": {
 + "name": "CDSDeleteSubscriptionPayloadType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + }
 + ]
 + },
 + "outputFields": {
 + "entry": [
 + {
 + "key": "actionIdentifiers",
 + "value": {
 + "key": "actionIdentifiers",
 + "fieldSchemaKey": {
 + "name": "CDSActionIdentifiersType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "commonHeader",
 + "value": {
 + "key": "commonHeader",
 + "fieldSchemaKey": {
 + "name": "CDSRequestCommonHeaderType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "payload",
 + "value": {
 + "key": "payload",
 + "fieldSchemaKey": {
 + "name": "CDSDeleteSubscriptionPayloadType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + }
 + ]
 + },
 + "taskParameters": {
 + "entry": []
 + },
 + "contextAlbumReference": [
 + {
 + "name": "PMSubscriptionAlbum",
 + "version": "0.0.1"
 + }
 + ],
 + "taskLogic": {
 + "key": "TaskLogic",
 + "logicFlavour": "JAVASCRIPT",
 + "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\n\nexecutor.logger.info(executor.subject.id);\n\nvar pmSubscriptionInfo = executor.getContextAlbum(\"PMSubscriptionAlbum\").get(executor.inFields.get(\"albumID\").toString())\nvar payload = executor.inFields.get(\"payload\")\nvar actionName = \"delete-subscription\"\n\nvar commonHeader = executor.subject.getOutFieldSchemaHelper(\"commonHeader\").createNewInstance();\ncommonHeader.put(\"originatorId\", \"sdnc\");\ncommonHeader.put(\"requestId\", \"123456-1000\");\ncommonHeader.put(\"subRequestId\", \"sub-123456-1000\");\n\nvar actionIdentifiers = executor.subject.getOutFieldSchemaHelper(\"actionIdentifiers\").createNewInstance();\nactionIdentifiers.put(\"actionName\", actionName);\nactionIdentifiers.put(\"blueprintName\", \"pm_control\");\nactionIdentifiers.put(\"blueprintVersion\", \"1.0.0\");\nactionIdentifiers.put(\"mode\", \"sync\");\n\nexecutor.outFields.put(\"commonHeader\", commonHeader);\nexecutor.outFields.put(\"actionIdentifiers\", actionIdentifiers);\nexecutor.outFields.put(\"payload\", payload);\n\nexecutor.logger.info(\"Sending Deactivate Subscription Event to CDS\")\n\ntrue;"
 + }
 + }
 + },
 + {
 + "key": {
 + "name": "ReceivePMSubscriptionTask",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "ReceivePMSubscriptionTask",
 + "version": "0.0.1"
 + },
 + "inputFields": {
 + "entry": [
 + {
 + "key": "changeType",
 + "value": {
 + "key": "changeType",
 + "fieldSchemaKey": {
 + "name": "SimpleStringType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "closedLoopControlName",
 + "value": {
 + "key": "closedLoopControlName",
 + "fieldSchemaKey": {
 + "name": "SimpleStringType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "nfName",
 + "value": {
 + "key": "nfName",
 + "fieldSchemaKey": {
 + "name": "SimpleStringType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "policyName",
 + "value": {
 + "key": "policyName",
 + "fieldSchemaKey": {
 + "name": "SimpleStringType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "subscription",
 + "value": {
 + "key": "subscription",
 + "fieldSchemaKey": {
 + "name": "SubscriptionType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + }
 + ]
 + },
 + "outputFields": {
 + "entry": [
 + {
 + "key": "albumID",
 + "value": {
 + "key": "albumID",
 + "fieldSchemaKey": {
 + "name": "UUIDType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + }
 + ]
 + },
 + "taskParameters": {
 + "entry": []
 + },
 + "contextAlbumReference": [
 + {
 + "name": "PMSubscriptionAlbum",
 + "version": "0.0.1"
 + }
 + ],
 + "taskLogic": {
 + "key": "TaskLogic",
 + "logicFlavour": "JAVASCRIPT",
 + "logic": "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2020 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\nvar uuidType = java.util.UUID;\n\n\n//albumID will be used to fetch info from our album later\nvar albumID = uuidType.fromString(\"d0050623-18e5-46c9-9298-9a567990cd7c\");\nvar pmSubscriptionInfo = executor.getContextAlbum(\"PMSubscriptionAlbum\").getSchemaHelper().createNewInstance();\nvar returnValue = true;;\n\nif(executor.inFields.get(\"policyName\") != null) {\n var changeType = executor.inFields.get(\"changeType\")\n var nfName = executor.inFields.get(\"nfName\")\n var policyName = executor.inFields.get(\"policyName\")\n var closedLoopControlName = executor.inFields.get(\"closedLoopControlName\")\n var subscription = executor.inFields.get(\"subscription\")\n\n pmSubscriptionInfo.put(\"nfName\", executor.inFields.get(\"nfName\"));\n pmSubscriptionInfo.put(\"changeType\", executor.inFields.get(\"changeType\"))\n pmSubscriptionInfo.put(\"policyName\", executor.inFields.get(\"policyName\"))\n pmSubscriptionInfo.put(\"closedLoopControlName\", executor.inFields.get(\"closedLoopControlName\"))\n pmSubscriptionInfo.put(\"subscription\", subscription)\n\n executor.getContextAlbum(\"PMSubscriptionAlbum\").put(albumID.toString(), pmSubscriptionInfo);\n\n executor.outFields.put(\"albumID\", albumID)\n} else {\n executor.message = \"Received invalid event\"\n returnValue = false;\n}\nreturnValue;"
 + }
 + }
 + }
 + ]
 + }
 + },
 + "events": {
 + "key": {
 + "name": "APEXgRPCPolicy_Events",
 + "version": "0.0.1"
 + },
 + "eventMap": {
 + "entry": [
 + {
 + "key": {
 + "name": "CDSResponseEvent",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CDSResponseEvent",
 + "version": "0.0.1"
 + },
 + "nameSpace": "org.onap.policy.apex.onap.pmcontrol",
 + "source": "CDS",
 + "target": "APEX",
 + "parameter": {
 + "entry": [
 + {
 + "key": "actionIdentifiers",
 + "value": {
 + "key": "actionIdentifiers",
 + "fieldSchemaKey": {
 + "name": "CDSActionIdentifiersType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "commonHeader",
 + "value": {
 + "key": "commonHeader",
 + "fieldSchemaKey": {
 + "name": "CDSResponseCommonHeaderType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "payload",
 + "value": {
 + "key": "payload",
 + "fieldSchemaKey": {
 + "name": "CDSResponsePayloadType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "status",
 + "value": {
 + "key": "status",
 + "fieldSchemaKey": {
 + "name": "CDSResponseStatusType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + }
 + ]
 + }
 + }
 + },
 + {
 + "key": {
 + "name": "CDSResponseStatusEvent",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CDSResponseStatusEvent",
 + "version": "0.0.1"
 + },
 + "nameSpace": "org.onap.policy.apex.onap.pmcontrol",
 + "source": "APEX",
 + "target": "DCAE",
 + "parameter": {
 + "entry": [
 + {
 + "key": "status",
 + "value": {
 + "key": "status",
 + "fieldSchemaKey": {
 + "name": "SubscriptionStatusType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + }
 + ]
 + }
 + }
 + },
 + {
 + "key": {
 + "name": "CreateSubscriptionPayloadEvent",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CreateSubscriptionPayloadEvent",
 + "version": "0.0.1"
 + },
 + "nameSpace": "org.onap.policy.apex.onap.pmcontrol",
 + "source": "APEX",
 + "target": "APEX",
 + "parameter": {
 + "entry": [
 + {
 + "key": "albumID",
 + "value": {
 + "key": "albumID",
 + "fieldSchemaKey": {
 + "name": "UUIDType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "payload",
 + "value": {
 + "key": "payload",
 + "fieldSchemaKey": {
 + "name": "CDSCreateSubscriptionPayloadType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + }
 + ]
 + }
 + }
 + },
 + {
 + "key": {
 + "name": "CreateSubscriptionRequestEvent",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CreateSubscriptionRequestEvent",
 + "version": "0.0.1"
 + },
 + "nameSpace": "org.onap.policy.apex.onap.pmcontrol",
 + "source": "APEX",
 + "target": "APEX",
 + "parameter": {
 + "entry": [
 + {
 + "key": "actionIdentifiers",
 + "value": {
 + "key": "actionIdentifiers",
 + "fieldSchemaKey": {
 + "name": "CDSActionIdentifiersType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "commonHeader",
 + "value": {
 + "key": "commonHeader",
 + "fieldSchemaKey": {
 + "name": "CDSRequestCommonHeaderType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "payload",
 + "value": {
 + "key": "payload",
 + "fieldSchemaKey": {
 + "name": "CDSCreateSubscriptionPayloadType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + }
 + ]
 + }
 + }
 + },
 + {
 + "key": {
 + "name": "DeleteSubscriptionPayloadEvent",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "DeleteSubscriptionPayloadEvent",
 + "version": "0.0.1"
 + },
 + "nameSpace": "org.onap.policy.apex.onap.pmcontrol",
 + "source": "APEX",
 + "target": "APEX",
 + "parameter": {
 + "entry": [
 + {
 + "key": "albumID",
 + "value": {
 + "key": "albumID",
 + "fieldSchemaKey": {
 + "name": "UUIDType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "payload",
 + "value": {
 + "key": "payload",
 + "fieldSchemaKey": {
 + "name": "CDSDeleteSubscriptionPayloadType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + }
 + ]
 + }
 + }
 + },
 + {
 + "key": {
 + "name": "DeleteSubscriptionRequestEvent",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "DeleteSubscriptionRequestEvent",
 + "version": "0.0.1"
 + },
 + "nameSpace": "org.onap.policy.apex.onap.pmcontrol",
 + "source": "APEX",
 + "target": "APEX",
 + "parameter": {
 + "entry": [
 + {
 + "key": "actionIdentifiers",
 + "value": {
 + "key": "actionIdentifiers",
 + "fieldSchemaKey": {
 + "name": "CDSActionIdentifiersType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "commonHeader",
 + "value": {
 + "key": "commonHeader",
 + "fieldSchemaKey": {
 + "name": "CDSRequestCommonHeaderType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "payload",
 + "value": {
 + "key": "payload",
 + "fieldSchemaKey": {
 + "name": "CDSDeleteSubscriptionPayloadType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + }
 + ]
 + }
 + }
 + },
 + {
 + "key": {
 + "name": "PMSubscriptionOutputEvent",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "PMSubscriptionOutputEvent",
 + "version": "0.0.1"
 + },
 + "nameSpace": "org.onap.policy.apex.onap.pmcontrol",
 + "source": "APEX",
 + "target": "APEX",
 + "parameter": {
 + "entry": [
 + {
 + "key": "albumID",
 + "value": {
 + "key": "albumID",
 + "fieldSchemaKey": {
 + "name": "UUIDType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + }
 + ]
 + }
 + }
 + },
 + {
 + "key": {
 + "name": "testPolicyB",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "testPolicyB",
 + "version": "0.0.1"
 + },
 + "nameSpace": "org.onap.policy.apex.onap.pmcontrol",
 + "source": "DCAE",
 + "target": "APEX",
 + "parameter": {
 + "entry": [
 + {
 + "key": "changeType",
 + "value": {
 + "key": "changeType",
 + "fieldSchemaKey": {
 + "name": "SimpleStringType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "closedLoopControlName",
 + "value": {
 + "key": "closedLoopControlName",
 + "fieldSchemaKey": {
 + "name": "SimpleStringType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "nfName",
 + "value": {
 + "key": "nfName",
 + "fieldSchemaKey": {
 + "name": "SimpleStringType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "policyName",
 + "value": {
 + "key": "policyName",
 + "fieldSchemaKey": {
 + "name": "SimpleStringType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + },
 + {
 + "key": "subscription",
 + "value": {
 + "key": "subscription",
 + "fieldSchemaKey": {
 + "name": "SubscriptionType",
 + "version": "0.0.1"
 + },
 + "optional": false
 + }
 + }
 + ]
 + }
 + }
 + }
 + ]
 + }
 + },
 + "albums": {
 + "key": {
 + "name": "APEXgRPCPolicy_Albums",
 + "version": "0.0.1"
 + },
 + "albums": {
 + "entry": [
 + {
 + "key": {
 + "name": "PMSubscriptionAlbum",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "PMSubscriptionAlbum",
 + "version": "0.0.1"
 + },
 + "scope": "policy",
 + "isWritable": true,
 + "itemSchema": {
 + "name": "PMSubscriptionType",
 + "version": "0.0.1"
 + }
 + }
 + }
 + ]
 + }
 + },
 + "schemas": {
 + "key": {
 + "name": "APEXgRPCPolicy_Schemas",
 + "version": "0.0.1"
 + },
 + "schemas": {
 + "entry": [
 + {
 + "key": {
 + "name": "CDSActionIdentifiersType",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CDSActionIdentifiersType",
 + "version": "0.0.1"
 + },
 + "schemaFlavour": "Avro",
 + "schemaDefinition": "{\n \"type\": \"record\",\n \"name\": \"CDSActionIdentifiers_Type\",\n \"namespace\": \"org.onap.policy.apex.onap.helloworld\",\n \"fields\": [\n {\n \"name\": \"actionName\",\n \"type\": \"string\"\n },\n {\n \"name\": \"blueprintName\",\n \"type\": \"string\"\n },\n {\n \"name\": \"blueprintVersion\",\n \"type\": \"string\"\n },\n {\n \"name\": \"mode\",\n \"type\": \"string\"\n }\n ]\n}"
 + }
 + },
 + {
 + "key": {
 + "name": "CDSCreateSubscriptionPayloadType",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CDSCreateSubscriptionPayloadType",
 + "version": "0.0.1"
 + },
 + "schemaFlavour": "Avro",
 + "schemaDefinition": "{\n \"type\": \"map\",\n \"values\": {\n \"type\": \"record\",\n \"name\": \"CDSRequestPayloadEntry\",\n \"fields\": [\n {\n \"name\": \"create_DasH_subscription_DasH_properties\",\n \"type\": {\n \"name\": \"create_DasH_subscription_DasH_properties_record\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"nfName\",\n \"type\": \"string\"\n },\n {\n \"name\": \"subscriptionName\",\n \"type\": \"string\"\n },\n {\n \"name\": \"administrativeState\",\n \"type\": \"string\"\n },\n {\n \"name\": \"fileBasedGP\",\n \"type\": \"string\"\n },\n {\n \"name\": \"fileLocation\",\n \"type\": \"string\"\n },\n {\n \"name\": \"measurementGroups\",\n \"type\": {\n \"type\": \"array\",\n \"items\": {\n \"name\": \"measurementGroups_record\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"measurementGroup\",\n \"type\": {\n \"name\": \"measurementGroup\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"measurementTypes\",\n \"type\": {\n \"type\": \"array\",\n \"items\": {\n \"name\": \"measurementTypes_record\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"measurementType\",\n \"type\": \"string\"\n }\n ]\n }\n }\n },\n {\n \"name\": \"managedObjectDNsBasic\",\n \"type\": {\n \"type\": \"array\",\n \"items\": {\n \"name\": \"managedObjectDNsBasic_record\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"DN\",\n \"type\": \"string\"\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n }\n}"
 + }
 + },
 + {
 + "key": {
 + "name": "CDSDeleteSubscriptionPayloadType",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CDSDeleteSubscriptionPayloadType",
 + "version": "0.0.1"
 + },
 + "schemaFlavour": "Avro",
 + "schemaDefinition": "{\n \"type\": \"map\",\n \"values\": {\n \"type\": \"record\",\n \"name\": \"CDSRequestPayloadEntry\",\n \"fields\": [\n {\n \"name\": \"delete_DasH_subscription_DasH_properties\",\n \"type\": {\n \"name\": \"delete_DasH_subscription_DasH_properties_record\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"nfName\",\n \"type\": \"string\"\n },\n {\n \"name\": \"subscriptionName\",\n \"type\": \"string\"\n },\n {\n \"name\": \"administrativeState\",\n \"type\": \"string\"\n },\n {\n \"name\": \"fileBasedGP\",\n \"type\": \"string\"\n },\n {\n \"name\": \"fileLocation\",\n \"type\": \"string\"\n },\n {\n \"name\": \"measurementGroups\",\n \"type\": {\n \"type\": \"array\",\n \"items\": {\n \"name\": \"measurementGroups_record\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"measurementGroup\",\n \"type\": {\n \"name\": \"measurementGroup\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"measurementTypes\",\n \"type\": {\n \"type\": \"array\",\n \"items\": {\n \"name\": \"measurementTypes_record\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"measurementType\",\n \"type\": \"string\"\n }\n ]\n }\n }\n },\n {\n \"name\": \"managedObjectDNsBasic\",\n \"type\": {\n \"type\": \"array\",\n \"items\": {\n \"name\": \"managedObjectDNsBasic_record\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"DN\",\n \"type\": \"string\"\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n }\n}"
 + }
 + },
 + {
 + "key": {
 + "name": "CDSRequestCommonHeaderType",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CDSRequestCommonHeaderType",
 + "version": "0.0.1"
 + },
 + "schemaFlavour": "Avro",
 + "schemaDefinition": "{\n \"type\": \"record\",\n \"name\": \"CDSRequestCommonHeader_Type\",\n \"namespace\": \"org.onap.policy.apex.onap.helloworld\",\n \"fields\": [\n {\n \"name\": \"originatorId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"requestId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"subRequestId\",\n \"type\": \"string\"\n }\n ]\n}"
 + }
 + },
 + {
 + "key": {
 + "name": "CDSResponseCommonHeaderType",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CDSResponseCommonHeaderType",
 + "version": "0.0.1"
 + },
 + "schemaFlavour": "Avro",
 + "schemaDefinition": "{\n \"type\": \"record\",\n \"name\": \"CDSResponseCommonHeader_Type\",\n \"namespace\": \"org.onap.policy.apex.onap.helloworld\",\n \"fields\": [\n {\n \"name\": \"originatorId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"requestId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"subRequestId\",\n \"type\": \"string\"\n },\n {\n \"name\": \"timestamp\",\n \"type\": \"string\"\n }\n ]\n}"
 + }
 + },
 + {
 + "key": {
 + "name": "CDSResponsePayloadType",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CDSResponsePayloadType",
 + "version": "0.0.1"
 + },
 + "schemaFlavour": "Avro",
 + "schemaDefinition": "{\n \"name\": \"CDSResponsePayloadEntry\",\n \"type\": \"record\",\n \"namespace\": \"com.acme.avro\",\n \"fields\": [\n {\n \"name\": \"create_DasH_subscription_DasH_response\",\n \"type\": {\n \"name\": \"create_DasH_subscription_DasH_response\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"odl_DasH_response\",\n \"type\": {\n \"name\": \"odl_DasH_response\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"status\",\n \"type\": \"string\"\n }\n ]\n }\n }\n ]\n }\n }\n ]\n}"
 + }
 + },
 + {
 + "key": {
 + "name": "CDSResponseStatusType",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "CDSResponseStatusType",
 + "version": "0.0.1"
 + },
 + "schemaFlavour": "Avro",
 + "schemaDefinition": "{\n \"type\": \"record\",\n \"name\": \"CDSResponseStatus_Type\",\n \"namespace\": \"org.onap.policy.apex.onap.helloworld\",\n \"fields\": [\n {\n \"name\": \"code\",\n \"type\": \"int\"\n },\n {\n \"name\": \"eventType\",\n \"type\": \"string\"\n },\n {\n \"name\": \"timestamp\",\n \"type\": \"string\"\n },\n {\n \"name\": \"message\",\n \"type\": \"string\"\n }\n ]\n}"
 + }
 + },
 + {
 + "key": {
 + "name": "PMSubscriptionType",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "PMSubscriptionType",
 + "version": "0.0.1"
 + },
 + "schemaFlavour": "Avro",
 + "schemaDefinition": "{\n \"name\": \"PMSubscription\",\n \"type\": \"record\",\n \"namespace\": \"org.onap.policy.apex.onap.pmcontrol\",\n \"fields\": [\n {\n \"name\": \"nfName\",\n \"type\": \"string\"\n },\n {\n \"name\": \"changeType\",\n \"type\": \"string\"\n },\n {\n \"name\": \"closedLoopControlName\",\n \"type\": \"string\"\n },\n {\n \"name\": \"policyName\",\n \"type\": \"string\"\n },\n {\n \"name\": \"subscription\",\n \"type\": {\n \"name\": \"subscription\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"subscriptionName\",\n \"type\": \"string\"\n },\n {\n \"name\": \"administrativeState\",\n \"type\": \"string\"\n },\n {\n \"name\": \"fileBasedGP\",\n \"type\": \"int\"\n },\n {\n \"name\": \"fileLocation\",\n \"type\": \"string\"\n },\n {\n \"name\": \"measurementGroups\",\n \"type\": {\n \"type\": \"array\",\n \"items\": {\n \"name\": \"Measurement_Groups_Type\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"measurementGroup\",\n \"type\": {\n \"name\": \"Measurement_Group_Type\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"measurementTypes\",\n \"type\": {\n \"type\": \"array\",\n \"items\": {\n \"name\": \"Measurement_Types_Type\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"measurementType\",\n \"type\": \"string\"\n }\n ]\n }\n }\n },\n {\n \"name\": \"managedObjectDNsBasic\",\n \"type\": {\n \"type\": \"array\",\n \"items\": {\n \"name\": \"Managed_Object_Dns_Basic_Type\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"DN\",\n \"type\": \"string\"\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n}"
 + }
 + },
 + {
 + "key": {
 + "name": "SimpleIntType",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "SimpleIntType",
 + "version": "0.0.1"
 + },
 + "schemaFlavour": "Java",
 + "schemaDefinition": "java.lang.Integer"
 + }
 + },
 + {
 + "key": {
 + "name": "SimpleStringType",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "SimpleStringType",
 + "version": "0.0.1"
 + },
 + "schemaFlavour": "Java",
 + "schemaDefinition": "java.lang.String"
 + }
 + },
 + {
 + "key": {
 + "name": "SubscriptionStatusType",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "SubscriptionStatusType",
 + "version": "0.0.1"
 + },
 + "schemaFlavour": "Avro",
 + "schemaDefinition": "{\n \"type\": \"record\",\n \"name\": \"ActivateSubscriptionStatus_Type\",\n \"namespace\": \"org.onap.policy.apex.onap.helloworld\",\n \"fields\": [\n {\n \"name\": \"subscriptionName\",\n \"type\": \"string\"\n },\n {\n \"name\": \"nfName\",\n \"type\": \"string\"\n },\n {\n \"name\": \"changeType\",\n \"type\": \"string\"\n },\n {\n \"name\": \"message\",\n \"type\": \"string\"\n }\n ]\n}"
 + }
 + },
 + {
 + "key": {
 + "name": "SubscriptionType",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "SubscriptionType",
 + "version": "0.0.1"
 + },
 + "schemaFlavour": "Avro",
 + "schemaDefinition": "{\n \"name\": \"subscription\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"subscriptionName\",\n \"type\": \"string\"\n },\n {\n \"name\": \"administrativeState\",\n \"type\": \"string\"\n },\n {\n \"name\": \"fileBasedGP\",\n \"type\": \"int\"\n },\n {\n \"name\": \"fileLocation\",\n \"type\": \"string\"\n },\n {\n \"name\": \"measurementGroups\",\n \"type\": {\n \"type\": \"array\",\n \"items\": {\n \"name\": \"Measurement_Groups_Type\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"measurementGroup\",\n \"type\": {\n \"name\": \"Measurement_Group_Type\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"measurementTypes\",\n \"type\": {\n \"type\": \"array\",\n \"items\": {\n \"name\": \"Measurement_Types_Type\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"measurementType\",\n \"type\": \"string\"\n }\n ]\n }\n }\n },\n {\n \"name\": \"managedObjectDNsBasic\",\n \"type\": {\n \"type\": \"array\",\n \"items\": {\n \"name\": \"Managed_Object_Dns_Basic_Type\",\n \"type\": \"record\",\n \"fields\": [\n {\n \"name\": \"DN\",\n \"type\": \"string\"\n }\n ]\n }\n }\n }\n ]\n }\n }\n ]\n }\n }\n }\n ]\n}"
 + }
 + },
 + {
 + "key": {
 + "name": "UUIDType",
 + "version": "0.0.1"
 + },
 + "value": {
 + "key": {
 + "name": "UUIDType",
 + "version": "0.0.1"
 + },
 + "schemaFlavour": "Java",
 + "schemaDefinition": "java.util.UUID"
 + }
 + }
 + ]
 + }
 + }
 + }
 + }
 + },
 + "eventOutputParameters": {
 + "logOutputter": {
 + "carrierTechnologyParameters": {
 + "carrierTechnology": "FILE",
 + "parameters": {
 + "fileName": "outputevents.log"
 + }
 + },
 + "eventProtocolParameters": {
 + "eventProtocol": "JSON"
 + }
 + },
 + "CDSRequestProducer": {
 + "carrierTechnologyParameters": {
 + "carrierTechnology": "GRPC",
 + "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.grpc.GrpcCarrierTechnologyParameters",
 + "parameters": {
 + "host": "10.2.0.105",
 + "port": 54322,
 + "username": "ccsdkapps",
 + "password": "ccsdkapps",
 + "timeout": 60
 + }
 + },
 + "eventProtocolParameters": {
 + "eventProtocol": "JSON"
 + },
 + "eventNameFilter": "(Create|Delete)SubscriptionRequestEvent",
 + "requestorMode": true,
 + "requestorPeer": "CDSRequestConsumer",
 + "requestorTimeout": 500
 + },
 + "CDSReplyProducer": {
 + "carrierTechnologyParameters": {
 + "carrierTechnology": "RESTCLIENT",
 + "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
 + "parameters": {
 + "url": "https://message-router:3905/events/POLICY_CL_MGT"
 + }
 + },
 + "eventProtocolParameters": {
 + "eventProtocol": "JSON"
 + },
 + "eventNameFilter": "CDSResponseStatusEvent"
 + }
 + },
 + "eventInputParameters": {
 + "DCAEConsumer": {
 + "carrierTechnologyParameters": {
 + "carrierTechnology": "RESTCLIENT",
 + "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters",
 + "parameters": {
 + "url": "https://message-router:3905/events/unauthenticated.DCAE_CL_OUTPUT/cg1/c1?timeout=30000"
 + }
 + },
 + "eventProtocolParameters": {
 + "eventProtocol": "JSON",
 + "parameters": {
 + "nameAlias": "testPolicyB"
 + }
 + },
 + "eventName": "testPolicyB",
 + "eventNameFilter": "testPolicyB"
 + },
 + "CDSRequestConsumer": {
 + "carrierTechnologyParameters": {
 + "carrierTechnology": "GRPC",
 + "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.grpc.GrpcCarrierTechnologyParameters"
 + },
 + "eventProtocolParameters": {
 + "eventProtocol": "JSON"
 + },
 + "eventName": "CDSResponseEvent",
 + "eventNameFilter": "CDSResponseEvent",
 + "requestorMode": true,
 + "requestorPeer": "CDSRequestProducer",
 + "requestorTimeout": 500
 + }
 + }
 + },
 + "name": "operational.apex.stabilityTestDefaultDomain",
 + "version": "1.0.0",
 + "metadata": {
 + "policy-id": "operational.apex.stabilityTestDefaultDomain",
 + "policy-version": "1.0.0"
 + }
 + }
 + }
 + ]
 + },
 + "name": "ToscaServiceTemplateSimple",
 + "version": "1.0.0",
 + "metadata": {}
 +}</stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + </collectionProp> + </elementProp> + <stringProp name="HTTPSampler.domain">${HOSTNAME}</stringProp> + <stringProp name="HTTPSampler.port">${API_PORT}</stringProp> + <stringProp name="HTTPSampler.protocol">https</stringProp> + <stringProp name="HTTPSampler.contentEncoding"></stringProp> + <stringProp name="HTTPSampler.path">/policy/api/v1/policies</stringProp> + <stringProp name="HTTPSampler.method">POST</stringProp> + <boolProp name="HTTPSampler.follow_redirects">true</boolProp> + <boolProp name="HTTPSampler.auto_redirects">false</boolProp> + <boolProp name="HTTPSampler.use_keepalive">true</boolProp> + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <stringProp name="HTTPSampler.embedded_url_re"></stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> + </HTTPSamplerProxy> + <hashTree> + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> + <collectionProp name="Asserion.test_strings"> + <stringProp name="49586">200</stringProp> + </collectionProp> + <stringProp name="Assertion.custom_message"></stringProp> + <stringProp name="Assertion.test_field">Assertion.response_code</stringProp> + <boolProp name="Assertion.assume_success">false</boolProp> + <intProp name="Assertion.test_type">1</intProp> + </ResponseAssertion> + <hashTree/> + </hashTree> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Deploy policy" enabled="true"> + <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> + <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> + <collectionProp name="Arguments.arguments"> + <elementProp name="" elementType="HTTPArgument"> + <boolProp name="HTTPArgument.always_encode">false</boolProp> + <stringProp name="Argument.value">{
 + "groups": [
 + {
 + "name": "defaultGroup",
 + "deploymentSubgroups": [
 + {
 + "pdpType": "apex",
 + "action": "POST",
 + "policies": [
 + {
 + "name": "operational.apex.stabilityTestDefaultDomain",
 + "version": "1.0.0"
 + }
 + ]
 + }
 + ]
 + }
 + ]
 +}</stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + </collectionProp> + </elementProp> + <stringProp name="HTTPSampler.domain">${HOSTNAME}</stringProp> + <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp> + <stringProp name="HTTPSampler.protocol">https</stringProp> + <stringProp name="HTTPSampler.contentEncoding"></stringProp> + <stringProp name="HTTPSampler.path">/policy/pap/v1/pdps/deployments/batch</stringProp> + <stringProp name="HTTPSampler.method">POST</stringProp> + <boolProp name="HTTPSampler.follow_redirects">true</boolProp> + <boolProp name="HTTPSampler.auto_redirects">false</boolProp> + <boolProp name="HTTPSampler.use_keepalive">true</boolProp> + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <stringProp name="HTTPSampler.embedded_url_re"></stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> + </HTTPSamplerProxy> + <hashTree> + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> + <collectionProp name="Asserion.test_strings"> + <stringProp name="49586">200</stringProp> + </collectionProp> + <stringProp name="Assertion.custom_message"></stringProp> + <stringProp name="Assertion.test_field">Assertion.response_code</stringProp> + <boolProp name="Assertion.assume_success">false</boolProp> + <intProp name="Assertion.test_type">1</intProp> + </ResponseAssertion> + <hashTree/> + </hashTree> + </hashTree> <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true"> - <stringProp name="ThreadGroup.on_sample_error">stoptest</stringProp> + <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> <intProp name="LoopController.loops">-1</intProp> </elementProp> <stringProp name="ThreadGroup.num_threads">${threads}</stringProp> <stringProp name="ThreadGroup.ramp_time">1</stringProp> - <boolProp name="ThreadGroup.scheduler">false</boolProp> - <stringProp name="ThreadGroup.duration"></stringProp> + <boolProp name="ThreadGroup.scheduler">true</boolProp> + <stringProp name="ThreadGroup.duration">260000</stringProp> <stringProp name="ThreadGroup.delay"></stringProp> + <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp> </ThreadGroup> <hashTree> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Health Check" enabled="true"> + <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> + <collectionProp name="Arguments.arguments"/> + </elementProp> + <stringProp name="HTTPSampler.domain">${HOSTNAME}</stringProp> + <stringProp name="HTTPSampler.port">${APEX_PORT}</stringProp> + <stringProp name="HTTPSampler.protocol">https</stringProp> + <stringProp name="HTTPSampler.contentEncoding"></stringProp> + <stringProp name="HTTPSampler.path">/policy/apex-pdp/v1/healthcheck</stringProp> + <stringProp name="HTTPSampler.method">GET</stringProp> + <boolProp name="HTTPSampler.follow_redirects">true</boolProp> + <boolProp name="HTTPSampler.auto_redirects">false</boolProp> + <boolProp name="HTTPSampler.use_keepalive">true</boolProp> + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <stringProp name="HTTPSampler.embedded_url_re"></stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> + </HTTPSamplerProxy> + <hashTree> + <JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSR223 Assertion" enabled="true"> + <stringProp name="cacheKey">true</stringProp> + <stringProp name="filename"></stringProp> + <stringProp name="parameters"></stringProp> + <stringProp name="script">import groovy.json.JsonSlurper; + +def res = []; +if (prev.getResponseCode() == '200') { + def jsonSlurper = new JsonSlurper(); + res = jsonSlurper.parseText(prev.getResponseDataAsString()); + + assert res instanceof Map; + assert res.healthy == true; + assert res.message == 'alive'; +} +</stringProp> + <stringProp name="scriptLanguage">groovy</stringProp> + </JSR223Assertion> + <hashTree/> + </hashTree> <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Test Controller" enabled="true"/> <hashTree> <SyncTimer guiclass="TestBeanGUI" testclass="SyncTimer" testname="Synchronizing Timer" enabled="true"> @@ -87,27 +2601,69 @@ <elementProp name="" elementType="HTTPArgument"> <boolProp name="HTTPArgument.always_encode">false</boolProp> <stringProp name="Argument.value">{
 - "nameSpace": "org.onap.policy.apex.sample.events",
 - "name": "Event0000",
 - "version": "0.0.1",
 - "source": "REST_0",
 - "target": "apex",
 - "TestSlogan": "Test slogan for External Event0",
 - "TestMatchCase": 3,
 - "TestTimestamp": 1536363522018,
 - "TestTemperature": 9080.866
 -}
 -</stringProp> + "changeType": "CREATE",
 + "closedLoopControlName": "test",
 + "policyName": "test",
 + "nfName": "pnf300",
 + "subscription": {
 + "subscriptionName": "testPolicyB",
 + "administrativeState": "UNLOCKED",
 + "fileBasedGP": 15,
 + "fileLocation": "/pm/pm.xml",
 + "measurementGroups": [
 + {
 + "measurementGroup": {
 + "measurementTypes": [
 + {
 + "measurementType": "countera"
 + },
 + {
 + "measurementType": "counterb"
 + }
 + ],
 + "managedObjectDNsBasic": [
 + {
 + "DN": "dna"
 + },
 + {
 + "DN": "dnb"
 + }
 + ]
 + }
 + },
 + {
 + "measurementGroup": {
 + "measurementTypes": [
 + {
 + "measurementType": "counterc"
 + },
 + {
 + "measurementType": "counterd"
 + }
 + ],
 + "managedObjectDNsBasic": [
 + {
 + "DN": "dnc"
 + },
 + {
 + "DN": "dnd"
 + }
 + ]
 + }
 + }
 + ]
 + }
 +}</stringProp> <stringProp name="Argument.metadata">=</stringProp> </elementProp> </collectionProp> </elementProp> - <stringProp name="HTTPSampler.domain"></stringProp> - <stringProp name="HTTPSampler.port"></stringProp> - <stringProp name="HTTPSampler.protocol"></stringProp> + <stringProp name="HTTPSampler.domain">${HOSTNAME}</stringProp> + <stringProp name="HTTPSampler.port">${DMAAP_PORT}</stringProp> + <stringProp name="HTTPSampler.protocol">http</stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">/apex/FirstConsumer/EventIn</stringProp> - <stringProp name="HTTPSampler.method">PUT</stringProp> + <stringProp name="HTTPSampler.path">/events/unauthenticated.DCAE_CL_OUTPUT</stringProp> + <stringProp name="HTTPSampler.method">POST</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> <boolProp name="HTTPSampler.use_keepalive">true</boolProp> @@ -130,9 +2686,47 @@ <stringProp name="TestPlan.comments">Assert response code coming back from apex-pdp</stringProp> </ResponseAssertion> <hashTree/> - <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert Response Message" enabled="true"> + <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="WAIT" enabled="true"> + <stringProp name="ConstantTimer.delay">${wait}</stringProp> + </ConstantTimer> + <hashTree/> + </hashTree> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Get the ouput event response" enabled="true"> + <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> + <collectionProp name="Arguments.arguments"/> + </elementProp> + <stringProp name="HTTPSampler.domain">${HOSTNAME}</stringProp> + <stringProp name="HTTPSampler.port">${DMAAP_PORT}</stringProp> + <stringProp name="HTTPSampler.protocol">http</stringProp> + <stringProp name="HTTPSampler.contentEncoding"></stringProp> + <stringProp name="HTTPSampler.path">/events/POLICY_CL_MGT/cg1/c1?timeout=30000</stringProp> + <stringProp name="HTTPSampler.method">GET</stringProp> + <boolProp name="HTTPSampler.follow_redirects">true</boolProp> + <boolProp name="HTTPSampler.auto_redirects">false</boolProp> + <boolProp name="HTTPSampler.use_keepalive">true</boolProp> + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <stringProp name="HTTPSampler.embedded_url_re"></stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> + <stringProp name="TestPlan.comments">Check output event </stringProp> + </HTTPSamplerProxy> + <hashTree> + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert Response Code" enabled="true"> + <collectionProp name="Asserion.test_strings"> + <stringProp name="49586">200</stringProp> + </collectionProp> + <stringProp name="Assertion.custom_message"></stringProp> + <stringProp name="Assertion.test_field">Assertion.response_code</stringProp> + <boolProp name="Assertion.assume_success">false</boolProp> + <intProp name="Assertion.test_type">8</intProp> + <stringProp name="Scope.variable">Response code</stringProp> + <stringProp name="TestPlan.comments">Assert response code coming back from apex-pdp</stringProp> + </ResponseAssertion> + <hashTree/> + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Assert Response Message" enabled="false"> <collectionProp name="Asserion.test_strings"> - <stringProp name="-901779464">"nameSpace": "org.onap.policy.apex.sample.events"</stringProp> + <stringProp name="1608759622">org.onap.policy.apex.onap.pmcontrol</stringProp> + <stringProp name="1996002556">CREATE</stringProp> </collectionProp> <stringProp name="Assertion.custom_message"></stringProp> <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> @@ -142,13 +2736,113 @@ <stringProp name="TestPlan.comments">Assert response message coming back from apex-pdp</stringProp> </ResponseAssertion> <hashTree/> - <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="WAIT" enabled="true"> + <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="WAIT" enabled="false"> <stringProp name="ConstantTimer.delay">${wait}</stringProp> </ConstantTimer> <hashTree/> </hashTree> </hashTree> </hashTree> + <PostThreadGroup guiclass="PostThreadGroupGui" testclass="PostThreadGroup" testname="tearDown Thread Group" enabled="true"> + <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> + <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true"> + <boolProp name="LoopController.continue_forever">false</boolProp> + <stringProp name="LoopController.loops">1</stringProp> + </elementProp> + <stringProp name="ThreadGroup.num_threads">1</stringProp> + <stringProp name="ThreadGroup.ramp_time">1</stringProp> + <boolProp name="ThreadGroup.scheduler">false</boolProp> + <stringProp name="ThreadGroup.duration"></stringProp> + <stringProp name="ThreadGroup.delay"></stringProp> + <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp> + </PostThreadGroup> + <hashTree> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Un deploy policy" enabled="true"> + <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> + <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> + <collectionProp name="Arguments.arguments"> + <elementProp name="" elementType="HTTPArgument"> + <boolProp name="HTTPArgument.always_encode">false</boolProp> + <stringProp name="Argument.value">{
 + "groups": [
 + {
 + "name": "defaultGroup",
 + "deploymentSubgroups": [
 + {
 + "pdpType": "apex",
 + "action": "DELETE",
 + "policies": [
 + {
 + "name": "operational.apex.stabilityTestDefaultDomain",
 + "version": "1.0.0"
 + }
 + ]
 + }
 + ]
 + }
 + ]
 +}</stringProp> + <stringProp name="Argument.metadata">=</stringProp> + </elementProp> + </collectionProp> + </elementProp> + <stringProp name="HTTPSampler.domain">${HOSTNAME}</stringProp> + <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp> + <stringProp name="HTTPSampler.protocol">https</stringProp> + <stringProp name="HTTPSampler.contentEncoding"></stringProp> + <stringProp name="HTTPSampler.path">/policy/pap/v1/pdps/deployments/batch</stringProp> + <stringProp name="HTTPSampler.method">POST</stringProp> + <boolProp name="HTTPSampler.follow_redirects">true</boolProp> + <boolProp name="HTTPSampler.auto_redirects">false</boolProp> + <boolProp name="HTTPSampler.use_keepalive">true</boolProp> + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <stringProp name="HTTPSampler.embedded_url_re"></stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> + </HTTPSamplerProxy> + <hashTree> + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> + <collectionProp name="Asserion.test_strings"> + <stringProp name="49586">200</stringProp> + </collectionProp> + <stringProp name="Assertion.custom_message"></stringProp> + <stringProp name="Assertion.test_field">Assertion.response_code</stringProp> + <boolProp name="Assertion.assume_success">false</boolProp> + <intProp name="Assertion.test_type">1</intProp> + </ResponseAssertion> + <hashTree/> + </hashTree> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Delete Policy" enabled="true"> + <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> + <collectionProp name="Arguments.arguments"/> + </elementProp> + <stringProp name="HTTPSampler.domain">${HOSTNAME}</stringProp> + <stringProp name="HTTPSampler.port">${API_PORT}</stringProp> + <stringProp name="HTTPSampler.protocol">https</stringProp> + <stringProp name="HTTPSampler.contentEncoding"></stringProp> + <stringProp name="HTTPSampler.path">/policy/api/v1/policytypes/onap.policies.native.Apex/versions/1.0.0/policies/operational.apex.stabilityTestDefaultDomain/versions/1.0.0</stringProp> + <stringProp name="HTTPSampler.method">DELETE</stringProp> + <boolProp name="HTTPSampler.follow_redirects">true</boolProp> + <boolProp name="HTTPSampler.auto_redirects">false</boolProp> + <boolProp name="HTTPSampler.use_keepalive">true</boolProp> + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <stringProp name="HTTPSampler.embedded_url_re"></stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> + </HTTPSamplerProxy> + <hashTree> + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true"> + <collectionProp name="Asserion.test_strings"> + <stringProp name="49586">200</stringProp> + </collectionProp> + <stringProp name="Assertion.custom_message"></stringProp> + <stringProp name="Assertion.test_field">Assertion.response_code</stringProp> + <boolProp name="Assertion.assume_success">false</boolProp> + <intProp name="Assertion.test_type">1</intProp> + </ResponseAssertion> + <hashTree/> + </hashTree> + </hashTree> <ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="Summary Report" enabled="true"> <boolProp name="ResultCollector.error_logging">false</boolProp> <objProp> @@ -182,7 +2876,7 @@ <connectTime>true</connectTime> </value> </objProp> - <stringProp name="filename"></stringProp> + <stringProp name="filename">/home/adityap/apex_stability/Stability.log</stringProp> </ResultCollector> <hashTree/> <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true"> @@ -218,7 +2912,7 @@ <connectTime>true</connectTime> </value> </objProp> - <stringProp name="filename"></stringProp> + <stringProp name="filename">/home/adityap/apex_stability/resultTree.log</stringProp> </ResultCollector> <hashTree/> <ResultCollector guiclass="TableVisualizer" testclass="ResultCollector" testname="View Results in Table" enabled="true"> @@ -254,9 +2948,10 @@ <connectTime>true</connectTime> </value> </objProp> - <stringProp name="filename"></stringProp> + <stringProp name="filename">/home/adityap/apex_stability/resultTable.log</stringProp> </ResultCollector> <hashTree/> </hashTree> </hashTree> </jmeterTestPlan> + |