aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancescoFioraEst <francesco.fiora@est.tech>2024-03-04 13:59:11 +0000
committerFrancesco Fiora <francesco.fiora@est.tech>2024-04-23 14:37:55 +0000
commita3ac9c950b9b61c9e64d9a161a9c973a144ee190 (patch)
treec1316f652cadaadcc2b254b2ae1190438d2381c2
parent519334f314bd68085148a83dca0f5172276884df (diff)
Update Performance tests of ACM runtime and participant
Update Performance tests of ACM runtime and participant with large number of compositions and instances. Issue-ID: POLICY-4967 Change-Id: Ib1f74bbc2e957c6af90b49ddaef65f480651a426 Signed-off-by: FrancescoFioraEst <francesco.fiora@est.tech>
-rw-r--r--testsuites/performance/src/main/resources/testplans/performance.jmx3004
1 files changed, 885 insertions, 2119 deletions
diff --git a/testsuites/performance/src/main/resources/testplans/performance.jmx b/testsuites/performance/src/main/resources/testplans/performance.jmx
index 3360d1aae..4a7200b48 100644
--- a/testsuites/performance/src/main/resources/testplans/performance.jmx
+++ b/testsuites/performance/src/main/resources/testplans/performance.jmx
@@ -38,9 +38,9 @@
<stringProp name="Argument.value">${HOME_PATH}/acm_perf/</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
- <elementProp name="DURATION" elementType="Argument">
- <stringProp name="Argument.name">DURATION</stringProp>
- <stringProp name="Argument.value">${__P(DURATION,14400)}</stringProp>
+ <elementProp name="INSTANCES" elementType="Argument">
+ <stringProp name="Argument.name">INSTANCES</stringProp>
+ <stringProp name="Argument.value">${__P(INSTANCES,100)}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="USERS" elementType="Argument">
@@ -100,1536 +100,6 @@
<boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
</SetupThreadGroup>
<hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Commission AutomationComposition definition" 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">{&#xd;
- &quot;tosca_definitions_version&quot;: &quot;tosca_simple_yaml_1_3&quot;,&#xd;
- &quot;data_types&quot;: {&#xd;
- &quot;onap.datatypes.ToscaConceptIdentifier&quot;: {&#xd;
- &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;name&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;required&quot;: true&#xd;
- },&#xd;
- &quot;version&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;required&quot;: true&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- &quot;onap.datatypes.native.apex.EngineService&quot;: {&#xd;
- &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;name&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;description&quot;: &quot;Specifies the engine name&quot;,&#xd;
- &quot;required&quot;: false,&#xd;
- &quot;default&quot;: &quot;ApexEngineService&quot;&#xd;
- },&#xd;
- &quot;version&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;description&quot;: &quot;Specifies the engine version in double dotted format&quot;,&#xd;
- &quot;required&quot;: false,&#xd;
- &quot;default&quot;: &quot;1.0.0&quot;&#xd;
- },&#xd;
- &quot;id&quot;: {&#xd;
- &quot;type&quot;: &quot;integer&quot;,&#xd;
- &quot;description&quot;: &quot;Specifies the engine id&quot;,&#xd;
- &quot;required&quot;: true&#xd;
- },&#xd;
- &quot;instance_count&quot;: {&#xd;
- &quot;type&quot;: &quot;integer&quot;,&#xd;
- &quot;description&quot;: &quot;Specifies the number of engine threads that should be run&quot;,&#xd;
- &quot;required&quot;: true&#xd;
- },&#xd;
- &quot;deployment_port&quot;: {&#xd;
- &quot;type&quot;: &quot;integer&quot;,&#xd;
- &quot;description&quot;: &quot;Specifies the port to connect to for engine administration&quot;,&#xd;
- &quot;required&quot;: false,&#xd;
- &quot;default&quot;: 1&#xd;
- },&#xd;
- &quot;policy_model_file_name&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;description&quot;: &quot;The name of the file from which to read the APEX policy model&quot;,&#xd;
- &quot;required&quot;: false&#xd;
- },&#xd;
- &quot;policy_type_impl&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;description&quot;: &quot;The policy type implementation from which to read the APEX policy model&quot;,&#xd;
- &quot;required&quot;: false&#xd;
- },&#xd;
- &quot;periodic_event_period&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;description&quot;: &quot;The time interval in milliseconds for the periodic scanning event, 0 means don&apos;t scan&quot;,&#xd;
- &quot;required&quot;: false&#xd;
- },&#xd;
- &quot;engine&quot;: {&#xd;
- &quot;type&quot;: &quot;onap.datatypes.native.apex.engineservice.Engine&quot;,&#xd;
- &quot;description&quot;: &quot;The parameters for all engines in the APEX engine service&quot;,&#xd;
- &quot;required&quot;: true&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- &quot;onap.datatypes.native.apex.EventHandler&quot;: {&#xd;
- &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;name&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;description&quot;: &quot;Specifies the event handler name, if not specified this is set to the key name&quot;,&#xd;
- &quot;required&quot;: false&#xd;
- },&#xd;
- &quot;carrier_technology&quot;: {&#xd;
- &quot;type&quot;: &quot;onap.datatypes.native.apex.CarrierTechnology&quot;,&#xd;
- &quot;description&quot;: &quot;Specifies the carrier technology of the event handler (such as REST/Web Socket/Kafka)&quot;,&#xd;
- &quot;required&quot;: true&#xd;
- },&#xd;
- &quot;event_protocol&quot;: {&#xd;
- &quot;type&quot;: &quot;onap.datatypes.native.apex.EventProtocol&quot;,&#xd;
- &quot;description&quot;: &quot;Specifies the event protocol of events for the event handler (such as Yaml/JSON/XML/POJO)&quot;,&#xd;
- &quot;required&quot;: true&#xd;
- },&#xd;
- &quot;event_name&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;description&quot;: &quot;Specifies the event name for events on this event handler, if not specified, the event name is read from or written to the event being received or sent&quot;,&#xd;
- &quot;required&quot;: false&#xd;
- },&#xd;
- &quot;event_name_filter&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;description&quot;: &quot;Specifies a filter as a regular expression, events that do not match the filter are dropped, the default is to let all events through&quot;,&#xd;
- &quot;required&quot;: false&#xd;
- },&#xd;
- &quot;synchronous_mode&quot;: {&#xd;
- &quot;type&quot;: &quot;boolean&quot;,&#xd;
- &quot;description&quot;: &quot;Specifies the event handler is syncronous (receive event and send response)&quot;,&#xd;
- &quot;required&quot;: false,&#xd;
- &quot;default&quot;: false&#xd;
- },&#xd;
- &quot;synchronous_peer&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;description&quot;: &quot;The peer event handler (output for input or input for output) of this event handler in synchronous mode, this parameter is mandatory if the event handler is in synchronous mode&quot;,&#xd;
- &quot;required&quot;: false&#xd;
- },&#xd;
- &quot;synchronous_timeout&quot;: {&#xd;
- &quot;type&quot;: &quot;integer&quot;,&#xd;
- &quot;description&quot;: &quot;The timeout in milliseconds for responses to be issued by APEX torequests, this parameter is mandatory if the event handler is in synchronous mode&quot;,&#xd;
- &quot;required&quot;: false&#xd;
- },&#xd;
- &quot;requestor_mode&quot;: {&#xd;
- &quot;type&quot;: &quot;boolean&quot;,&#xd;
- &quot;description&quot;: &quot;Specifies the event handler is in requestor mode (send event and wait for response mode)&quot;,&#xd;
- &quot;required&quot;: false,&#xd;
- &quot;default&quot;: false&#xd;
- },&#xd;
- &quot;requestor_peer&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;description&quot;: &quot;The peer event handler (output for input or input for output) of this event handler in requestor mode, this parameter is mandatory if the event handler is in requestor mode&quot;,&#xd;
- &quot;required&quot;: false&#xd;
- },&#xd;
- &quot;requestor_timeout&quot;: {&#xd;
- &quot;type&quot;: &quot;integer&quot;,&#xd;
- &quot;description&quot;: &quot;The timeout in milliseconds for wait for responses to requests, this parameter is mandatory if the event handler is in requestor mode&quot;,&#xd;
- &quot;required&quot;: false&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- &quot;onap.datatypes.native.apex.CarrierTechnology&quot;: {&#xd;
- &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;label&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;description&quot;: &quot;The label (name) of the carrier technology (such as REST, Kafka, WebSocket)&quot;,&#xd;
- &quot;required&quot;: true&#xd;
- },&#xd;
- &quot;plugin_parameter_class_name&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;description&quot;: &quot;The class name of the class that overrides default handling of event input or output for this carrier technology, defaults to the supplied input or output class&quot;,&#xd;
- &quot;required&quot;: false&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- &quot;onap.datatypes.native.apex.EventProtocol&quot;: {&#xd;
- &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;label&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;description&quot;: &quot;The label (name) of the event protocol (such as Yaml, JSON, XML, or POJO)&quot;,&#xd;
- &quot;required&quot;: true&#xd;
- },&#xd;
- &quot;event_protocol_plugin_class&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;description&quot;: &quot;The class name of the class that overrides default handling of the event protocol for this carrier technology, defaults to the supplied event protocol class&quot;,&#xd;
- &quot;required&quot;: false&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- &quot;onap.datatypes.native.apex.Environment&quot;: {&#xd;
- &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;name&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;description&quot;: &quot;The name of the environment variable&quot;,&#xd;
- &quot;required&quot;: true&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;description&quot;: &quot;The value of the environment variable&quot;,&#xd;
- &quot;required&quot;: true&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- &quot;onap.datatypes.native.apex.engineservice.Engine&quot;: {&#xd;
- &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;context&quot;: {&#xd;
- &quot;type&quot;: &quot;onap.datatypes.native.apex.engineservice.engine.Context&quot;,&#xd;
- &quot;description&quot;: &quot;The properties for handling context in APEX engines, defaults to using Java maps for context&quot;,&#xd;
- &quot;required&quot;: false&#xd;
- },&#xd;
- &quot;executors&quot;: {&#xd;
- &quot;type&quot;: &quot;map&quot;,&#xd;
- &quot;description&quot;: &quot;The plugins for policy executors used in engines such as javascript, MVEL, Jython&quot;,&#xd;
- &quot;required&quot;: true,&#xd;
- &quot;entry_schema&quot;: {&#xd;
- &quot;description&quot;: &quot;The plugin class path for this policy executor&quot;,&#xd;
- &quot;type&quot;: &quot;string&quot;&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- &quot;onap.datatypes.native.apex.engineservice.engine.Context&quot;: {&#xd;
- &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;distributor&quot;: {&#xd;
- &quot;type&quot;: &quot;onap.datatypes.native.apex.Plugin&quot;,&#xd;
- &quot;description&quot;: &quot;The plugin to be used for distributing context between APEX PDPs at runtime&quot;,&#xd;
- &quot;required&quot;: false&#xd;
- },&#xd;
- &quot;schemas&quot;: {&#xd;
- &quot;type&quot;: &quot;map&quot;,&#xd;
- &quot;description&quot;: &quot;The plugins for context schemas available in APEX PDPs such as Java and Avro&quot;,&#xd;
- &quot;required&quot;: false,&#xd;
- &quot;entry_schema&quot;: {&#xd;
- &quot;type&quot;: &quot;onap.datatypes.native.apex.Plugin&quot;&#xd;
- }&#xd;
- },&#xd;
- &quot;locking&quot;: {&#xd;
- &quot;type&quot;: &quot;onap.datatypes.native.apex.Plugin&quot;,&#xd;
- &quot;description&quot;: &quot;The plugin to be used for locking context in and between APEX PDPs at runtime&quot;,&#xd;
- &quot;required&quot;: false&#xd;
- },&#xd;
- &quot;persistence&quot;: {&#xd;
- &quot;type&quot;: &quot;onap.datatypes.native.apex.Plugin&quot;,&#xd;
- &quot;description&quot;: &quot;The plugin to be used for persisting context for APEX PDPs at runtime&quot;,&#xd;
- &quot;required&quot;: false&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- &quot;onap.datatypes.native.apex.Plugin&quot;: {&#xd;
- &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;name&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;description&quot;: &quot;The name of the executor such as Javascript, Jython or MVEL&quot;,&#xd;
- &quot;required&quot;: true&#xd;
- },&#xd;
- &quot;plugin_class_name&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;description&quot;: &quot;The class path of the plugin class for this executor&quot;&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- &quot;org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest&quot;: {&#xd;
- &quot;version&quot;: &quot;1.0.0&quot;,&#xd;
- &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;restRequestId&quot;: {&#xd;
- &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
- &quot;required&quot;: true,&#xd;
- &quot;description&quot;: &quot;The name and version of a REST request to be sent to a REST endpoint&quot;&#xd;
- },&#xd;
- &quot;httpMethod&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;required&quot;: true,&#xd;
- &quot;constraints&quot;: [&#xd;
- {&#xd;
- &quot;valid_values&quot;: [&#xd;
- &quot;POST&quot;,&#xd;
- &quot;PUT&quot;,&#xd;
- &quot;GET&quot;,&#xd;
- &quot;DELETE&quot;&#xd;
- ]&#xd;
- }&#xd;
- ],&#xd;
- &quot;description&quot;: &quot;The REST method to use&quot;&#xd;
- },&#xd;
- &quot;path&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;required&quot;: true,&#xd;
- &quot;description&quot;: &quot;The path of the REST request relative to the base URL&quot;&#xd;
- },&#xd;
- &quot;body&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;required&quot;: false,&#xd;
- &quot;description&quot;: &quot;The body of the REST request for PUT and POST requests&quot;&#xd;
- },&#xd;
- &quot;expectedResponse&quot;: {&#xd;
- &quot;type&quot;: &quot;integer&quot;,&#xd;
- &quot;required&quot;: true,&#xd;
- &quot;constraints&quot;: [],&#xd;
- &quot;description&quot;: &quot;THe expected HTTP status code for the REST request&quot;&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- &quot;org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity&quot;: {&#xd;
- &quot;version&quot;: &quot;1.0.0&quot;,&#xd;
- &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;configurationEntityId&quot;: {&#xd;
- &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
- &quot;required&quot;: true,&#xd;
- &quot;description&quot;: &quot;The name and version of a Configuration Entity to be handled by the HTTP Automation Composition Element&quot;&#xd;
- },&#xd;
- &quot;restSequence&quot;: {&#xd;
- &quot;type&quot;: &quot;list&quot;,&#xd;
- &quot;entry_schema&quot;: {&#xd;
- &quot;type&quot;: &quot;org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest&quot;,&#xd;
- &quot;type_version&quot;: &quot;1.0.0&quot;&#xd;
- },&#xd;
- &quot;description&quot;: &quot;A sequence of REST commands to send to the REST endpoint&quot;&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- &quot;policy_types&quot;: {&#xd;
- &quot;onap.policies.Native&quot;: {&#xd;
- &quot;derived_from&quot;: &quot;tosca.policies.Root&quot;,&#xd;
- &quot;description&quot;: &quot;a base policy type for all native PDP policies&quot;,&#xd;
- &quot;version&quot;: &quot;1.0.0&quot;,&#xd;
- &quot;name&quot;: &quot;onap.policies.Native&quot;&#xd;
- },&#xd;
- &quot;onap.policies.native.Apex&quot;: {&#xd;
- &quot;derived_from&quot;: &quot;onap.policies.Native&quot;,&#xd;
- &quot;description&quot;: &quot;a policy type for native apex policies&quot;,&#xd;
- &quot;version&quot;: &quot;1.0.0&quot;,&#xd;
- &quot;name&quot;: &quot;onap.policies.native.Apex&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;engine_service&quot;: {&#xd;
- &quot;type&quot;: &quot;onap.datatypes.native.apex.EngineService&quot;,&#xd;
- &quot;description&quot;: &quot;APEX Engine Service Parameters&quot;&#xd;
- },&#xd;
- &quot;inputs&quot;: {&#xd;
- &quot;type&quot;: &quot;map&quot;,&#xd;
- &quot;description&quot;: &quot;Inputs for handling events coming into the APEX engine&quot;,&#xd;
- &quot;entry_schema&quot;: {&#xd;
- &quot;type&quot;: &quot;onap.datatypes.native.apex.EventHandler&quot;&#xd;
- }&#xd;
- },&#xd;
- &quot;outputs&quot;: {&#xd;
- &quot;type&quot;: &quot;map&quot;,&#xd;
- &quot;description&quot;: &quot;Outputs for handling events going out of the APEX engine&quot;,&#xd;
- &quot;entry_schema&quot;: {&#xd;
- &quot;type&quot;: &quot;onap.datatypes.native.apex.EventHandler&quot;&#xd;
- }&#xd;
- },&#xd;
- &quot;environment&quot;: {&#xd;
- &quot;type&quot;: &quot;list&quot;,&#xd;
- &quot;description&quot;: &quot;Envioronmental parameters for the APEX engine&quot;,&#xd;
- &quot;entry_schema&quot;: {&#xd;
- &quot;type&quot;: &quot;onap.datatypes.native.apex.Environment&quot;&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- &quot;node_types&quot;: {&#xd;
- &quot;org.onap.policy.clamp.acm.Participant&quot;: {&#xd;
- &quot;version&quot;: &quot;1.0.1&quot;,&#xd;
- &quot;derived_from&quot;: &quot;tosca.nodetypes.Root&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;provider&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;required&quot;: false&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- &quot;org.onap.policy.clamp.acm.AutomationCompositionElement&quot;: {&#xd;
- &quot;version&quot;: &quot;1.0.1&quot;,&#xd;
- &quot;derived_from&quot;: &quot;tosca.nodetypes.Root&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;provider&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;required&quot;: false,&#xd;
- &quot;metadata&quot;: {&#xd;
- &quot;common&quot;: true&#xd;
- },&#xd;
- &quot;description&quot;: &quot;Specifies the organization that provides the automation composition element&quot;&#xd;
- },&#xd;
- &quot;startPhase&quot;: {&#xd;
- &quot;type&quot;: &quot;integer&quot;,&#xd;
- &quot;required&quot;: false,&#xd;
- &quot;constraints&quot;: [&#xd;
- {&#xd;
- &quot;greater_or_equal&quot;: 0&#xd;
- }&#xd;
- ],&#xd;
- &quot;metadata&quot;: {&#xd;
- &quot;common&quot;: true&#xd;
- },&#xd;
- &quot;description&quot;: &quot;A value indicating the start phase in which this automation composition element will be started, the first start phase is zero. Automation Composition Elements are started in their start_phase order and stopped in reverse start phase order. Automation Composition Elements with the same start phase are started and stopped simultaneously&quot;&#xd;
- },&#xd;
- &quot;uninitializedToPassiveTimeout&quot;: {&#xd;
- &quot;type&quot;: &quot;integer&quot;,&#xd;
- &quot;required&quot;: false,&#xd;
- &quot;constraints&quot;: [&#xd;
- {&#xd;
- &quot;greater_or_equal&quot;: 0&#xd;
- }&#xd;
- ],&#xd;
- &quot;default&quot;: 60,&#xd;
- &quot;metadata&quot;: {&#xd;
- &quot;common&quot;: true&#xd;
- },&#xd;
- &quot;description&quot;: &quot;The maximum time in seconds to wait for a state chage from uninitialized to passive&quot;&#xd;
- },&#xd;
- &quot;passiveToRunningTimeout&quot;: {&#xd;
- &quot;type&quot;: &quot;integer&quot;,&#xd;
- &quot;required&quot;: false,&#xd;
- &quot;constraints&quot;: [&#xd;
- {&#xd;
- &quot;greater_or_equal&quot;: 0&#xd;
- }&#xd;
- ],&#xd;
- &quot;default&quot;: 60,&#xd;
- &quot;metadata&quot;: {&#xd;
- &quot;common&quot;: true&#xd;
- },&#xd;
- &quot;description&quot;: &quot;The maximum time in seconds to wait for a state chage from passive to running&quot;&#xd;
- },&#xd;
- &quot;runningToPassiveTimeout&quot;: {&#xd;
- &quot;type&quot;: &quot;integer&quot;,&#xd;
- &quot;required&quot;: false,&#xd;
- &quot;constraints&quot;: [&#xd;
- {&#xd;
- &quot;greater_or_equal&quot;: 0&#xd;
- }&#xd;
- ],&#xd;
- &quot;default&quot;: 60,&#xd;
- &quot;metadata&quot;: {&#xd;
- &quot;common&quot;: true&#xd;
- },&#xd;
- &quot;description&quot;: &quot;The maximum time in seconds to wait for a state chage from running to passive&quot;&#xd;
- },&#xd;
- &quot;passiveToUninitializedTimeout&quot;: {&#xd;
- &quot;type&quot;: &quot;integer&quot;,&#xd;
- &quot;required&quot;: false,&#xd;
- &quot;constraints&quot;: [&#xd;
- {&#xd;
- &quot;greater_or_equal&quot;: 0&#xd;
- }&#xd;
- ],&#xd;
- &quot;default&quot;: 60,&#xd;
- &quot;metadata&quot;: {&#xd;
- &quot;common&quot;: true&#xd;
- },&#xd;
- &quot;description&quot;: &quot;The maximum time in seconds to wait for a state chage from passive to uninitialized&quot;&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- &quot;org.onap.policy.clamp.acm.AutomationComposition&quot;: {&#xd;
- &quot;version&quot;: &quot;1.0.1&quot;,&#xd;
- &quot;derived_from&quot;: &quot;tosca.nodetypes.Root&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;provider&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;required&quot;: false,&#xd;
- &quot;metadata&quot;: {&#xd;
- &quot;common&quot;: true&#xd;
- },&#xd;
- &quot;description&quot;: &quot;Specifies the organization that provides the automation composition element&quot;&#xd;
- },&#xd;
- &quot;elements&quot;: {&#xd;
- &quot;type&quot;: &quot;list&quot;,&#xd;
- &quot;required&quot;: true,&#xd;
- &quot;metadata&quot;: {&#xd;
- &quot;common&quot;: true&#xd;
- },&#xd;
- &quot;entry_schema&quot;: {&#xd;
- &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;&#xd;
- },&#xd;
- &quot;description&quot;: &quot;Specifies a list of automation composition element definitions that make up this automation composition definition&quot;&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- &quot;org.onap.policy.clamp.acm.PolicyAutomationCompositionElement&quot;: {&#xd;
- &quot;version&quot;: &quot;1.0.0&quot;,&#xd;
- &quot;derived_from&quot;: &quot;org.onap.policy.clamp.acm.AutomationCompositionElement&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;policy_type_id&quot;: {&#xd;
- &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
- &quot;required&quot;: true&#xd;
- },&#xd;
- &quot;policy_id&quot;: {&#xd;
- &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
- &quot;required&quot;: false&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- &quot;org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement&quot;: {&#xd;
- &quot;version&quot;: &quot;1.0.0&quot;,&#xd;
- &quot;derived_from&quot;: &quot;org.onap.policy.clamp.acm.AutomationCompositionElement&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;chart&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;required&quot;: true&#xd;
- },&#xd;
- &quot;configs&quot;: {&#xd;
- &quot;type&quot;: &quot;list&quot;,&#xd;
- &quot;required&quot;: false&#xd;
- },&#xd;
- &quot;requirements&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;required&quot;: false&#xd;
- },&#xd;
- &quot;templates&quot;: {&#xd;
- &quot;type&quot;: &quot;list&quot;,&#xd;
- &quot;required&quot;: false,&#xd;
- &quot;entry_schema&quot;: null&#xd;
- },&#xd;
- &quot;values&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;required&quot;: true&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- &quot;org.onap.policy.clamp.acm.HttpAutomationCompositionElement&quot;: {&#xd;
- &quot;version&quot;: &quot;1.0.0&quot;,&#xd;
- &quot;derived_from&quot;: &quot;org.onap.policy.clamp.acm.AutomationCompositionElement&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;baseUrl&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;,&#xd;
- &quot;required&quot;: true,&#xd;
- &quot;description&quot;: &quot;The base URL to be prepended to each path, identifies the host for the REST endpoints.&quot;&#xd;
- },&#xd;
- &quot;httpHeaders&quot;: {&#xd;
- &quot;type&quot;: &quot;map&quot;,&#xd;
- &quot;required&quot;: false,&#xd;
- &quot;entry_schema&quot;: {&#xd;
- &quot;type&quot;: &quot;string&quot;&#xd;
- },&#xd;
- &quot;description&quot;: &quot;HTTP headers to send on REST requests&quot;&#xd;
- },&#xd;
- &quot;configurationEntities&quot;: {&#xd;
- &quot;type&quot;: &quot;map&quot;,&#xd;
- &quot;required&quot;: true,&#xd;
- &quot;entry_schema&quot;: {&#xd;
- &quot;type&quot;: &quot;org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity&quot;,&#xd;
- &quot;type_version&quot;: &quot;1.0.0&quot;&#xd;
- },&#xd;
- &quot;description&quot;: &quot;The connfiguration entities the Automation Composition Element is managing and their associated REST requests&quot;&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- &quot;topology_template&quot;: {&#xd;
- &quot;inputs&quot;: {&#xd;
- &quot;acm_element_policy&quot;: {&#xd;
- &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
- &quot;description&quot;: &quot;The ID of the operational policy to use&quot;,&#xd;
- &quot;default&quot;: {&#xd;
- &quot;name&quot;: &quot;onap.policies.native.apex.ac.element&quot;,&#xd;
- &quot;version&quot;: &quot;1.0.0&quot;&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- &quot;node_templates&quot;: {&#xd;
- &quot;org.onap.policy.clamp.acm.PolicyParticipant&quot;: {&#xd;
- &quot;version&quot;: &quot;2.3.1&quot;,&#xd;
- &quot;type&quot;: &quot;org.onap.policy.clamp.acm.Participant&quot;,&#xd;
- &quot;type_version&quot;: &quot;1.0.1&quot;,&#xd;
- &quot;description&quot;: &quot;Participant for Policy microservices&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;provider&quot;: &quot;ONAP&quot;&#xd;
- }&#xd;
- },&#xd;
- &quot;onap.policy.clamp.ac.element.Policy_AutomationCompositionElement&quot;: {&#xd;
- &quot;version&quot;: &quot;1.2.3&quot;,&#xd;
- &quot;type&quot;: &quot;org.onap.policy.clamp.acm.PolicyAutomationCompositionElement&quot;,&#xd;
- &quot;type_version&quot;: &quot;1.0.0&quot;,&#xd;
- &quot;description&quot;: &quot;Automation composition element for the operational policy for Performance Management Subscription Handling&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;provider&quot;: &quot;Ericsson&quot;,&#xd;
- &quot;startPhase&quot;: 0&#xd;
- }&#xd;
- },&#xd;
- &quot;org.onap.k8s.acm.K8SAutomationCompositionParticipant&quot;: {&#xd;
- &quot;version&quot;: &quot;2.3.4&quot;,&#xd;
- &quot;type&quot;: &quot;org.onap.policy.clamp.acm.Participant&quot;,&#xd;
- &quot;type_version&quot;: &quot;1.0.1&quot;,&#xd;
- &quot;description&quot;: &quot;Participant for K8S&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;provider&quot;: &quot;ONAP&quot;&#xd;
- }&#xd;
- },&#xd;
- &quot;onap.policy.clamp.ac.element.K8S_StarterAutomationCompositionElement&quot;: {&#xd;
- &quot;version&quot;: &quot;1.2.3&quot;,&#xd;
- &quot;type&quot;: &quot;org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement&quot;,&#xd;
- &quot;type_version&quot;: &quot;1.0.0&quot;,&#xd;
- &quot;description&quot;: &quot;Automation composition element for the K8S microservice for AC Element Starter&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;provider&quot;: &quot;ONAP&quot;,&#xd;
- &quot;startPhase&quot;: 0,&#xd;
- &quot;uninitializedToPassiveTimeout&quot;: 300,&#xd;
- &quot;podStatusCheckInterval&quot;: 30&#xd;
- }&#xd;
- },&#xd;
- &quot;onap.policy.clamp.ac.element.K8S_BridgeAutomationCompositionElement&quot;: {&#xd;
- &quot;version&quot;: &quot;1.2.3&quot;,&#xd;
- &quot;type&quot;: &quot;org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement&quot;,&#xd;
- &quot;type_version&quot;: &quot;1.0.0&quot;,&#xd;
- &quot;description&quot;: &quot;Automation composition element for the K8S microservice for AC Element Bridge&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;provider&quot;: &quot;ONAP&quot;,&#xd;
- &quot;startPhase&quot;: 0,&#xd;
- &quot;uninitializedToPassiveTimeout&quot;: 300,&#xd;
- &quot;podStatusCheckInterval&quot;: 30&#xd;
- }&#xd;
- },&#xd;
- &quot;onap.policy.clamp.ac.element.K8S_SinkAutomationCompositionElement&quot;: {&#xd;
- &quot;version&quot;: &quot;1.2.3&quot;,&#xd;
- &quot;type&quot;: &quot;org.onap.policy.clamp.acm.K8SMicroserviceAutomationCompositionElement&quot;,&#xd;
- &quot;type_version&quot;: &quot;1.0.0&quot;,&#xd;
- &quot;description&quot;: &quot;Automation composition element for the K8S microservice for AC Element Sink&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;provider&quot;: &quot;ONAP&quot;,&#xd;
- &quot;startPhase&quot;: 0,&#xd;
- &quot;uninitializedToPassiveTimeout&quot;: 300,&#xd;
- &quot;podStatusCheckInterval&quot;: 30&#xd;
- }&#xd;
- },&#xd;
- &quot;org.onap.policy.clamp.acm.HttpParticipant&quot;: {&#xd;
- &quot;version&quot;: &quot;2.3.4&quot;,&#xd;
- &quot;type&quot;: &quot;org.onap.policy.clamp.acm.Participant&quot;,&#xd;
- &quot;type_version&quot;: &quot;1.0.1&quot;,&#xd;
- &quot;description&quot;: &quot;Participant for Http requests&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;provider&quot;: &quot;ONAP&quot;&#xd;
- }&#xd;
- },&#xd;
- &quot;onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement&quot;: {&#xd;
- &quot;version&quot;: &quot;1.2.3&quot;,&#xd;
- &quot;type&quot;: &quot;org.onap.policy.clamp.acm.HttpAutomationCompositionElement&quot;,&#xd;
- &quot;type_version&quot;: &quot;1.0.0&quot;,&#xd;
- &quot;description&quot;: &quot;Automation composition element for the http requests of AC Element Starter microservice&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;provider&quot;: &quot;ONAP&quot;,&#xd;
- &quot;uninitializedToPassiveTimeout&quot;: 300,&#xd;
- &quot;startPhase&quot;: 1&#xd;
- }&#xd;
- },&#xd;
- &quot;onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement&quot;: {&#xd;
- &quot;version&quot;: &quot;1.2.3&quot;,&#xd;
- &quot;type&quot;: &quot;org.onap.policy.clamp.acm.HttpAutomationCompositionElement&quot;,&#xd;
- &quot;type_version&quot;: &quot;1.0.0&quot;,&#xd;
- &quot;description&quot;: &quot;Automation composition element for the http requests of AC Element Bridge microservice&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;provider&quot;: &quot;ONAP&quot;,&#xd;
- &quot;uninitializedToPassiveTimeout&quot;: 300,&#xd;
- &quot;startPhase&quot;: 1&#xd;
- }&#xd;
- },&#xd;
- &quot;onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement&quot;: {&#xd;
- &quot;version&quot;: &quot;1.2.3&quot;,&#xd;
- &quot;type&quot;: &quot;org.onap.policy.clamp.acm.HttpAutomationCompositionElement&quot;,&#xd;
- &quot;type_version&quot;: &quot;1.0.0&quot;,&#xd;
- &quot;description&quot;: &quot;Automation composition element for the http requests of AC Element Sink microservice&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;provider&quot;: &quot;ONAP&quot;,&#xd;
- &quot;uninitializedToPassiveTimeout&quot;: 300,&#xd;
- &quot;startPhase&quot;: 1&#xd;
- }&#xd;
- },&#xd;
- &quot;onap.policy.clamp.ac.element.AutomationCompositionDefinition&quot;: {&#xd;
- &quot;version&quot;: &quot;1.2.3&quot;,&#xd;
- &quot;type&quot;: &quot;org.onap.policy.clamp.acm.AutomationComposition&quot;,&#xd;
- &quot;type_version&quot;: &quot;1.0.1&quot;,&#xd;
- &quot;description&quot;: &quot;Automation composition for Demo&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;provider&quot;: &quot;ONAP&quot;,&#xd;
- &quot;elements&quot;: [&#xd;
- {&#xd;
- &quot;name&quot;: &quot;onap.policy.clamp.ac.element.Policy_AutomationCompositionElement&quot;,&#xd;
- &quot;version&quot;: &quot;1.2.3&quot;&#xd;
- },&#xd;
- {&#xd;
- &quot;name&quot;: &quot;onap.policy.clamp.ac.element.K8S_StarterAutomationCompositionElement&quot;,&#xd;
- &quot;version&quot;: &quot;1.2.3&quot;&#xd;
- },&#xd;
- {&#xd;
- &quot;name&quot;: &quot;onap.policy.clamp.ac.element.K8S_BridgeAutomationCompositionElement&quot;,&#xd;
- &quot;version&quot;: &quot;1.2.3&quot;&#xd;
- },&#xd;
- {&#xd;
- &quot;name&quot;: &quot;onap.policy.clamp.ac.element.K8S_SinkAutomationCompositionElement&quot;,&#xd;
- &quot;version&quot;: &quot;1.2.3&quot;&#xd;
- },&#xd;
- {&#xd;
- &quot;name&quot;: &quot;onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement&quot;,&#xd;
- &quot;version&quot;: &quot;1.2.3&quot;&#xd;
- },&#xd;
- {&#xd;
- &quot;name&quot;: &quot;onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement&quot;,&#xd;
- &quot;version&quot;: &quot;1.2.3&quot;&#xd;
- },&#xd;
- {&#xd;
- &quot;name&quot;: &quot;onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement&quot;,&#xd;
- &quot;version&quot;: &quot;1.2.3&quot;&#xd;
- }&#xd;
- ]&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- &quot;policies&quot;: [&#xd;
- {&#xd;
- &quot;onap.policies.native.apex.ac.element&quot;: {&#xd;
- &quot;type&quot;: &quot;onap.policies.native.Apex&quot;,&#xd;
- &quot;type_version&quot;: &quot;1.0.0&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;engineServiceParameters&quot;: {&#xd;
- &quot;name&quot;: &quot;MyApexEngine&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;id&quot;: 45,&#xd;
- &quot;instanceCount&quot;: 2,&#xd;
- &quot;deploymentPort&quot;: 12561,&#xd;
- &quot;engineParameters&quot;: {&#xd;
- &quot;executorParameters&quot;: {&#xd;
- &quot;JAVASCRIPT&quot;: {&#xd;
- &quot;parameterClassName&quot;: &quot;org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters&quot;&#xd;
- }&#xd;
- },&#xd;
- &quot;contextParameters&quot;: {&#xd;
- &quot;parameterClassName&quot;: &quot;org.onap.policy.apex.context.parameters.ContextParameters&quot;,&#xd;
- &quot;schemaParameters&quot;: {&#xd;
- &quot;Json&quot;: {&#xd;
- &quot;parameterClassName&quot;: &quot;org.onap.policy.apex.plugins.context.schema.json.JsonSchemaHelperParameters&quot;&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- &quot;policy_type_impl&quot;: {&#xd;
- &quot;policies&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXacElementPolicy_Policies&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;policyMap&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;policyKey&quot;: {&#xd;
- &quot;name&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;template&quot;: &quot;Freestyle&quot;,&#xd;
- &quot;state&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;DecideForwardingState&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;stateKey&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
- &quot;localName&quot;: &quot;DecideForwardingState&quot;&#xd;
- },&#xd;
- &quot;trigger&quot;: {&#xd;
- &quot;name&quot;: &quot;AcElementEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;stateOutputs&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;CreateForwardPayload&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;DecideForwardingState&quot;,&#xd;
- &quot;localName&quot;: &quot;CreateForwardPayload&quot;&#xd;
- },&#xd;
- &quot;outgoingEvent&quot;: {&#xd;
- &quot;name&quot;: &quot;DmaapResponseStatusEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;outgoingEventReference&quot;: [&#xd;
- {&#xd;
- &quot;name&quot;: &quot;DmaapResponseStatusEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- }&#xd;
- ],&#xd;
- &quot;nextState&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;NULL&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.0&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
- &quot;localName&quot;: &quot;NULL&quot;&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- },&#xd;
- &quot;contextAlbumReference&quot;: [],&#xd;
- &quot;taskSelectionLogic&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;NULL&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.0&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
- &quot;localName&quot;: &quot;NULL&quot;&#xd;
- },&#xd;
- &quot;logicFlavour&quot;: &quot;UNDEFINED&quot;,&#xd;
- &quot;logic&quot;: &quot;&quot;&#xd;
- },&#xd;
- &quot;stateFinalizerLogicMap&quot;: {&#xd;
- &quot;entry&quot;: []&#xd;
- },&#xd;
- &quot;defaultTask&quot;: {&#xd;
- &quot;name&quot;: &quot;ForwardPayloadTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;taskReferences&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;ForwardPayloadTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;DecideForwardingState&quot;,&#xd;
- &quot;localName&quot;: &quot;ReceiveEventPolicy&quot;&#xd;
- },&#xd;
- &quot;outputType&quot;: &quot;DIRECT&quot;,&#xd;
- &quot;output&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;DecideForwardingState&quot;,&#xd;
- &quot;localName&quot;: &quot;CreateForwardPayload&quot;&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- },&#xd;
- &quot;firstState&quot;: &quot;DecideForwardingState&quot;&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- }&#xd;
- },&#xd;
- &quot;tasks&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXacElementPolicy_Tasks&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;taskMap&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;ForwardPayloadTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;ForwardPayloadTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;inputEvent&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;AcElementEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;nameSpace&quot;: &quot;org.onap.policy.apex.ac.element&quot;,&#xd;
- &quot;source&quot;: &quot;Dmaap&quot;,&#xd;
- &quot;target&quot;: &quot;APEX&quot;,&#xd;
- &quot;parameter&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;DmaapResponseEvent&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;AcElementEvent&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
- &quot;localName&quot;: &quot;DmaapResponseEvent&quot;&#xd;
- },&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;ACEventType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- },&#xd;
- &quot;toscaPolicyState&quot;: &quot;ENTRY&quot;&#xd;
- },&#xd;
- &quot;outputEvents&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;DmaapResponseStatusEvent&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;DmaapResponseStatusEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;nameSpace&quot;: &quot;org.onap.policy.apex.ac.element&quot;,&#xd;
- &quot;source&quot;: &quot;APEX&quot;,&#xd;
- &quot;target&quot;: &quot;Dmaap&quot;,&#xd;
- &quot;parameter&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;DmaapResponseStatusEvent&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;DmaapResponseStatusEvent&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
- &quot;localName&quot;: &quot;DmaapResponseStatusEvent&quot;&#xd;
- },&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;ACEventType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- },&#xd;
- &quot;toscaPolicyState&quot;: &quot;&quot;&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- },&#xd;
- &quot;taskParameters&quot;: {&#xd;
- &quot;entry&quot;: []&#xd;
- },&#xd;
- &quot;contextAlbumReference&quot;: [&#xd;
- {&#xd;
- &quot;name&quot;: &quot;ACElementAlbum&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- }&#xd;
- ],&#xd;
- &quot;taskLogic&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;ForwardPayloadTask&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
- &quot;localName&quot;: &quot;TaskLogic&quot;&#xd;
- },&#xd;
- &quot;logicFlavour&quot;: &quot;JAVASCRIPT&quot;,&#xd;
- &quot;logic&quot;: &quot;/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2022 Nordix. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the &apos;License&apos;);\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 &apos;AS IS&apos; 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);\nexecutor.logger.info(executor.inFields);\n\nvar msgResponse = executor.inFields.get(&apos;DmaapResponseEvent&apos;);\nexecutor.logger.info(&apos;Task in progress with mesages: &apos; + msgResponse);\n\nvar elementId = msgResponse.get(&apos;elementId&apos;).get(&apos;name&apos;);\n\nif (msgResponse.get(&apos;messageType&apos;) == &apos;STATUS&apos; &amp;&amp;\n (elementId == &apos;onap.policy.clamp.ac.startertobridge&apos;\n || elementId == &apos;onap.policy.clamp.ac.bridgetosink&apos;)) {\n\n var receiverId = &apos;&apos;;\n if (elementId == &apos;onap.policy.clamp.ac.startertobridge&apos;) {\n receiverId = &apos;onap.policy.clamp.ac.bridge&apos;;\n } else {\n receiverId = &apos;onap.policy.clamp.ac.sink&apos;;\n }\n\n var elementIdResponse = new java.util.HashMap();\n elementIdResponse.put(&apos;name&apos;, receiverId);\n elementIdResponse.put(&apos;version&apos;, msgResponse.get(&apos;elementId&apos;).get(&apos;version&apos;));\n\n var dmaapResponse = new java.util.HashMap();\n dmaapResponse.put(&apos;elementId&apos;, elementIdResponse);\n\n var message = msgResponse.get(&apos;message&apos;) + &apos; trace added from policy&apos;;\n dmaapResponse.put(&apos;message&apos;, message);\n dmaapResponse.put(&apos;messageType&apos;, &apos;STATUS&apos;);\n dmaapResponse.put(&apos;messageId&apos;, msgResponse.get(&apos;messageId&apos;));\n dmaapResponse.put(&apos;timestamp&apos;, msgResponse.get(&apos;timestamp&apos;));\n\n executor.logger.info(&apos;Sending forwarding Event to Ac element: &apos; + dmaapResponse);\n\n executor.outFields.put(&apos;DmaapResponseStatusEvent&apos;, dmaapResponse);\n}\n\ntrue;&quot;&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- }&#xd;
- },&#xd;
- &quot;events&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXacElementPolicy_Events&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;eventMap&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;AcElementEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;AcElementEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;nameSpace&quot;: &quot;org.onap.policy.apex.ac.element&quot;,&#xd;
- &quot;source&quot;: &quot;Dmaap&quot;,&#xd;
- &quot;target&quot;: &quot;APEX&quot;,&#xd;
- &quot;parameter&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;DmaapResponseEvent&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;AcElementEvent&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
- &quot;localName&quot;: &quot;DmaapResponseEvent&quot;&#xd;
- },&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;ACEventType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- },&#xd;
- &quot;toscaPolicyState&quot;: &quot;ENTRY&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;DmaapResponseStatusEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;DmaapResponseStatusEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;nameSpace&quot;: &quot;org.onap.policy.apex.ac.element&quot;,&#xd;
- &quot;source&quot;: &quot;APEX&quot;,&#xd;
- &quot;target&quot;: &quot;Dmaap&quot;,&#xd;
- &quot;parameter&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;DmaapResponseStatusEvent&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;DmaapResponseStatusEvent&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
- &quot;localName&quot;: &quot;DmaapResponseStatusEvent&quot;&#xd;
- },&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;ACEventType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- },&#xd;
- &quot;toscaPolicyState&quot;: &quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;LogEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;LogEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;nameSpace&quot;: &quot;org.onap.policy.apex.ac.element&quot;,&#xd;
- &quot;source&quot;: &quot;APEX&quot;,&#xd;
- &quot;target&quot;: &quot;file&quot;,&#xd;
- &quot;parameter&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: &quot;final_status&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;LogEvent&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
- &quot;localName&quot;: &quot;final_status&quot;&#xd;
- },&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: &quot;message&quot;,&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;parentKeyName&quot;: &quot;LogEvent&quot;,&#xd;
- &quot;parentKeyVersion&quot;: &quot;0.0.1&quot;,&#xd;
- &quot;parentLocalName&quot;: &quot;NULL&quot;,&#xd;
- &quot;localName&quot;: &quot;message&quot;&#xd;
- },&#xd;
- &quot;fieldSchemaKey&quot;: {&#xd;
- &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;optional&quot;: false&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- },&#xd;
- &quot;toscaPolicyState&quot;: &quot;&quot;&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- }&#xd;
- },&#xd;
- &quot;albums&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXacElementPolicy_Albums&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;albums&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;ACElementAlbum&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;ACElementAlbum&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;scope&quot;: &quot;policy&quot;,&#xd;
- &quot;isWritable&quot;: true,&#xd;
- &quot;itemSchema&quot;: {&#xd;
- &quot;name&quot;: &quot;ACEventType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- }&#xd;
- },&#xd;
- &quot;schemas&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXacElementPolicy_Schemas&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;schemas&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;ACEventType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;ACEventType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;schemaFlavour&quot;: &quot;Json&quot;,&#xd;
- &quot;schemaDefinition&quot;: &quot;{\n \&quot;$schema\&quot;: \&quot;http://json-schema.org/draft-04/schema#\&quot;,\n \&quot;type\&quot;: \&quot;object\&quot;,\n \&quot;properties\&quot;: {\n \&quot;elementId\&quot;: {\n \&quot;type\&quot;: \&quot;object\&quot;,\n \&quot;properties\&quot;: {\n \&quot;name\&quot;: {\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n \&quot;version\&quot;: {\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n },\n \&quot;required\&quot;: [\n \&quot;name\&quot;,\n \&quot;version\&quot;\n ]\n },\n \&quot;message\&quot;: {\n \&quot;type\&quot;: \&quot;string\&quot;\n },\n \&quot;messageType\&quot;: {\n \&quot;type\&quot;: \&quot;string\&quot;\n }\n },\n \&quot;required\&quot;: [\n \&quot;elementId\&quot;,\n \&quot;message\&quot;,\n \&quot;messageType\&quot;\n ]\n}&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;SimpleIntType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;SimpleIntType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;schemaFlavour&quot;: &quot;Java&quot;,&#xd;
- &quot;schemaDefinition&quot;: &quot;java.lang.Integer&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;schemaFlavour&quot;: &quot;Java&quot;,&#xd;
- &quot;schemaDefinition&quot;: &quot;java.lang.String&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;schemaFlavour&quot;: &quot;Java&quot;,&#xd;
- &quot;schemaDefinition&quot;: &quot;java.util.UUID&quot;&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- }&#xd;
- },&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXacElementPolicy&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;keyInformation&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXacElementPolicy_KeyInfo&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;keyInfoMap&quot;: {&#xd;
- &quot;entry&quot;: [&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;ACElementAlbum&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;ACElementAlbum&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;7cddfab8-6d3f-3f7f-8ac3-e2eb5979c900&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;ACElementAlbum:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;ACEventType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;ACEventType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;dab78794-b666-3929-a75b-70d634b04fe5&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;ACEventType:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXacElementPolicy&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXacElementPolicy&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;da478611-7d77-3c46-b4be-be968769ba4e&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXacElementPolicy:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXacElementPolicy_Albums&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXacElementPolicy_Albums&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;fa8dc15e-8c8d-3de3-a0f8-585b76511175&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXacElementPolicy_Albums:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXacElementPolicy_Events&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXacElementPolicy_Events&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;8508cd65-8dd2-342d-a5c6-1570810dbe2b&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXacElementPolicy_Events:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXacElementPolicy_KeyInfo&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXacElementPolicy_KeyInfo&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;09e6927d-c5ac-3779-919f-9333994eed22&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXacElementPolicy_KeyInfo:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXacElementPolicy_Policies&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXacElementPolicy_Policies&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;cade3c9a-1600-3642-a6f4-315612187f46&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXacElementPolicy_Policies:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXacElementPolicy_Schemas&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXacElementPolicy_Schemas&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;5bb4a8e9-35fa-37db-9a49-48ef036a7ba9&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXacElementPolicy_Schemas:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXacElementPolicy_Tasks&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;APEXacElementPolicy_Tasks&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;2527eeec-0d1f-3094-ad3f-212622b12836&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;APEXacElementPolicy_Tasks:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;AcElementEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;AcElementEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;32c013e2-2740-3986-a626-cbdf665b63e9&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;AcElementEvent:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;DmaapResponseStatusEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;DmaapResponseStatusEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;2715cb6c-2778-3461-8b69-871e79f95935&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;DmaapResponseStatusEvent:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;ForwardPayloadTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;ForwardPayloadTask&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;51defa03-1ecf-3314-bf34-2a652bce57fa&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;ForwardPayloadTask:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;LogEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;LogEvent&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;c540f048-96af-35e3-a36e-e9c29377cba7&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;LogEvent:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;ReceiveEventPolicy&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;568b7345-9de1-36d3-b6a3-9b857e6809a1&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;ReceiveEventPolicy:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;SimpleIntType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;SimpleIntType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;153791fd-ae0a-36a7-88a5-309a7936415d&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;SimpleIntType:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;SimpleStringType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;8a4957cf-9493-3a76-8c22-a208e23259af&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;SimpleStringType:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- },&#xd;
- {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;value&quot;: {&#xd;
- &quot;key&quot;: {&#xd;
- &quot;name&quot;: &quot;UUIDType&quot;,&#xd;
- &quot;version&quot;: &quot;0.0.1&quot;&#xd;
- },&#xd;
- &quot;UUID&quot;: &quot;6a8cc68e-dfc8-3403-9c6d-071c886b319c&quot;,&#xd;
- &quot;description&quot;: &quot;Generated description for concept referred to by key \&quot;UUIDType:0.0.1\&quot;&quot;&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- &quot;eventInputParameters&quot;: {&#xd;
- &quot;DmaapConsumer&quot;: {&#xd;
- &quot;carrierTechnologyParameters&quot;: {&#xd;
- &quot;carrierTechnology&quot;: &quot;RESTCLIENT&quot;,&#xd;
- &quot;parameterClassName&quot;: &quot;org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters&quot;,&#xd;
- &quot;parameters&quot;: {&#xd;
- &quot;url&quot;: &quot;http://message-router:3904/events/AC_ELEMENT_MSG/APEX/1?timeout=30000&quot;&#xd;
- }&#xd;
- },&#xd;
- &quot;eventProtocolParameters&quot;: {&#xd;
- &quot;eventProtocol&quot;: &quot;JSON&quot;,&#xd;
- &quot;parameters&quot;: {&#xd;
- &quot;pojoField&quot;: &quot;DmaapResponseEvent&quot;&#xd;
- }&#xd;
- },&#xd;
- &quot;eventName&quot;: &quot;AcElementEvent&quot;,&#xd;
- &quot;eventNameFilter&quot;: &quot;AcElementEvent&quot;&#xd;
- }&#xd;
- },&#xd;
- &quot;eventOutputParameters&quot;: {&#xd;
- &quot;logOutputter&quot;: {&#xd;
- &quot;carrierTechnologyParameters&quot;: {&#xd;
- &quot;carrierTechnology&quot;: &quot;FILE&quot;,&#xd;
- &quot;parameters&quot;: {&#xd;
- &quot;fileName&quot;: &quot;outputevents.log&quot;&#xd;
- }&#xd;
- },&#xd;
- &quot;eventProtocolParameters&quot;: {&#xd;
- &quot;eventProtocol&quot;: &quot;JSON&quot;&#xd;
- }&#xd;
- },&#xd;
- &quot;DmaapReplyProducer&quot;: {&#xd;
- &quot;carrierTechnologyParameters&quot;: {&#xd;
- &quot;carrierTechnology&quot;: &quot;RESTCLIENT&quot;,&#xd;
- &quot;parameterClassName&quot;: &quot;org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters&quot;,&#xd;
- &quot;parameters&quot;: {&#xd;
- &quot;url&quot;: &quot;http://message-router:3904/events/POLICY_UPDATE_MSG&quot;&#xd;
- }&#xd;
- },&#xd;
- &quot;eventProtocolParameters&quot;: {&#xd;
- &quot;eventProtocol&quot;: &quot;JSON&quot;,&#xd;
- &quot;parameters&quot;: {&#xd;
- &quot;pojoField&quot;: &quot;DmaapResponseStatusEvent&quot;&#xd;
- }&#xd;
- },&#xd;
- &quot;eventNameFilter&quot;: &quot;(LogEvent|DmaapResponseStatusEvent)&quot;&#xd;
- }&#xd;
- }&#xd;
- },&#xd;
- &quot;name&quot;: &quot;onap.policies.native.apex.ac.element&quot;,&#xd;
- &quot;version&quot;: &quot;1.0.0&quot;&#xd;
- }&#xd;
- }&#xd;
- ]&#xd;
- }&#xd;
-}</stringProp>
- <stringProp name="Argument.metadata">=</stringProp>
- </elementProp>
- </collectionProp>
- </elementProp>
- <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
- <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">http</stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions</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>
- <boolProp name="HTTPSampler.BROWSER_COMPATIBLE_MULTIPART">false</boolProp>
- <boolProp name="HTTPSampler.image_parser">false</boolProp>
- <boolProp name="HTTPSampler.concurrentDwn">false</boolProp>
- <stringProp name="HTTPSampler.concurrentPool">6</stringProp>
- <boolProp name="HTTPSampler.md5">false</boolProp>
- <intProp name="HTTPSampler.ipSourceType">0</intProp>
- </HTTPSamplerProxy>
- <hashTree>
- <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
- <collectionProp name="Asserion.test_strings">
- <stringProp name="49587">201</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/>
- <JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="JSON Extractor" enabled="true">
- <stringProp name="JSONPostProcessor.referenceNames">compositionId</stringProp>
- <stringProp name="JSONPostProcessor.jsonPathExprs">$.compositionId</stringProp>
- <stringProp name="JSONPostProcessor.match_numbers"></stringProp>
- <stringProp name="Scope.variable">compositionId</stringProp>
- </JSONPostProcessor>
- <hashTree/>
- <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
- <stringProp name="filename"></stringProp>
- <stringProp name="parameters"></stringProp>
- <boolProp name="resetInterpreter">false</boolProp>
- <stringProp name="script">props.put(&quot;compositionId&quot;, vars.get(&quot;compositionId&quot;));</stringProp>
- </BeanShellPostProcessor>
- <hashTree/>
- </hashTree>
<HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Register participants" enabled="true">
<boolProp name="HTTPSampler.postBodyRaw">false</boolProp>
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
@@ -1664,60 +134,354 @@
</ResponseAssertion>
<hashTree/>
</hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Prime AC definitions" 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">{&#xd;
- &quot;primeOrder&quot;: &quot;PRIME&quot;&#xd;
-}</stringProp>
- <stringProp name="Argument.metadata">=</stringProp>
- </elementProp>
- </collectionProp>
- </elementProp>
- <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
- <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">http</stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}</stringProp>
- <stringProp name="HTTPSampler.method">PUT</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>
- <boolProp name="HTTPSampler.BROWSER_COMPATIBLE_MULTIPART">false</boolProp>
- <boolProp name="HTTPSampler.image_parser">false</boolProp>
- <boolProp name="HTTPSampler.concurrentDwn">false</boolProp>
- <stringProp name="HTTPSampler.concurrentPool">6</stringProp>
- <boolProp name="HTTPSampler.md5">false</boolProp>
- <intProp name="HTTPSampler.ipSourceType">0</intProp>
- </HTTPSamplerProxy>
+ <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
+ <boolProp name="resetInterpreter">false</boolProp>
+ <stringProp name="parameters"></stringProp>
+ <stringProp name="filename"></stringProp>
+ <stringProp name="script">int n = 10;
+for (int i = 0; i &lt; n; i++) {
+ props.put(&quot;baseCount&quot; + i, &quot;1&quot;);
+ log.info(&quot;baseCount&quot; + i);
+}
+</stringProp>
+ </BeanShellPreProcessor>
+ <hashTree/>
+ </hashTree>
+ <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="AutomationComposition Test Flow" enabled="true">
+ <stringProp name="ThreadGroup.on_sample_error">stoptest</stringProp>
+ <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+ <stringProp name="LoopController.loops">1</stringProp>
+ <boolProp name="LoopController.continue_forever">false</boolProp>
+ </elementProp>
+ <stringProp name="ThreadGroup.num_threads">${USERS}</stringProp>
+ <stringProp name="ThreadGroup.ramp_time">1</stringProp>
+ <boolProp name="ThreadGroup.scheduler">false</boolProp>
+ <stringProp name="ThreadGroup.duration">50000</stringProp>
+ <stringProp name="ThreadGroup.delay"></stringProp>
+ <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
+ <boolProp name="ThreadGroup.delayedStart">false</boolProp>
+ </ThreadGroup>
+ <hashTree>
+ <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Creation and Deploy" enabled="true">
+ <stringProp name="LoopController.loops">${INSTANCES}</stringProp>
+ </LoopController>
<hashTree>
- <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
- <collectionProp name="Asserion.test_strings">
- <stringProp name="49588">202</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>
- <stringProp name="Scope.variable"></stringProp>
- </ResponseAssertion>
+ <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
+ <stringProp name="filename"></stringProp>
+ <stringProp name="parameters"></stringProp>
+ <boolProp name="resetInterpreter">false</boolProp>
+ <stringProp name="script">vars.put(&quot;loopCondition&quot;, &quot;true&quot;);
+vars.put(&quot;primeState&quot;, &quot;&quot;);
+vars.put(&quot;deployState&quot;, &quot;&quot;);
+String elementId = UUID.randomUUID().toString();
+vars.put(&quot;elementId&quot;, elementId);
+</stringProp>
+ </BeanShellPreProcessor>
<hashTree/>
- </hashTree>
- <WhileController guiclass="WhileControllerGui" testclass="WhileController" testname="While Controller" enabled="true">
- <stringProp name="WhileController.condition">${__javaScript(&quot;${primeState}&quot; != &quot;PRIMED&quot;)}</stringProp>
- </WhileController>
- <hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Verify Priming" enabled="true">
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Commission AutomationComposition definition" 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">{&#xd;
- &quot;primeOrder&quot;: &quot;PRIME&quot;&#xd;
+ &quot;tosca_definitions_version&quot;: &quot;tosca_simple_yaml_1_3&quot;,&#xd;
+ &quot;name&quot;: &quot;${__RandomString(10,abcdefghilmnopqrtsvz)}&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.${__threadNum}&quot;,&#xd;
+ &quot;data_types&quot;: {&#xd;
+ &quot;onap.datatypes.ToscaConceptIdentifier&quot;: {&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;name&quot;: {&#xd;
+ &quot;name&quot;: &quot;name&quot;,&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;version&quot;: {&#xd;
+ &quot;name&quot;: &quot;version&quot;,&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;&#xd;
+ },&#xd;
+ &quot;org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest&quot;: {&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;restRequestId&quot;: {&#xd;
+ &quot;name&quot;: &quot;restRequestId&quot;,&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
+ &quot;description&quot;: &quot;The name and version of a REST request to be sent to a REST endpoint&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;httpMethod&quot;: {&#xd;
+ &quot;name&quot;: &quot;httpMethod&quot;,&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;The REST method to use&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;constraints&quot;: [&#xd;
+ {&#xd;
+ &quot;valid_values&quot;: [&#xd;
+ &quot;POST&quot;,&#xd;
+ &quot;PUT&quot;,&#xd;
+ &quot;GET&quot;,&#xd;
+ &quot;DELETE&quot;&#xd;
+ ]&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;path&quot;: {&#xd;
+ &quot;name&quot;: &quot;path&quot;,&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;The path of the REST request relative to the base URL&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;body&quot;: {&#xd;
+ &quot;name&quot;: &quot;body&quot;,&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;The body of the REST request for PUT and POST requests&quot;,&#xd;
+ &quot;required&quot;: false&#xd;
+ },&#xd;
+ &quot;expectedResponse&quot;: {&#xd;
+ &quot;name&quot;: &quot;expectedResponse&quot;,&#xd;
+ &quot;type&quot;: &quot;integer&quot;,&#xd;
+ &quot;description&quot;: &quot;THe expected HTTP status code for the REST request&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;&#xd;
+ },&#xd;
+ &quot;org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity&quot;: {&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;configurationEntityId&quot;: {&#xd;
+ &quot;name&quot;: &quot;configurationEntityId&quot;,&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;,&#xd;
+ &quot;description&quot;: &quot;The name and version of a Configuration Entity to be handled by the HTTP Automation Composition Element&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;restSequence&quot;: {&#xd;
+ &quot;name&quot;: &quot;restSequence&quot;,&#xd;
+ &quot;type&quot;: &quot;list&quot;,&#xd;
+ &quot;description&quot;: &quot;A sequence of REST commands to send to the REST endpoint&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest&quot;,&#xd;
+ &quot;type_version&quot;: &quot;1.0.0&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.datatypes.Root&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;node_types&quot;: {&#xd;
+ &quot;org.onap.policy.clamp.acm.Participant&quot;: {&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;provider&quot;: {&#xd;
+ &quot;name&quot;: &quot;provider&quot;,&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;required&quot;: false&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;org.onap.policy.clamp.acm.Participant&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.1&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.nodetypes.Root&quot;&#xd;
+ },&#xd;
+ &quot;org.onap.policy.clamp.acm.AutomationCompositionElement&quot;: {&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;provider&quot;: {&#xd;
+ &quot;name&quot;: &quot;provider&quot;,&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;Specifies the organization that provides the automation composition element&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;common&quot;: &quot;true&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;startPhase&quot;: {&#xd;
+ &quot;name&quot;: &quot;startPhase&quot;,&#xd;
+ &quot;type&quot;: &quot;integer&quot;,&#xd;
+ &quot;description&quot;: &quot;A value indicating the start phase in which this automation composition element will be started, the first start phase is zero. Automation Composition Elements are started in their start_phase order and stopped in reverse start phase order. Automation Composition Elements with the same start phase are started and stopped simultaneously&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;constraints&quot;: [&#xd;
+ {&#xd;
+ &quot;greater_or_equal&quot;: &quot;0&quot;&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;common&quot;: &quot;true&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;uninitializedToPassiveTimeout&quot;: {&#xd;
+ &quot;name&quot;: &quot;uninitializedToPassiveTimeout&quot;,&#xd;
+ &quot;type&quot;: &quot;integer&quot;,&#xd;
+ &quot;description&quot;: &quot;The maximum time in seconds to wait for a state chage from uninitialized to passive&quot;,&#xd;
+ &quot;default&quot;: 60,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;constraints&quot;: [&#xd;
+ {&#xd;
+ &quot;greater_or_equal&quot;: &quot;0&quot;&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;common&quot;: &quot;true&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;passiveToRunningTimeout&quot;: {&#xd;
+ &quot;name&quot;: &quot;passiveToRunningTimeout&quot;,&#xd;
+ &quot;type&quot;: &quot;integer&quot;,&#xd;
+ &quot;description&quot;: &quot;The maximum time in seconds to wait for a state chage from passive to running&quot;,&#xd;
+ &quot;default&quot;: 60,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;constraints&quot;: [&#xd;
+ {&#xd;
+ &quot;greater_or_equal&quot;: &quot;0&quot;&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;common&quot;: &quot;true&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;runningToPassiveTimeout&quot;: {&#xd;
+ &quot;name&quot;: &quot;runningToPassiveTimeout&quot;,&#xd;
+ &quot;type&quot;: &quot;integer&quot;,&#xd;
+ &quot;description&quot;: &quot;The maximum time in seconds to wait for a state chage from running to passive&quot;,&#xd;
+ &quot;default&quot;: 60,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;constraints&quot;: [&#xd;
+ {&#xd;
+ &quot;greater_or_equal&quot;: &quot;0&quot;&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;common&quot;: &quot;true&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;passiveToUninitializedTimeout&quot;: {&#xd;
+ &quot;name&quot;: &quot;passiveToUninitializedTimeout&quot;,&#xd;
+ &quot;type&quot;: &quot;integer&quot;,&#xd;
+ &quot;description&quot;: &quot;The maximum time in seconds to wait for a state chage from passive to uninitialized&quot;,&#xd;
+ &quot;default&quot;: 60,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;constraints&quot;: [&#xd;
+ {&#xd;
+ &quot;greater_or_equal&quot;: &quot;0&quot;&#xd;
+ }&#xd;
+ ],&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;common&quot;: &quot;true&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;org.onap.policy.clamp.acm.AutomationCompositionElement&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.1&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.nodetypes.Root&quot;&#xd;
+ },&#xd;
+ &quot;org.onap.policy.clamp.acm.AutomationComposition&quot;: {&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;provider&quot;: {&#xd;
+ &quot;name&quot;: &quot;provider&quot;,&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;Specifies the organization that provides the automation composition element&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;common&quot;: &quot;true&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;elements&quot;: {&#xd;
+ &quot;name&quot;: &quot;elements&quot;,&#xd;
+ &quot;type&quot;: &quot;list&quot;,&#xd;
+ &quot;description&quot;: &quot;Specifies a list of automation composition element definitions that make up this automation composition definition&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;onap.datatypes.ToscaConceptIdentifier&quot;&#xd;
+ },&#xd;
+ &quot;metadata&quot;: {&#xd;
+ &quot;common&quot;: &quot;true&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;org.onap.policy.clamp.acm.AutomationComposition&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.1&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;tosca.nodetypes.Root&quot;&#xd;
+ },&#xd;
+ &quot;org.onap.policy.clamp.acm.HttpAutomationCompositionElement&quot;: {&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;baseUrl&quot;: {&#xd;
+ &quot;name&quot;: &quot;baseUrl&quot;,&#xd;
+ &quot;type&quot;: &quot;string&quot;,&#xd;
+ &quot;description&quot;: &quot;The base URL to be prepended to each path, identifies the host for the REST endpoints.&quot;,&#xd;
+ &quot;required&quot;: true&#xd;
+ },&#xd;
+ &quot;httpHeaders&quot;: {&#xd;
+ &quot;name&quot;: &quot;httpHeaders&quot;,&#xd;
+ &quot;type&quot;: &quot;map&quot;,&#xd;
+ &quot;description&quot;: &quot;HTTP headers to send on REST requests&quot;,&#xd;
+ &quot;required&quot;: false,&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;string&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;configurationEntities&quot;: {&#xd;
+ &quot;name&quot;: &quot;configurationEntities&quot;,&#xd;
+ &quot;type&quot;: &quot;map&quot;,&#xd;
+ &quot;description&quot;: &quot;The connfiguration entities the Automation Composition Element is managing and their associated REST requests&quot;,&#xd;
+ &quot;required&quot;: true,&#xd;
+ &quot;entry_schema&quot;: {&#xd;
+ &quot;type&quot;: &quot;org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity&quot;,&#xd;
+ &quot;type_version&quot;: &quot;1.0.0&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;org.onap.policy.clamp.acm.HttpAutomationCompositionElement&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;derived_from&quot;: &quot;org.onap.policy.clamp.acm.AutomationCompositionElement&quot;&#xd;
+ }&#xd;
+ },&#xd;
+ &quot;topology_template&quot;: {&#xd;
+ &quot;node_templates&quot;: {&#xd;
+ &quot;org.onap.policy.clamp.acm.HttpParticipant&quot;: {&#xd;
+ &quot;type&quot;: &quot;org.onap.policy.clamp.acm.Participant&quot;,&#xd;
+ &quot;type_version&quot;: &quot;1.0.1&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;provider&quot;: &quot;ONAP&quot;&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;org.onap.policy.clamp.acm.HttpParticipant&quot;,&#xd;
+ &quot;version&quot;: &quot;2.3.4&quot;,&#xd;
+ &quot;description&quot;: &quot;Participant for Http requests&quot;&#xd;
+ },&#xd;
+ &quot;onap.policy.clamp.ac.element.Http_GenericAutomationCompositionElement&quot;: {&#xd;
+ &quot;type&quot;: &quot;org.onap.policy.clamp.acm.HttpAutomationCompositionElement&quot;,&#xd;
+ &quot;type_version&quot;: &quot;1.0.0&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;provider&quot;: &quot;ONAP&quot;,&#xd;
+ &quot;uninitializedToPassiveTimeout&quot;: 180,&#xd;
+ &quot;startPhase&quot;: 0&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;onap.policy.clamp.ac.element.Http_GenericAutomationCompositionElement&quot;,&#xd;
+ &quot;version&quot;: &quot;1.2.3&quot;,&#xd;
+ &quot;description&quot;: &quot;Automation composition element for the http requests of AC Element Generic microservice&quot;&#xd;
+ },&#xd;
+ &quot;onap.policy.clamp.ac.element.AutomationCompositionDefinition&quot;: {&#xd;
+ &quot;type&quot;: &quot;org.onap.policy.clamp.acm.AutomationComposition&quot;,&#xd;
+ &quot;type_version&quot;: &quot;1.0.1&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;provider&quot;: &quot;ONAP&quot;,&#xd;
+ &quot;elements&quot;: [&#xd;
+ {&#xd;
+ &quot;name&quot;: &quot;onap.policy.clamp.ac.element.Http_GenericAutomationCompositionElement&quot;,&#xd;
+ &quot;version&quot;: &quot;1.2.3&quot;&#xd;
+ }&#xd;
+ ]&#xd;
+ },&#xd;
+ &quot;name&quot;: &quot;onap.policy.clamp.ac.element.AutomationCompositionDefinition&quot;,&#xd;
+ &quot;version&quot;: &quot;1.2.3&quot;,&#xd;
+ &quot;description&quot;: &quot;Automation composition for Demp&quot;&#xd;
+ }&#xd;
+ }&#xd;
+ }&#xd;
}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
@@ -1726,8 +490,8 @@
<stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
<stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
<stringProp name="HTTPSampler.protocol">http</stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}</stringProp>
- <stringProp name="HTTPSampler.method">GET</stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions</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>
@@ -1742,191 +506,184 @@
<hashTree>
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
<collectionProp name="Asserion.test_strings">
- <stringProp name="49586">200</stringProp>
+ <stringProp name="49587">201</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>
- <stringProp name="Scope.variable"></stringProp>
</ResponseAssertion>
<hashTree/>
<JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="JSON Extractor" enabled="true">
- <stringProp name="JSONPostProcessor.referenceNames">primeState</stringProp>
- <stringProp name="JSONPostProcessor.jsonPathExprs">$.state</stringProp>
+ <stringProp name="JSONPostProcessor.referenceNames">compositionId</stringProp>
+ <stringProp name="JSONPostProcessor.jsonPathExprs">$.compositionId</stringProp>
<stringProp name="JSONPostProcessor.match_numbers"></stringProp>
<stringProp name="Scope.variable">compositionId</stringProp>
</JSONPostProcessor>
<hashTree/>
+ <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
+ <boolProp name="resetInterpreter">false</boolProp>
+ <stringProp name="parameters"></stringProp>
+ <stringProp name="filename"></stringProp>
+ <stringProp name="script">String compositionId = vars.get(&quot;compositionId&quot;);
+
+String baseCount = &quot;baseCount&quot; + ctx.getThreadNum();
+String count = props.get(baseCount);
+vars.put(&quot;composition&quot; + count + &quot;Id&quot;, compositionId);
+
+log.info(&quot;Create Composition: &quot; + compositionId);
+
+</stringProp>
+ </BeanShellPostProcessor>
+ <hashTree/>
</hashTree>
- </hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Instantiate acm" 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">{&#xd;
- &quot;name&quot;: &quot;DemoInstance0&quot;,&#xd;
- &quot;version&quot;: &quot;1.0.1&quot;,&#xd;
- &quot;compositionId&quot;: &quot;${compositionId}&quot;,&#xd;
- &quot;description&quot;: &quot;Demo automation composition instance 0&quot;,&#xd;
- &quot;elements&quot;: {&#xd;
- &quot;709c62b3-8918-41b9-a747-d21eb79c6c20&quot;: {&#xd;
- &quot;id&quot;: &quot;709c62b3-8918-41b9-a747-d21eb79c6c20&quot;,&#xd;
- &quot;definition&quot;: {&#xd;
- &quot;name&quot;: &quot;onap.policy.clamp.ac.element.Policy_AutomationCompositionElement&quot;,&#xd;
- &quot;version&quot;: &quot;1.2.3&quot;&#xd;
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Prime AC definitions" 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">{&#xd;
+ &quot;primeOrder&quot;: &quot;PRIME&quot;&#xd;
+}</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ </collectionProp>
+ </elementProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}</stringProp>
+ <stringProp name="HTTPSampler.method">PUT</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>
+ <boolProp name="HTTPSampler.BROWSER_COMPATIBLE_MULTIPART">false</boolProp>
+ <boolProp name="HTTPSampler.image_parser">false</boolProp>
+ <boolProp name="HTTPSampler.concurrentDwn">false</boolProp>
+ <stringProp name="HTTPSampler.concurrentPool">6</stringProp>
+ <boolProp name="HTTPSampler.md5">false</boolProp>
+ <intProp name="HTTPSampler.ipSourceType">0</intProp>
+ </HTTPSamplerProxy>
+ <hashTree>
+ <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
+ <collectionProp name="Asserion.test_strings">
+ <stringProp name="49588">202</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>
+ <stringProp name="Scope.variable"></stringProp>
+ </ResponseAssertion>
+ <hashTree/>
+ </hashTree>
+ <WhileController guiclass="WhileControllerGui" testclass="WhileController" testname="While Controller" enabled="true">
+ <stringProp name="WhileController.condition">${__javaScript(&quot;${primeState}&quot; != &quot;PRIMED&quot;)}</stringProp>
+ </WhileController>
+ <hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Verify Priming" enabled="true">
+ <boolProp name="HTTPSampler.postBodyRaw">false</boolProp>
+ <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">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}</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>
+ <boolProp name="HTTPSampler.BROWSER_COMPATIBLE_MULTIPART">false</boolProp>
+ <boolProp name="HTTPSampler.image_parser">false</boolProp>
+ <boolProp name="HTTPSampler.concurrentDwn">false</boolProp>
+ <stringProp name="HTTPSampler.concurrentPool">6</stringProp>
+ <boolProp name="HTTPSampler.md5">false</boolProp>
+ <intProp name="HTTPSampler.ipSourceType">0</intProp>
+ </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>
+ <stringProp name="Scope.variable"></stringProp>
+ </ResponseAssertion>
+ <hashTree/>
+ <JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="JSON Extractor" enabled="true">
+ <stringProp name="JSONPostProcessor.referenceNames">primeState</stringProp>
+ <stringProp name="JSONPostProcessor.jsonPathExprs">$.state</stringProp>
+ <stringProp name="JSONPostProcessor.match_numbers"></stringProp>
+ <stringProp name="Scope.variable">compositionId</stringProp>
+ </JSONPostProcessor>
+ <hashTree/>
+ </hashTree>
+ </hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Instantiate acm" 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">{&#xd;
+ &quot;name&quot;: &quot;${__RandomString(10,abcdefghilmnopqrtsvz)}&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.${__threadNum}&quot;,&#xd;
+ &quot;compositionId&quot;: &quot;${compositionId}&quot;,&#xd;
+ &quot;description&quot;: &quot;Demo automation composition HttpStater&quot;,&#xd;
+ &quot;elements&quot;: {&#xd;
+ &quot;${elementId}&quot;: {&#xd;
+ &quot;id&quot;: &quot;${elementId}&quot;,&#xd;
+ &quot;definition&quot;: {&#xd;
+ &quot;name&quot;: &quot;onap.policy.clamp.ac.element.Http_GenericAutomationCompositionElement&quot;,&#xd;
+ &quot;version&quot;: &quot;1.2.3&quot;&#xd;
+ },&#xd;
+ &quot;description&quot;: &quot;Starter Automation Composition Element for the Demo&quot;,&#xd;
+ &quot;properties&quot;: {&#xd;
+ &quot;uninitializedToPassiveTimeout&quot;: 180,&#xd;
+ &quot;baseUrl&quot;: &quot;http://policy-clamp-ac-pf-ppnt:6969&quot;,&#xd;
+ &quot;httpHeaders&quot;: {&#xd;
+ &quot;Content-Type&quot;: &quot;application/json&quot;,&#xd;
+ &quot;Authorization&quot;: &quot;Basic cGFydGljaXBhbnRVc2VyOnpiIVh6dEczNA==&quot;&#xd;
+ },&#xd;
+ &quot;configurationEntities&quot;: [&#xd;
+ {&#xd;
+ &quot;configurationEntityId&quot;: {&#xd;
+ &quot;name&quot;: &quot;onap.policy.clamp.ac.starter&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.0&quot;&#xd;
},&#xd;
- &quot;description&quot;: &quot;Policy Automation Composition Element for the Demo&quot;,&#xd;
- &quot;properties&quot;: {&#xd;
- &quot;policy_type_id&quot;: {&#xd;
- &quot;name&quot;: &quot;onap.policies.native.Apex&quot;,&#xd;
- &quot;version&quot;: &quot;1.0.0&quot;&#xd;
+ &quot;restSequence&quot;: [&#xd;
+ {&#xd;
+ &quot;restRequestId&quot;: {&#xd;
+ &quot;name&quot;: &quot;request1&quot;,&#xd;
+ &quot;version&quot;: &quot;1.0.1&quot;&#xd;
},&#xd;
- &quot;policy_id&quot;: {&#xd;
- &quot;get_input&quot;: &quot;acm_element_policy&quot;&#xd;
- }&#xd;
- }&#xd;
- }&#xd;
+ &quot;httpMethod&quot;: &quot;GET&quot;,&#xd;
+ &quot;path&quot;: &quot;/onap/policyparticipant/health&quot;,&#xd;
+ &quot;body&quot;: &quot;&quot;,&#xd;
+ &quot;expectedResponse&quot;: 200&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
+ ]&#xd;
+ }&#xd;
}&#xd;
+ }&#xd;
}</stringProp>
- <stringProp name="Argument.metadata">=</stringProp>
- </elementProp>
- </collectionProp>
- </elementProp>
- <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
- <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">http</stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}/instances</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>
- <boolProp name="HTTPSampler.BROWSER_COMPATIBLE_MULTIPART">false</boolProp>
- <boolProp name="HTTPSampler.image_parser">false</boolProp>
- <boolProp name="HTTPSampler.concurrentDwn">false</boolProp>
- <stringProp name="HTTPSampler.concurrentPool">6</stringProp>
- <boolProp name="HTTPSampler.md5">false</boolProp>
- <intProp name="HTTPSampler.ipSourceType">0</intProp>
- </HTTPSamplerProxy>
- <hashTree>
- <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
- <collectionProp name="Asserion.test_strings">
- <stringProp name="49587">201</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/>
- <JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="JSON Extractor" enabled="true">
- <stringProp name="JSONPostProcessor.referenceNames">instanceId</stringProp>
- <stringProp name="JSONPostProcessor.jsonPathExprs">$.instanceId</stringProp>
- <stringProp name="JSONPostProcessor.match_numbers"></stringProp>
- <stringProp name="Scope.variable">instanceId</stringProp>
- </JSONPostProcessor>
- <hashTree/>
- <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
- <boolProp name="resetInterpreter">false</boolProp>
- <stringProp name="parameters"></stringProp>
- <stringProp name="filename"></stringProp>
- <stringProp name="script">props.put(&quot;instanceId&quot;, vars.get(&quot;instanceId&quot;));</stringProp>
- </BeanShellPostProcessor>
- <hashTree/>
- </hashTree>
- </hashTree>
- <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="AutomationComposition Test Flow" 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">
- <intProp name="LoopController.loops">-1</intProp>
- <boolProp name="LoopController.continue_forever">false</boolProp>
- </elementProp>
- <stringProp name="ThreadGroup.num_threads">${USERS}</stringProp>
- <stringProp name="ThreadGroup.ramp_time">1</stringProp>
- <boolProp name="ThreadGroup.scheduler">true</boolProp>
- <stringProp name="ThreadGroup.duration">7200</stringProp>
- <stringProp name="ThreadGroup.delay"></stringProp>
- <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
- <boolProp name="ThreadGroup.delayedStart">false</boolProp>
- </ThreadGroup>
- <hashTree>
- <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
- <stringProp name="filename"></stringProp>
- <stringProp name="parameters"></stringProp>
- <boolProp name="resetInterpreter">false</boolProp>
- <stringProp name="script">String compositionId = props.get(&quot;compositionId&quot;);
-String instanceId = props.get(&quot;instanceId&quot;);
-String deployState = props.get(&quot;deployState&quot;);
-vars.put(&quot;compositionId&quot;, compositionId);
-vars.put(&quot;instanceId&quot;, instanceId);
-vars.put(&quot;deployState&quot;, deployState);
-</stringProp>
- </BeanShellPreProcessor>
- <hashTree/>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Deploy AC instance" 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">{&#xd;
- &quot;deployOrder&quot;: &quot;DEPLOY&quot;&#xd;
-}&#xd;
-</stringProp>
- <stringProp name="Argument.metadata">=</stringProp>
- </elementProp>
- </collectionProp>
- </elementProp>
- <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
- <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">http</stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId}</stringProp>
- <stringProp name="HTTPSampler.method">PUT</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>
- <boolProp name="HTTPSampler.BROWSER_COMPATIBLE_MULTIPART">false</boolProp>
- <boolProp name="HTTPSampler.image_parser">false</boolProp>
- <boolProp name="HTTPSampler.concurrentDwn">false</boolProp>
- <stringProp name="HTTPSampler.concurrentPool">6</stringProp>
- <boolProp name="HTTPSampler.md5">false</boolProp>
- <intProp name="HTTPSampler.ipSourceType">0</intProp>
- </HTTPSamplerProxy>
- <hashTree>
- <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
- <stringProp name="ConstantTimer.delay">6000</stringProp>
- </ConstantTimer>
- <hashTree/>
- <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
- <collectionProp name="Asserion.test_strings">
- <stringProp name="49588">202</stringProp>
- <stringProp name="51508">400</stringProp>
- </collectionProp>
- <stringProp name="Assertion.custom_message"></stringProp>
- <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
- <boolProp name="Assertion.assume_success">true</boolProp>
- <intProp name="Assertion.test_type">33</intProp>
- </ResponseAssertion>
- <hashTree/>
- </hashTree>
- <WhileController guiclass="WhileControllerGui" testclass="WhileController" testname="While Controller" enabled="true">
- <stringProp name="WhileController.condition">${__javaScript(&quot;${deployState}&quot; !== &quot;DEPLOYED&quot;)}</stringProp>
- </WhileController>
- <hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Verify acm state" enabled="true">
- <boolProp name="HTTPSampler.postBodyRaw">false</boolProp>
- <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
- <collectionProp name="Arguments.arguments"/>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ </collectionProp>
</elementProp>
<stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
<stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
<stringProp name="HTTPSampler.protocol">http</stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId}</stringProp>
- <stringProp name="HTTPSampler.method">GET</stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}/instances</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>
@@ -1941,7 +698,7 @@ vars.put(&quot;deployState&quot;, deployState);
<hashTree>
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
<collectionProp name="Asserion.test_strings">
- <stringProp name="49586">200</stringProp>
+ <stringProp name="49587">201</stringProp>
</collectionProp>
<stringProp name="Assertion.custom_message"></stringProp>
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
@@ -1950,75 +707,49 @@ vars.put(&quot;deployState&quot;, deployState);
</ResponseAssertion>
<hashTree/>
<JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="JSON Extractor" enabled="true">
- <stringProp name="JSONPostProcessor.referenceNames">deployState</stringProp>
- <stringProp name="JSONPostProcessor.jsonPathExprs">$.deployState</stringProp>
+ <stringProp name="JSONPostProcessor.referenceNames">instanceId</stringProp>
+ <stringProp name="JSONPostProcessor.jsonPathExprs">$.instanceId</stringProp>
<stringProp name="JSONPostProcessor.match_numbers"></stringProp>
- <stringProp name="Scope.variable">compositionId</stringProp>
+ <stringProp name="Scope.variable">instanceId</stringProp>
</JSONPostProcessor>
<hashTree/>
+ <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
+ <boolProp name="resetInterpreter">false</boolProp>
+ <stringProp name="parameters"></stringProp>
+ <stringProp name="filename"></stringProp>
+ <stringProp name="script">String instanceId = vars.get(&quot;instanceId&quot;);
+
+String baseCount = &quot;baseCount&quot; + ctx.getThreadNum();
+String count = props.get(baseCount);
+
+vars.put(&quot;instance&quot; + count + &quot;Id&quot;, instanceId);
+log.info(&quot;Create Instance: &quot; + instanceId);
+
+int icount = Integer.parseInt(count) + 1;
+props.put(baseCount, (&quot;&quot; + icount));
+</stringProp>
+ </BeanShellPostProcessor>
+ <hashTree/>
</hashTree>
- </hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Undeploy AC instance" 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">{&#xd;
- &quot;deployOrder&quot;: &quot;UNDEPLOY&quot;&#xd;
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Deploy AC instance" 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">{&#xd;
+ &quot;deployOrder&quot;: &quot;DEPLOY&quot;&#xd;
}&#xd;
</stringProp>
- <stringProp name="Argument.metadata">=</stringProp>
- </elementProp>
- </collectionProp>
- </elementProp>
- <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
- <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">http</stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} </stringProp>
- <stringProp name="HTTPSampler.method">PUT</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>
- <boolProp name="HTTPSampler.BROWSER_COMPATIBLE_MULTIPART">false</boolProp>
- <boolProp name="HTTPSampler.image_parser">false</boolProp>
- <boolProp name="HTTPSampler.concurrentDwn">false</boolProp>
- <stringProp name="HTTPSampler.concurrentPool">6</stringProp>
- <boolProp name="HTTPSampler.md5">false</boolProp>
- <intProp name="HTTPSampler.ipSourceType">0</intProp>
- </HTTPSamplerProxy>
- <hashTree>
- <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
- <collectionProp name="Asserion.test_strings">
- <stringProp name="49588">202</stringProp>
- <stringProp name="51508">400</stringProp>
- </collectionProp>
- <stringProp name="Assertion.custom_message"></stringProp>
- <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
- <boolProp name="Assertion.assume_success">true</boolProp>
- <intProp name="Assertion.test_type">33</intProp>
- </ResponseAssertion>
- <hashTree/>
- <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
- <stringProp name="ConstantTimer.delay">6000</stringProp>
- </ConstantTimer>
- <hashTree/>
- </hashTree>
- <WhileController guiclass="WhileControllerGui" testclass="WhileController" testname="While Controller" enabled="true">
- <stringProp name="WhileController.condition">${__javaScript(&quot;${deployState}&quot; !== &quot;UNDEPLOYED&quot;)}</stringProp>
- </WhileController>
- <hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Verify acm state" enabled="true">
- <boolProp name="HTTPSampler.postBodyRaw">false</boolProp>
- <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
- <collectionProp name="Arguments.arguments"/>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ </collectionProp>
</elementProp>
<stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
<stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
<stringProp name="HTTPSampler.protocol">http</stringProp>
<stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId}</stringProp>
- <stringProp name="HTTPSampler.method">GET</stringProp>
+ <stringProp name="HTTPSampler.method">PUT</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
@@ -2031,26 +762,69 @@ vars.put(&quot;deployState&quot;, deployState);
<intProp name="HTTPSampler.ipSourceType">0</intProp>
</HTTPSamplerProxy>
<hashTree>
+ <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
+ <stringProp name="ConstantTimer.delay">1000</stringProp>
+ </ConstantTimer>
+ <hashTree/>
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
<collectionProp name="Asserion.test_strings">
- <stringProp name="49586">200</stringProp>
+ <stringProp name="49588">202</stringProp>
+ <stringProp name="51508">400</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>
+ <boolProp name="Assertion.assume_success">true</boolProp>
+ <intProp name="Assertion.test_type">33</intProp>
</ResponseAssertion>
<hashTree/>
- <JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="JSON Extractor" enabled="true">
- <stringProp name="JSONPostProcessor.referenceNames">deployState</stringProp>
- <stringProp name="JSONPostProcessor.jsonPathExprs">$.deployState</stringProp>
- <stringProp name="JSONPostProcessor.match_numbers"></stringProp>
- <stringProp name="Scope.variable">compositionId</stringProp>
- </JSONPostProcessor>
- <hashTree/>
+ </hashTree>
+ <WhileController guiclass="WhileControllerGui" testclass="WhileController" testname="While Controller" enabled="true">
+ <stringProp name="WhileController.condition">${__javaScript(&quot;${deployState}&quot; !== &quot;DEPLOYED&quot;)}</stringProp>
+ </WhileController>
+ <hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Verify acm state DEPLOYED" enabled="true">
+ <boolProp name="HTTPSampler.postBodyRaw">false</boolProp>
+ <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">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId}</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>
+ <boolProp name="HTTPSampler.BROWSER_COMPATIBLE_MULTIPART">false</boolProp>
+ <boolProp name="HTTPSampler.image_parser">false</boolProp>
+ <boolProp name="HTTPSampler.concurrentDwn">false</boolProp>
+ <stringProp name="HTTPSampler.concurrentPool">6</stringProp>
+ <boolProp name="HTTPSampler.md5">false</boolProp>
+ <intProp name="HTTPSampler.ipSourceType">0</intProp>
+ </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/>
+ <JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="JSON Extractor" enabled="true">
+ <stringProp name="JSONPostProcessor.referenceNames">deployState</stringProp>
+ <stringProp name="JSONPostProcessor.jsonPathExprs">$.deployState</stringProp>
+ <stringProp name="JSONPostProcessor.match_numbers"></stringProp>
+ <stringProp name="Scope.variable">compositionId</stringProp>
+ </JSONPostProcessor>
+ <hashTree/>
+ </hashTree>
</hashTree>
</hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Get Metrics acm" enabled="true">
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Get participants" enabled="true">
<boolProp name="HTTPSampler.postBodyRaw">false</boolProp>
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
<collectionProp name="Arguments.arguments"/>
@@ -2058,7 +832,7 @@ vars.put(&quot;deployState&quot;, deployState);
<stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
<stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
<stringProp name="HTTPSampler.protocol">http</stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/prometheus</stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/participants</stringProp>
<stringProp name="HTTPSampler.method">GET</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -2078,64 +852,21 @@ vars.put(&quot;deployState&quot;, deployState);
</collectionProp>
<stringProp name="Assertion.custom_message"></stringProp>
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
- <boolProp name="Assertion.assume_success">true</boolProp>
- <intProp name="Assertion.test_type">33</intProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ <stringProp name="Scope.variable"></stringProp>
</ResponseAssertion>
<hashTree/>
- <JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSR223 Assertion" enabled="true">
- <stringProp name="scriptLanguage">groovy</stringProp>
- <stringProp name="parameters"></stringProp>
- <stringProp name="filename"></stringProp>
- <stringProp name="cacheKey">true</stringProp>
- <stringProp name="script">def res = [];
-if (prev.getResponseCode() == &apos;200&apos;) {
- res = prev.getResponseDataAsString();
-
- assert res.contains(&quot;http_server_requests_seconds_sum&quot;)
- assert res.contains(&quot;http_server_requests_seconds_max&quot;)
- assert res.contains(&quot;spring_data_repository_invocations_seconds_count&quot;)
- assert res.contains(&quot;spring_data_repository_invocations_seconds_sum&quot;)
- assert res.contains(&quot;spring_data_repository_invocations_seconds_max&quot;)
- assert res.contains(&quot;jvm_threads_live_threads&quot;)
-
- assert res.contains(&quot;http_server_requests_seconds_count{error=\&quot;none\&quot;,exception=\&quot;none\&quot;,method=\&quot;POST\&quot;,outcome=\&quot;SUCCESS\&quot;,status=\&quot;201\&quot;,uri=\&quot;/v2/compositions\&quot;,}&quot;)
- assert res.contains(&quot;http_server_requests_seconds_count{error=\&quot;none\&quot;,exception=\&quot;none\&quot;,method=\&quot;PUT\&quot;,outcome=\&quot;SUCCESS\&quot;,status=\&quot;202\&quot;,uri=\&quot;/v2/compositions/{compositionId}\&quot;,}&quot;)
- assert res.contains(&quot;http_server_requests_seconds_count{error=\&quot;none\&quot;,exception=\&quot;none\&quot;,method=\&quot;GET\&quot;,outcome=\&quot;SUCCESS\&quot;,status=\&quot;200\&quot;,uri=\&quot;/v2/compositions/{compositionId}\&quot;,}&quot;)
-
- assert res.contains(&quot;http_server_requests_seconds_count{error=\&quot;none\&quot;,exception=\&quot;none\&quot;,method=\&quot;POST\&quot;,outcome=\&quot;SUCCESS\&quot;,status=\&quot;201\&quot;,uri=\&quot;/v2/compositions/{compositionId}/instances\&quot;,}&quot;)
- assert res.contains(&quot;http_server_requests_seconds_count{error=\&quot;none\&quot;,exception=\&quot;none\&quot;,method=\&quot;PUT\&quot;,outcome=\&quot;SUCCESS\&quot;,status=\&quot;202\&quot;,uri=\&quot;/v2/compositions/{compositionId}/instances/{instanceId}\&quot;,}&quot;)
- assert res.contains(&quot;http_server_requests_seconds_count{error=\&quot;none\&quot;,exception=\&quot;none\&quot;,method=\&quot;GET\&quot;,outcome=\&quot;SUCCESS\&quot;,status=\&quot;200\&quot;,uri=\&quot;/v2/compositions/{compositionId}/instances/{instanceId}\&quot;,}&quot;)
-
- assert res.contains(&quot;publisher_automation_composition_state_change_seconds_count&quot;)
- assert res.contains(&quot;publisher_participant_update_seconds_count&quot;)
- assert res.contains(&quot;publisher_participant_status_req_seconds_count&quot;)
- assert res.contains(&quot;publisher_automation_composition_deploy_seconds_count&quot;)
-
- assert res.contains(&quot;listener_participant_prime_ack_seconds_count&quot;)
- assert res.contains(&quot;listener_automation_composition_statechange_ack_seconds_count&quot;)
- assert res.contains(&quot;listener_participant_status_seconds_count&quot;)
-}</stringProp>
- </JSR223Assertion>
- <hashTree/>
- <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true">
- <collectionProp name="HeaderManager.headers">
- <elementProp name="" elementType="Header">
- <stringProp name="Header.name">Accept</stringProp>
- <stringProp name="Header.value">text/plain</stringProp>
- </elementProp>
- </collectionProp>
- </HeaderManager>
- <hashTree/>
</hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Get Metrics participant" enabled="true">
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Get compositions" enabled="true">
<boolProp name="HTTPSampler.postBodyRaw">false</boolProp>
<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">${POLICY_PARTICIPANT_HOST}</stringProp>
- <stringProp name="HTTPSampler.port">${POLICY_PARTICIPANT_HOST_PORT}</stringProp>
+ <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
<stringProp name="HTTPSampler.protocol">http</stringProp>
- <stringProp name="HTTPSampler.path">/onap/policyparticipant/prometheus</stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions</stringProp>
<stringProp name="HTTPSampler.method">GET</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@@ -2155,88 +886,45 @@ if (prev.getResponseCode() == &apos;200&apos;) {
</collectionProp>
<stringProp name="Assertion.custom_message"></stringProp>
<stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
- <boolProp name="Assertion.assume_success">true</boolProp>
- <intProp name="Assertion.test_type">33</intProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
+ <stringProp name="Scope.variable"></stringProp>
</ResponseAssertion>
<hashTree/>
- <JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSR223 Assertion" enabled="true">
- <stringProp name="scriptLanguage">groovy</stringProp>
+ </hashTree>
+ <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Undeploy and Delete" enabled="true">
+ <stringProp name="LoopController.loops">${INSTANCES}</stringProp>
+ </LoopController>
+ <hashTree>
+ <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
+ <boolProp name="resetInterpreter">false</boolProp>
<stringProp name="parameters"></stringProp>
<stringProp name="filename"></stringProp>
- <stringProp name="cacheKey">true</stringProp>
- <stringProp name="script">def res = [];
-if (prev.getResponseCode() == &apos;200&apos;) {
- res = prev.getResponseDataAsString();
-
- assert res.contains(&quot;http_server_requests_seconds_sum&quot;)
- assert res.contains(&quot;http_server_requests_seconds_max&quot;)
- assert res.contains(&quot;jvm_threads_live_threads&quot;)
-
- assert res.contains(&quot;publisher_participant_register_seconds_count&quot;)
- assert res.contains(&quot;publisher_participant_prime_ack_seconds_count&quot;)
- assert res.contains(&quot;publisher_participant_status_seconds_count&quot;)
- assert res.contains(&quot;publisher_automation_composition_update_ack_seconds_count&quot;)
-
- assert res.contains(&quot;listener_participant_status_req_seconds_count&quot;)
- assert res.contains(&quot;listener_participant_prime_seconds_count&quot;)
- assert res.contains(&quot;listener_automation_composition_state_change_seconds_count&quot;)
- assert res.contains(&quot;listener_automation_composition_update_seconds_count&quot;)
-}</stringProp>
- </JSR223Assertion>
- <hashTree/>
- <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true">
- <collectionProp name="HeaderManager.headers">
- <elementProp name="" elementType="Header">
- <stringProp name="Header.name">Accept</stringProp>
- <stringProp name="Header.value">text/plain</stringProp>
- </elementProp>
- </collectionProp>
- </HeaderManager>
+ <stringProp name="script">vars.put(&quot;loopCondition&quot;, &quot;true&quot;);
+vars.put(&quot;primeState&quot;, &quot;&quot;);
+vars.put(&quot;deployState&quot;, &quot;&quot;);
+</stringProp>
+ </BeanShellPreProcessor>
<hashTree/>
- </hashTree>
- </hashTree>
- <PostThreadGroup guiclass="PostThreadGroupGui" testclass="PostThreadGroup" testname="tearDown Thread Group" enabled="true">
- <stringProp name="ThreadGroup.on_sample_error">stoptest</stringProp>
- <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
- <stringProp name="LoopController.loops">1</stringProp>
- <boolProp name="LoopController.continue_forever">false</boolProp>
- </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>
- <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
- <stringProp name="filename"></stringProp>
- <stringProp name="parameters"></stringProp>
- <boolProp name="resetInterpreter">false</boolProp>
- <stringProp name="script">String compositionId = props.get(&quot;compositionId&quot;);
-String instanceId = props.get(&quot;instanceId&quot;);
-String deployState = props.get(&quot;deployState&quot;);
-String loopCondition;
-vars.put(&quot;compositionId&quot;, compositionId);
-vars.put(&quot;instanceId&quot;, instanceId);
-vars.put(&quot;deployState&quot;, deployState);
-vars.put(&quot;loopCondition&quot;, &quot;true&quot;);</stringProp>
- </BeanShellPreProcessor>
- <hashTree/>
- <WhileController guiclass="WhileControllerGui" testclass="WhileController" testname="While Controller" enabled="true">
- <stringProp name="WhileController.condition">${__javaScript(&quot;${deployState}&quot; !== &quot;UNDEPLOYED&quot;)}</stringProp>
- </WhileController>
- <hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Verify acm state before uninstantiation" enabled="true">
- <boolProp name="HTTPSampler.postBodyRaw">false</boolProp>
- <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
- <collectionProp name="Arguments.arguments"/>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Undeploy AC instance" 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">{&#xd;
+ &quot;deployOrder&quot;: &quot;UNDEPLOY&quot;&#xd;
+}&#xd;
+</stringProp>
+ <stringProp name="Argument.metadata">=</stringProp>
+ </elementProp>
+ </collectionProp>
</elementProp>
<stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
<stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
<stringProp name="HTTPSampler.protocol">http</stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId}</stringProp>
- <stringProp name="HTTPSampler.method">GET</stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} </stringProp>
+ <stringProp name="HTTPSampler.method">PUT</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
@@ -2249,49 +937,55 @@ vars.put(&quot;loopCondition&quot;, &quot;true&quot;);</stringProp>
<intProp name="HTTPSampler.ipSourceType">0</intProp>
</HTTPSamplerProxy>
<hashTree>
+ <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
+ <boolProp name="resetInterpreter">false</boolProp>
+ <stringProp name="parameters"></stringProp>
+ <stringProp name="filename"></stringProp>
+ <stringProp name="script">String baseCount = &quot;baseCount&quot; + ctx.getThreadNum();
+String count = props.get(baseCount);
+int icount = Integer.parseInt(count) - 1;
+props.put(baseCount, (&quot;&quot; + icount));
+
+count = props.get(baseCount);
+
+String compositionId = vars.get(&quot;composition&quot; + count + &quot;Id&quot;);
+vars.put(&quot;compositionId&quot;, compositionId);
+log.info(&quot;compositionId: &quot; + compositionId);
+String instanceId = vars.get(&quot;instance&quot; + count + &quot;Id&quot;);
+vars.put(&quot;instanceId&quot;, instanceId);
+log.info(&quot;instanceId: &quot; + instanceId);
+</stringProp>
+ </BeanShellPreProcessor>
+ <hashTree/>
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
<collectionProp name="Asserion.test_strings">
- <stringProp name="49586">200</stringProp>
+ <stringProp name="49588">202</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>
+ <boolProp name="Assertion.assume_success">true</boolProp>
+ <intProp name="Assertion.test_type">33</intProp>
</ResponseAssertion>
<hashTree/>
- <JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="JSON Extractor" enabled="true">
- <stringProp name="JSONPostProcessor.referenceNames">deployState</stringProp>
- <stringProp name="JSONPostProcessor.jsonPathExprs">$.deployState</stringProp>
- <stringProp name="JSONPostProcessor.match_numbers"></stringProp>
- <stringProp name="Scope.variable">compositionId</stringProp>
- </JSONPostProcessor>
+ <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
+ <stringProp name="ConstantTimer.delay">1000</stringProp>
+ </ConstantTimer>
<hashTree/>
</hashTree>
- <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
- <boolProp name="IfController.evaluateAll">false</boolProp>
- <boolProp name="IfController.useExpression">true</boolProp>
- <stringProp name="IfController.condition">${__javaScript(&quot;${deployState}&quot; === &quot;DEPLOYED&quot;)}</stringProp>
- </IfController>
+ <WhileController guiclass="WhileControllerGui" testclass="WhileController" testname="While Controller" enabled="true">
+ <stringProp name="WhileController.condition">${__javaScript(&quot;${deployState}&quot; !== &quot;UNDEPLOYED&quot;)}</stringProp>
+ </WhileController>
<hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Undeploy AC instance at Teardown" 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">{&#xd;
- &quot;deployOrder&quot;: &quot;UNDEPLOY&quot;&#xd;
-}&#xd;
-</stringProp>
- <stringProp name="Argument.metadata">=</stringProp>
- </elementProp>
- </collectionProp>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Verify acm state UNDEPLOYED" enabled="true">
+ <boolProp name="HTTPSampler.postBodyRaw">false</boolProp>
+ <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">${RUNTIME_HOST}</stringProp>
<stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
<stringProp name="HTTPSampler.protocol">http</stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId} </stringProp>
- <stringProp name="HTTPSampler.method">PUT</stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId}</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>
@@ -2306,59 +1000,24 @@ vars.put(&quot;loopCondition&quot;, &quot;true&quot;);</stringProp>
<hashTree>
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
<collectionProp name="Asserion.test_strings">
- <stringProp name="49588">202</stringProp>
+ <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">true</boolProp>
- <intProp name="Assertion.test_type">33</intProp>
+ <boolProp name="Assertion.assume_success">false</boolProp>
+ <intProp name="Assertion.test_type">1</intProp>
</ResponseAssertion>
<hashTree/>
- <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
- <stringProp name="ConstantTimer.delay">6000</stringProp>
- </ConstantTimer>
+ <JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="JSON Extractor" enabled="true">
+ <stringProp name="JSONPostProcessor.referenceNames">deployState</stringProp>
+ <stringProp name="JSONPostProcessor.jsonPathExprs">$.deployState</stringProp>
+ <stringProp name="JSONPostProcessor.match_numbers"></stringProp>
+ <stringProp name="Scope.variable">compositionId</stringProp>
+ </JSONPostProcessor>
<hashTree/>
</hashTree>
</hashTree>
- </hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Uninstantiate AC instance" enabled="true">
- <boolProp name="HTTPSampler.postBodyRaw">false</boolProp>
- <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">${RUNTIME_HOST}</stringProp>
- <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">http</stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId}</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>
- <boolProp name="HTTPSampler.BROWSER_COMPATIBLE_MULTIPART">false</boolProp>
- <boolProp name="HTTPSampler.image_parser">false</boolProp>
- <boolProp name="HTTPSampler.concurrentDwn">false</boolProp>
- <stringProp name="HTTPSampler.concurrentPool">6</stringProp>
- <boolProp name="HTTPSampler.md5">false</boolProp>
- <intProp name="HTTPSampler.ipSourceType">0</intProp>
- </HTTPSamplerProxy>
- <hashTree>
- <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
- <collectionProp name="Asserion.test_strings">
- <stringProp name="49588">202</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>
- <WhileController guiclass="WhileControllerGui" testclass="WhileController" testname="While Controller" enabled="true">
- <stringProp name="WhileController.condition">${__javaScript(&quot;${loopCondition}&quot; === &quot;true&quot;)}</stringProp>
- </WhileController>
- <hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Verify No Instances" enabled="true">
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Uninstantiate AC instance" enabled="true">
<boolProp name="HTTPSampler.postBodyRaw">false</boolProp>
<elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
<collectionProp name="Arguments.arguments"/>
@@ -2366,8 +1025,8 @@ vars.put(&quot;loopCondition&quot;, &quot;true&quot;);</stringProp>
<stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
<stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
<stringProp name="HTTPSampler.protocol">http</stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}/instances</stringProp>
- <stringProp name="HTTPSampler.method">GET</stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}/instances/${instanceId}</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>
@@ -2382,25 +1041,139 @@ vars.put(&quot;loopCondition&quot;, &quot;true&quot;);</stringProp>
<hashTree>
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
<collectionProp name="Asserion.test_strings">
- <stringProp name="49586">200</stringProp>
+ <stringProp name="49588">202</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>
- <stringProp name="Scope.variable"></stringProp>
</ResponseAssertion>
<hashTree/>
- <JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="JSON Extractor" enabled="true">
- <stringProp name="JSONPostProcessor.referenceNames">automationCompositionList</stringProp>
- <stringProp name="JSONPostProcessor.jsonPathExprs">$.automationCompositionList</stringProp>
- <stringProp name="JSONPostProcessor.match_numbers"></stringProp>
- <stringProp name="Scope.variable">compositionId</stringProp>
- </JSONPostProcessor>
+ </hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Get Metrics acm" enabled="true">
+ <boolProp name="HTTPSampler.postBodyRaw">false</boolProp>
+ <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">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/prometheus</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>
+ <boolProp name="HTTPSampler.BROWSER_COMPATIBLE_MULTIPART">false</boolProp>
+ <boolProp name="HTTPSampler.image_parser">false</boolProp>
+ <boolProp name="HTTPSampler.concurrentDwn">false</boolProp>
+ <stringProp name="HTTPSampler.concurrentPool">6</stringProp>
+ <boolProp name="HTTPSampler.md5">false</boolProp>
+ <intProp name="HTTPSampler.ipSourceType">0</intProp>
+ </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">true</boolProp>
+ <intProp name="Assertion.test_type">33</intProp>
+ </ResponseAssertion>
+ <hashTree/>
+ <JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSR223 Assertion" enabled="true">
+ <stringProp name="scriptLanguage">groovy</stringProp>
+ <stringProp name="parameters"></stringProp>
+ <stringProp name="filename"></stringProp>
+ <stringProp name="cacheKey">true</stringProp>
+ <stringProp name="script">def res = [];
+if (prev.getResponseCode() == &apos;200&apos;) {
+ res = prev.getResponseDataAsString();
+
+ assert res.contains(&quot;http_server_requests_seconds_sum&quot;)
+ assert res.contains(&quot;http_server_requests_seconds_max&quot;)
+ assert res.contains(&quot;spring_data_repository_invocations_seconds_count&quot;)
+ assert res.contains(&quot;spring_data_repository_invocations_seconds_sum&quot;)
+ assert res.contains(&quot;spring_data_repository_invocations_seconds_max&quot;)
+ assert res.contains(&quot;jvm_threads_live_threads&quot;)
+
+ assert res.contains(&quot;http_server_requests_seconds_count{error=\&quot;none\&quot;,exception=\&quot;none\&quot;,method=\&quot;POST\&quot;,outcome=\&quot;SUCCESS\&quot;,status=\&quot;201\&quot;,uri=\&quot;/v2/compositions\&quot;,}&quot;)
+ assert res.contains(&quot;http_server_requests_seconds_count{error=\&quot;none\&quot;,exception=\&quot;none\&quot;,method=\&quot;PUT\&quot;,outcome=\&quot;SUCCESS\&quot;,status=\&quot;202\&quot;,uri=\&quot;/v2/compositions/{compositionId}\&quot;,}&quot;)
+ assert res.contains(&quot;http_server_requests_seconds_count{error=\&quot;none\&quot;,exception=\&quot;none\&quot;,method=\&quot;GET\&quot;,outcome=\&quot;SUCCESS\&quot;,status=\&quot;200\&quot;,uri=\&quot;/v2/compositions/{compositionId}\&quot;,}&quot;)
+
+ assert res.contains(&quot;http_server_requests_seconds_count{error=\&quot;none\&quot;,exception=\&quot;none\&quot;,method=\&quot;POST\&quot;,outcome=\&quot;SUCCESS\&quot;,status=\&quot;201\&quot;,uri=\&quot;/v2/compositions/{compositionId}/instances\&quot;,}&quot;)
+ assert res.contains(&quot;http_server_requests_seconds_count{error=\&quot;none\&quot;,exception=\&quot;none\&quot;,method=\&quot;PUT\&quot;,outcome=\&quot;SUCCESS\&quot;,status=\&quot;202\&quot;,uri=\&quot;/v2/compositions/{compositionId}/instances/{instanceId}\&quot;,}&quot;)
+ assert res.contains(&quot;http_server_requests_seconds_count{error=\&quot;none\&quot;,exception=\&quot;none\&quot;,method=\&quot;GET\&quot;,outcome=\&quot;SUCCESS\&quot;,status=\&quot;200\&quot;,uri=\&quot;/v2/compositions/{compositionId}/instances/{instanceId}\&quot;,}&quot;)
+
+ assert res.contains(&quot;publisher_automation_composition_state_change_seconds_count&quot;)
+ assert res.contains(&quot;publisher_participant_update_seconds_count&quot;)
+ assert res.contains(&quot;publisher_participant_status_req_seconds_count&quot;)
+ assert res.contains(&quot;publisher_automation_composition_deploy_seconds_count&quot;)
+
+ assert res.contains(&quot;listener_participant_prime_ack_seconds_count&quot;)
+ assert res.contains(&quot;listener_automation_composition_statechange_ack_seconds_count&quot;)
+ assert res.contains(&quot;listener_participant_status_seconds_count&quot;)
+}</stringProp>
+ </JSR223Assertion>
+ <hashTree/>
+ <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true">
+ <collectionProp name="HeaderManager.headers">
+ <elementProp name="" elementType="Header">
+ <stringProp name="Header.name">Accept</stringProp>
+ <stringProp name="Header.value">text/plain</stringProp>
+ </elementProp>
+ </collectionProp>
+ </HeaderManager>
<hashTree/>
</hashTree>
- <BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="BeanShell Sampler" enabled="true">
- <stringProp name="BeanShellSampler.query">// Extracted JSON array
+ <WhileController guiclass="WhileControllerGui" testclass="WhileController" testname="While Controller" enabled="true">
+ <stringProp name="WhileController.condition">${__javaScript(&quot;${loopCondition}&quot; === &quot;true&quot;)}</stringProp>
+ </WhileController>
+ <hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Verify No Instances" enabled="true">
+ <boolProp name="HTTPSampler.postBodyRaw">false</boolProp>
+ <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">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}/instances</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>
+ <boolProp name="HTTPSampler.BROWSER_COMPATIBLE_MULTIPART">false</boolProp>
+ <boolProp name="HTTPSampler.image_parser">false</boolProp>
+ <boolProp name="HTTPSampler.concurrentDwn">false</boolProp>
+ <stringProp name="HTTPSampler.concurrentPool">6</stringProp>
+ <boolProp name="HTTPSampler.md5">false</boolProp>
+ <intProp name="HTTPSampler.ipSourceType">0</intProp>
+ </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>
+ <stringProp name="Scope.variable"></stringProp>
+ </ResponseAssertion>
+ <hashTree/>
+ <JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="JSON Extractor" enabled="true">
+ <stringProp name="JSONPostProcessor.referenceNames">automationCompositionList</stringProp>
+ <stringProp name="JSONPostProcessor.jsonPathExprs">$.automationCompositionList</stringProp>
+ <stringProp name="JSONPostProcessor.match_numbers"></stringProp>
+ <stringProp name="Scope.variable">compositionId</stringProp>
+ </JSONPostProcessor>
+ <hashTree/>
+ </hashTree>
+ <BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="BeanShell Sampler" enabled="true">
+ <stringProp name="BeanShellSampler.query">// Extracted JSON array
String jsonArray = vars.get(&quot;automationCompositionList&quot;);
//String jsonArray = &quot;[]&quot;;
@@ -2414,63 +1187,18 @@ if (jsonArray.equals(&quot;[]&quot;)) {
vars.put(&quot;loopCondition&quot;, &quot;true&quot;);
log.info(&quot;condition true&quot;);
}</stringProp>
- <boolProp name="BeanShellSampler.resetInterpreter">false</boolProp>
- </BeanShellSampler>
- <hashTree/>
- </hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Deprime AC definition" 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">{&#xd;
- &quot;primeOrder&quot;: &quot;DEPRIME&quot;&#xd;
-}</stringProp>
- <stringProp name="Argument.metadata">=</stringProp>
- </elementProp>
- </collectionProp>
- </elementProp>
- <stringProp name="HTTPSampler.domain">${RUNTIME_HOST}</stringProp>
- <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">http</stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}</stringProp>
- <stringProp name="HTTPSampler.method">PUT</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>
- <boolProp name="HTTPSampler.BROWSER_COMPATIBLE_MULTIPART">false</boolProp>
- <boolProp name="HTTPSampler.image_parser">false</boolProp>
- <boolProp name="HTTPSampler.concurrentDwn">false</boolProp>
- <stringProp name="HTTPSampler.concurrentPool">6</stringProp>
- <boolProp name="HTTPSampler.md5">false</boolProp>
- <intProp name="HTTPSampler.ipSourceType">0</intProp>
- </HTTPSamplerProxy>
- <hashTree>
- <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
- <collectionProp name="Asserion.test_strings">
- <stringProp name="49588">202</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>
- <WhileController guiclass="WhileControllerGui" testclass="WhileController" testname="While Controller" enabled="true">
- <stringProp name="WhileController.condition">${__javaScript(&quot;${primeState}&quot; !== &quot;COMMISSIONED&quot;)}</stringProp>
- </WhileController>
- <hashTree>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Verify Deprimed" enabled="true">
+ <boolProp name="BeanShellSampler.resetInterpreter">false</boolProp>
+ </BeanShellSampler>
+ <hashTree/>
+ </hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Deprime AC definition" 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">{&#xd;
- &quot;primeOrder&quot;: &quot;COMMISSIONED&quot;&#xd;
+ &quot;primeOrder&quot;: &quot;DEPRIME&quot;&#xd;
}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
@@ -2480,7 +1208,7 @@ if (jsonArray.equals(&quot;[]&quot;)) {
<stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
<stringProp name="HTTPSampler.protocol">http</stringProp>
<stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}</stringProp>
- <stringProp name="HTTPSampler.method">GET</stringProp>
+ <stringProp name="HTTPSampler.method">PUT</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
<boolProp name="HTTPSampler.use_keepalive">true</boolProp>
@@ -2495,57 +1223,95 @@ if (jsonArray.equals(&quot;[]&quot;)) {
<hashTree>
<ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
<collectionProp name="Asserion.test_strings">
- <stringProp name="49586">200</stringProp>
+ <stringProp name="49588">202</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>
- <stringProp name="Scope.variable"></stringProp>
</ResponseAssertion>
<hashTree/>
- <JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="JSON Extractor" enabled="true">
- <stringProp name="JSONPostProcessor.referenceNames">primeState</stringProp>
- <stringProp name="JSONPostProcessor.jsonPathExprs">$.state</stringProp>
- <stringProp name="JSONPostProcessor.match_numbers"></stringProp>
- <stringProp name="Scope.variable">compositionId</stringProp>
- </JSONPostProcessor>
+ </hashTree>
+ <WhileController guiclass="WhileControllerGui" testclass="WhileController" testname="While Controller" enabled="true">
+ <stringProp name="WhileController.condition">${__javaScript(&quot;${primeState}&quot; !== &quot;COMMISSIONED&quot;)}</stringProp>
+ </WhileController>
+ <hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Verify Deprimed" enabled="true">
+ <boolProp name="HTTPSampler.postBodyRaw">false</boolProp>
+ <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">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}</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>
+ <boolProp name="HTTPSampler.BROWSER_COMPATIBLE_MULTIPART">false</boolProp>
+ <boolProp name="HTTPSampler.image_parser">false</boolProp>
+ <boolProp name="HTTPSampler.concurrentDwn">false</boolProp>
+ <stringProp name="HTTPSampler.concurrentPool">6</stringProp>
+ <boolProp name="HTTPSampler.md5">false</boolProp>
+ <intProp name="HTTPSampler.ipSourceType">0</intProp>
+ </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>
+ <stringProp name="Scope.variable"></stringProp>
+ </ResponseAssertion>
+ <hashTree/>
+ <JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="JSON Extractor" enabled="true">
+ <stringProp name="JSONPostProcessor.referenceNames">primeState</stringProp>
+ <stringProp name="JSONPostProcessor.jsonPathExprs">$.state</stringProp>
+ <stringProp name="JSONPostProcessor.match_numbers"></stringProp>
+ <stringProp name="Scope.variable">compositionId</stringProp>
+ </JSONPostProcessor>
+ <hashTree/>
+ </hashTree>
+ </hashTree>
+ <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Delete AutomationComposition Definition" enabled="true">
+ <boolProp name="HTTPSampler.postBodyRaw">false</boolProp>
+ <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">${RUNTIME_HOST}</stringProp>
+ <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
+ <stringProp name="HTTPSampler.protocol">http</stringProp>
+ <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}</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>
+ <boolProp name="HTTPSampler.BROWSER_COMPATIBLE_MULTIPART">false</boolProp>
+ <boolProp name="HTTPSampler.image_parser">false</boolProp>
+ <boolProp name="HTTPSampler.concurrentDwn">false</boolProp>
+ <stringProp name="HTTPSampler.concurrentPool">6</stringProp>
+ <boolProp name="HTTPSampler.md5">false</boolProp>
+ <intProp name="HTTPSampler.ipSourceType">0</intProp>
+ </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>
- <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Delete AutomationComposition Definition" enabled="true">
- <boolProp name="HTTPSampler.postBodyRaw">false</boolProp>
- <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">${RUNTIME_HOST}</stringProp>
- <stringProp name="HTTPSampler.port">${RUNTIME_PORT}</stringProp>
- <stringProp name="HTTPSampler.protocol">http</stringProp>
- <stringProp name="HTTPSampler.path">/onap/policy/clamp/acm/v2/compositions/${compositionId}</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>
- <boolProp name="HTTPSampler.BROWSER_COMPATIBLE_MULTIPART">false</boolProp>
- <boolProp name="HTTPSampler.image_parser">false</boolProp>
- <boolProp name="HTTPSampler.concurrentDwn">false</boolProp>
- <stringProp name="HTTPSampler.concurrentPool">6</stringProp>
- <boolProp name="HTTPSampler.md5">false</boolProp>
- <intProp name="HTTPSampler.ipSourceType">0</intProp>
- </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>
@@ -2581,7 +1347,7 @@ if (jsonArray.equals(&quot;[]&quot;)) {
<connectTime>true</connectTime>
</value>
</objProp>
- <stringProp name="filename">/home/ramesh/run-test/testresults.jtl</stringProp>
+ <stringProp name="filename">/tmp/testresults.jtl</stringProp>
</ResultCollector>
<hashTree/>
<ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">