diff options
author | Liam Fallon <liam.fallon@est.tech> | 2023-03-16 10:00:35 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2023-03-16 10:00:35 +0000 |
commit | a4393399d833b4bd4edb58077ecccca3f02d1d65 (patch) | |
tree | 226bb52a435966c1faa21e532c801273c83df0c9 | |
parent | 8e63ca72e8ed6d574366334a7d829802a4c504ec (diff) | |
parent | 9cf97c37b6d01142ce5b775dd319dc3d838294ac (diff) |
Merge "Upgrade Demo ACM element microservice"
6 files changed, 711 insertions, 609 deletions
diff --git a/examples/src/main/resources/clamp/acm/acelement-helm/acelement/resources/config/application.yaml b/examples/src/main/resources/clamp/acm/acelement-helm/acelement/resources/config/application.yaml index d6aa5d951..25c249967 100644 --- a/examples/src/main/resources/clamp/acm/acelement-helm/acelement/resources/config/application.yaml +++ b/examples/src/main/resources/clamp/acm/acelement-helm/acelement/resources/config/application.yaml @@ -1,4 +1,9 @@ spring: + autoconfigure: + exclude: > + org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration, + org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration, + org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration security: user: name: ${REST_USER} @@ -6,6 +11,8 @@ spring: server: port: ${PORT} + servlet: + context-path: /onap/policy/clamp/acelement/v2 ssl: enabled: false error: diff --git a/examples/src/main/resources/clamp/acm/acelement-helm/acelement/values.yaml b/examples/src/main/resources/clamp/acm/acelement-helm/acelement/values.yaml index a9b9f227f..53d956011 100644 --- a/examples/src/main/resources/clamp/acm/acelement-helm/acelement/values.yaml +++ b/examples/src/main/resources/clamp/acm/acelement-helm/acelement/values.yaml @@ -26,7 +26,7 @@ image: repository: nexus3.onap.org:10001 name: onap/policy-clamp-acm-element-impl pullPolicy: IfNotPresent - tag: "6.3.0-SNAPSHOT" + tag: "6.4-SNAPSHOT-latest" nameOverride: "ac-element-impl" diff --git a/examples/src/main/resources/clamp/acm/acm-demo/AutomationComposition.yaml b/examples/src/main/resources/clamp/acm/acm-demo/AutomationComposition.yaml new file mode 100644 index 000000000..27426d1ee --- /dev/null +++ b/examples/src/main/resources/clamp/acm/acm-demo/AutomationComposition.yaml @@ -0,0 +1,171 @@ +# ============LICENSE_START======================================================= +# Copyright (C) 2023 Nordix Foundation. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the License); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an AS IS BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= +name: DemoInstance0 +version: 1.0.1 +compositionId: {{compositionId}} +description: Demo automation composition instance 0 +elements: + + 709c62b3-8918-41b9-a747-d21eb79c6c20: + id: 709c62b3-8918-41b9-a747-d21eb79c6c20 + definition: + name: onap.policy.clamp.ac.element.Policy_AutomationCompositionElement + version: 1.2.3 + description: Starter Automation Composition Element for the Demo + properties: + policy_type_id: + name: onap.policies.operational.pm-subscription-handler + version: 1.0.0 + policy_id: + get_input: acm_element_policy + + 709c62b3-8918-41b9-a747-d21eb79c6c21: + id: 709c62b3-8918-41b9-a747-d21eb79c6c21 + definition: + name: onap.policy.clamp.ac.element.K8S_StarterAutomationCompositionElement + version: 1.2.3 + description: Starter Automation Composition Element for the Demo + properties: + chart: + chartId: + name: acelement + version: 0.1.0 + namespace: default + releaseName: acm-starter + podName: acm-starter + repository: + repoName: chartmuseum + address: 'http://cluster-ip:8080' + overrideParams: + acelement.elementId.name: onap.policy.clamp.ac.starter + service.nodeport: 30800 + + 709c62b3-8918-41b9-a747-d21eb79c6c22: + id: 709c62b3-8918-41b9-a747-d21eb79c6c22 + definition: + name: onap.policy.clamp.ac.element.K8S_BridgeAutomationCompositionElement + version: 1.2.3 + description: Bridge Automation Composition Element for the Demo + properties: + chart: + chartId: + name: acelement + version: 0.1.0 + namespace: default + releaseName: acm-bridge + podName: acm-bridge + repository: + repoName: chartmuseum + address: 'http://cluster-ip:8080' + overrideParams: + acelement.elementId.name: onap.policy.clamp.ac.bridge + service.nodeport: 30801 + + 709c62b3-8918-41b9-a747-d21eb79c6c23: + id: 709c62b3-8918-41b9-a747-d21eb79c6c23 + definition: + name: onap.policy.clamp.ac.element.K8S_SinkAutomationCompositionElement + version: 1.2.3 + description: Sink Automation Composition Element for the Demo + properties: + chart: + chartId: + name: acelement + version: 0.1.0 + namespace: default + releaseName: acm-sink + podName: acm-sink + repository: + repoName: chartmuseum + address: 'http://cluster-ip:8080' + overrideParams: + acelement.elementId.name: onap.policy.clamp.ac.sink + service.nodeport: 30802 + + 709c62b3-8918-41b9-a747-d21eb79c6c24: + id: 709c62b3-8918-41b9-a747-d21eb79c6c24 + definition: + name: onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement + version: 1.2.3 + description: Starter Automation Composition Element for the Demo + properties: + baseUrl: http://cluster-ip:30800 + httpHeaders: + Content-Type: application/json + Authorization: Basic YWNtVXNlcjp6YiFYenRHMzQ= + configurationEntities: + - configurationEntityId: + name: onap.policy.clamp.ac.starter + version: 1.0.0 + restSequence: + - restRequestId: + name: request1 + version: 1.0.1 + httpMethod: POST + path: /onap/policy/clamp/acelement/v2/activate + body: '{ "receiverId": { "name": "onap.policy.clamp.ac.startertobridge", "version": "1.0.0" }, "timerMs": 20000, "elementType": "STARTER", "topicParameterGroup": { "server": "message-router:3904", "listenerTopic": "POLICY_UPDATE_MSG", "publisherTopic": "AC_ELEMENT_MSG", "fetchTimeout": 15000, "topicCommInfrastructure": "dmaap" } }' + expectedResponse: 201 + + 709c62b3-8918-41b9-a747-d21eb79c6c25: + id: 709c62b3-8918-41b9-a747-d21eb79c6c25 + definition: + name: onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement + version: 1.2.3 + description: Bridge Automation Composition Element for the Demo + properties: + baseUrl: http://cluster-ip:30801 + httpHeaders: + Content-Type: application/json + Authorization: Basic YWNtVXNlcjp6YiFYenRHMzQ= + configurationEntities: + - configurationEntityId: + name: onap.policy.clamp.ac.bridge + version: 1.0.0 + restSequence: + - restRequestId: + name: request2 + version: 1.0.1 + httpMethod: POST + path: /onap/policy/clamp/acelement/v2/activate + body: '{ "receiverId": { "name": "onap.policy.clamp.ac.bridgetosink", "version": "1.0.0" }, "timerMs": 20000, "elementType": "BRIDGE", "topicParameterGroup": { "server": "message-router:3904", "listenerTopic": "POLICY_UPDATE_MSG", "publisherTopic": "AC_ELEMENT_MSG", "fetchTimeout": 15000, "topicCommInfrastructure": "dmaap" } }' + expectedResponse: 201 + + 709c62b3-8918-41b9-a747-d21eb79c6c26: + id: 709c62b3-8918-41b9-a747-d21eb79c6c26 + definition: + name: onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement + version: 1.2.3 + description: Sink Automation Composition Element for the Demo + properties: + baseUrl: http://cluster-ip:30802 + httpHeaders: + Content-Type: application/json + Authorization: Basic YWNtVXNlcjp6YiFYenRHMzQ= + configurationEntities: + - configurationEntityId: + name: onap.policy.clamp.ac.sink + version: 1.0.0 + restSequence: + - restRequestId: + name: request3 + version: 1.0.1 + httpMethod: POST + path: /onap/policy/clamp/acelement/v2/activate + body: '{ "receiverId": { "name": "onap.policy.clamp.ac.sink", "version": "1.0.0" }, "timerMs": 20000, "elementType": "SINK", "topicParameterGroup": { "server": "message-router", "listenerTopic": "POLICY_UPDATE_MSG", "publisherTopic": "AC_ELEMENT_MSG", "fetchTimeout": 15000, "topicCommInfrastructure": "dmaap" } }' + expectedResponse: 201 + diff --git a/examples/src/main/resources/clamp/acm/acm-demo/toscaServiceTemplate.yaml b/examples/src/main/resources/clamp/acm/acm-demo/toscaServiceTemplate.yaml index f062115ad..bd8bcf89d 100644 --- a/examples/src/main/resources/clamp/acm/acm-demo/toscaServiceTemplate.yaml +++ b/examples/src/main/resources/clamp/acm/acm-demo/toscaServiceTemplate.yaml @@ -26,6 +26,7 @@ data_types: version: type: string required: true + onap.datatypes.native.apex.EngineService: derived_from: tosca.datatypes.Root properties: @@ -195,6 +196,7 @@ data_types: plugin_class_name: type: string description: The class path of the plugin class for this executor + org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest: version: 1.0.0 derived_from: tosca.datatypes.Root @@ -241,6 +243,7 @@ data_types: type: org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest type_version: 1.0.0 description: A sequence of REST commands to send to the REST endpoint + policy_types: onap.policies.Native: derived_from: tosca.policies.Root @@ -271,6 +274,7 @@ policy_types: description: Envioronmental parameters for the APEX engine entry_schema: type: onap.datatypes.native.apex.Environment + node_types: org.onap.policy.clamp.acm.Participant: version: 1.0.1 @@ -405,6 +409,7 @@ node_types: type: org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity type_version: 1.0.0 description: The connfiguration entities the Automation Composition Element is managing and their associated REST requests + topology_template: inputs: acm_element_policy: @@ -428,12 +433,8 @@ topology_template: description: Automation composition element for the operational policy for Performance Management Subscription Handling properties: provider: Ericsson - policy_type_id: - name: onap.policies.operational.pm-subscription-handler - version: 1.0.0 startPhase: 0 - policy_id: - get_input: acm_element_policy + org.onap.k8s.acm.K8SAutomationCompositionParticipant: version: 2.3.4 type: org.onap.policy.clamp.acm.Participant @@ -452,19 +453,6 @@ topology_template: startPhase: 0 uninitializedToPassiveTimeout: 300 podStatusCheckInterval: 30 - chart: - chartId: - name: acelement - version: 0.1.0 - namespace: onap - releaseName: acm-starter - podName: acm-starter - repository: - repoName: local - address: 'http://cluster-ip:8080' - overrideParams: - acelement.elementId.name: onap.policy.clamp.ac.starter - service.nodeport: 30800 onap.policy.clamp.ac.element.K8S_BridgeAutomationCompositionElement: # Chart from any chart repository configured on helm client. version: 1.2.3 @@ -476,19 +464,6 @@ topology_template: startPhase: 0 uninitializedToPassiveTimeout: 300 podStatusCheckInterval: 30 - chart: - chartId: - name: acelement - version: 0.1.0 - namespace: onap - releaseName: acm-bridge - podName: acm-bridge - repository: - repoName: local - address: 'http://cluster-ip:8080' - overrideParams: - acelement.elementId.name: onap.policy.clamp.ac.bridge - service.nodeport: 30801 onap.policy.clamp.ac.element.K8S_SinkAutomationCompositionElement: # Chart from any chart repository configured on helm client. version: 1.2.3 @@ -500,19 +475,7 @@ topology_template: startPhase: 0 uninitializedToPassiveTimeout: 300 podStatusCheckInterval: 30 - chart: - chartId: - name: acelement - version: 0.1.0 - namespace: onap - releaseName: acm-sink - podName: acm-sink - repository: - repoName: local - address: 'http://cluster-ip:8080' - overrideParams: - acelement.elementId.name: onap.policy.clamp.ac.sink - service.nodeport: 30802 + org.onap.policy.clamp.acm.HttpParticipant: version: 2.3.4 type: org.onap.policy.clamp.acm.Participant @@ -530,22 +493,6 @@ topology_template: provider: ONAP uninitializedToPassiveTimeout: 300 startPhase: 1 - baseUrl: http://cluster-ip:30800 - httpHeaders: - Content-Type: application/json - Authorization: Basic YWNtVXNlcjp6YiFYenRHMzQ= - configurationEntities: - - configurationEntityId: - name: onap.policy.clamp.ac.starter - version: 1.0.0 - restSequence: - - restRequestId: - name: request1 - version: 1.0.1 - httpMethod: POST - path: /onap/policy/clamp/acelement/v2/activate - body: '{ "receiverId": { "name": "onap.policy.clamp.ac.startertobridge", "version": "1.0.0" }, "timerMs": 20000, "elementType": "STARTER", "topicParameterGroup": { "server": "acm-starter-ac-element-impl-dmaap", "listenerTopic": "POLICY_UPDATE_MSG", "publisherTopic": "AC_ELEMENT_MSG", "fetchTimeout": 15000, "topicCommInfrastructure": "dmaap" } }' - expectedResponse: 201 onap.policy.clamp.ac.element.Http_BridgeAutomationCompositionElement: # Http config for AC Element Bridge. version: 1.2.3 @@ -556,22 +503,6 @@ topology_template: provider: ONAP uninitializedToPassiveTimeout: 300 startPhase: 1 - baseUrl: http://cluster-ip:30801 - httpHeaders: - Content-Type: application/json - Authorization: Basic YWNtVXNlcjp6YiFYenRHMzQ= - configurationEntities: - - configurationEntityId: - name: onap.policy.clamp.ac.bridge - version: 1.0.0 - restSequence: - - restRequestId: - name: request2 - version: 1.0.1 - httpMethod: POST - path: /onap/policy/clamp/acelement/v2/activate - body: '{ "receiverId": { "name": "onap.policy.clamp.ac.bridgetosink", "version": "1.0.0" }, "timerMs": 20000, "elementType": "BRIDGE", "topicParameterGroup": { "server": "acm-starter-ac-element-impl-dmaap", "listenerTopic": "POLICY_UPDATE_MSG", "publisherTopic": "AC_ELEMENT_MSG", "fetchTimeout": 15000, "topicCommInfrastructure": "dmaap" } }' - expectedResponse: 201 onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement: # Http config for AC Element Sink. version: 1.2.3 @@ -582,22 +513,7 @@ topology_template: provider: ONAP uninitializedToPassiveTimeout: 300 startPhase: 1 - baseUrl: http://cluster-ip:30802 - httpHeaders: - Content-Type: application/json - Authorization: Basic YWNtVXNlcjp6YiFYenRHMzQ= - configurationEntities: - - configurationEntityId: - name: onap.policy.clamp.ac.sink - version: 1.0.0 - restSequence: - - restRequestId: - name: request3 - version: 1.0.1 - httpMethod: POST - path: /onap/policy/clamp/acelement/v2/activate - body: '{ "receiverId": { "name": "onap.policy.clamp.ac.sink", "version": "1.0.0" }, "timerMs": 20000, "elementType": "SINK", "topicParameterGroup": { "server": "acm-starter-ac-element-impl-dmaap", "listenerTopic": "POLICY_UPDATE_MSG", "publisherTopic": "AC_ELEMENT_MSG", "fetchTimeout": 15000, "topicCommInfrastructure": "dmaap" } }' - expectedResponse: 201 + onap.policy.clamp.ac.element.AutomationCompositionDefinition: version: 1.2.3 type: org.onap.policy.clamp.acm.AutomationComposition @@ -620,176 +536,177 @@ topology_template: version: 1.2.3 - name: onap.policy.clamp.ac.element.Http_SinkAutomationCompositionElement version: 1.2.3 + policies: - - onap.policies.native.apex.ac.element: - type: onap.policies.native.Apex - type_version: 1.0.0 - properties: - engineServiceParameters: - name: MyApexEngine - version: 0.0.1 - id: 45 - instanceCount: 2 - deploymentPort: 12561 - engineParameters: - executorParameters: - JAVASCRIPT: - parameterClassName: org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters - contextParameters: - parameterClassName: org.onap.policy.apex.context.parameters.ContextParameters - schemaParameters: - Json: - parameterClassName: org.onap.policy.apex.plugins.context.schema.json.JsonSchemaHelperParameters - policy_type_impl: - policies: - key: - name: APEXacElementPolicy_Policies - version: 0.0.1 - policyMap: - entry: - - key: - name: ReceiveEventPolicy - version: 0.0.1 - value: - policyKey: - name: ReceiveEventPolicy - version: 0.0.1 - template: Freestyle - state: - entry: - - key: DecideForwardingState + - onap.policies.native.apex.ac.element: + type: onap.policies.native.Apex + type_version: 1.0.0 + properties: + engineServiceParameters: + name: MyApexEngine + version: 0.0.1 + id: 45 + instanceCount: 2 + deploymentPort: 12561 + engineParameters: + executorParameters: + JAVASCRIPT: + parameterClassName: org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters + contextParameters: + parameterClassName: org.onap.policy.apex.context.parameters.ContextParameters + schemaParameters: + Json: + parameterClassName: org.onap.policy.apex.plugins.context.schema.json.JsonSchemaHelperParameters + policy_type_impl: + policies: + key: + name: APEXacElementPolicy_Policies + version: 0.0.1 + policyMap: + entry: + - key: + name: ReceiveEventPolicy + version: 0.0.1 + value: + policyKey: + name: ReceiveEventPolicy + version: 0.0.1 + template: Freestyle + state: + entry: + - key: DecideForwardingState + value: + stateKey: + parentKeyName: ReceiveEventPolicy + parentKeyVersion: 0.0.1 + parentLocalName: 'NULL' + localName: DecideForwardingState + trigger: + name: AcElementEvent + version: 0.0.1 + stateOutputs: + entry: + - key: CreateForwardPayload value: - stateKey: + key: parentKeyName: ReceiveEventPolicy parentKeyVersion: 0.0.1 - parentLocalName: 'NULL' - localName: DecideForwardingState - trigger: - name: AcElementEvent + parentLocalName: DecideForwardingState + localName: CreateForwardPayload + outgoingEvent: + name: DmaapResponseStatusEvent version: 0.0.1 - stateOutputs: - entry: - - key: CreateForwardPayload - value: - key: - parentKeyName: ReceiveEventPolicy - parentKeyVersion: 0.0.1 - parentLocalName: DecideForwardingState - localName: CreateForwardPayload - outgoingEvent: - name: DmaapResponseStatusEvent - version: 0.0.1 - outgoingEventReference: - - name: DmaapResponseStatusEvent - version: 0.0.1 - nextState: - parentKeyName: 'NULL' - parentKeyVersion: 0.0.0 - parentLocalName: 'NULL' - localName: 'NULL' - contextAlbumReference: [] - taskSelectionLogic: - key: - parentKeyName: 'NULL' - parentKeyVersion: 0.0.0 - parentLocalName: 'NULL' - localName: 'NULL' - logicFlavour: UNDEFINED - logic: '' - stateFinalizerLogicMap: - entry: [] - defaultTask: - name: ForwardPayloadTask + outgoingEventReference: + - name: DmaapResponseStatusEvent version: 0.0.1 - taskReferences: - entry: - - key: - name: ForwardPayloadTask - version: 0.0.1 - value: - key: - parentKeyName: ReceiveEventPolicy - parentKeyVersion: 0.0.1 - parentLocalName: DecideForwardingState - localName: ReceiveEventPolicy - outputType: DIRECT - output: - parentKeyName: ReceiveEventPolicy - parentKeyVersion: 0.0.1 - parentLocalName: DecideForwardingState - localName: CreateForwardPayload - firstState: DecideForwardingState - tasks: - key: - name: APEXacElementPolicy_Tasks - version: 0.0.1 - taskMap: - entry: - - key: - name: ForwardPayloadTask + nextState: + parentKeyName: 'NULL' + parentKeyVersion: 0.0.0 + parentLocalName: 'NULL' + localName: 'NULL' + contextAlbumReference: [] + taskSelectionLogic: + key: + parentKeyName: 'NULL' + parentKeyVersion: 0.0.0 + parentLocalName: 'NULL' + localName: 'NULL' + logicFlavour: UNDEFINED + logic: '' + stateFinalizerLogicMap: + entry: [] + defaultTask: + name: ForwardPayloadTask + version: 0.0.1 + taskReferences: + entry: + - key: + name: ForwardPayloadTask + version: 0.0.1 + value: + key: + parentKeyName: ReceiveEventPolicy + parentKeyVersion: 0.0.1 + parentLocalName: DecideForwardingState + localName: ReceiveEventPolicy + outputType: DIRECT + output: + parentKeyName: ReceiveEventPolicy + parentKeyVersion: 0.0.1 + parentLocalName: DecideForwardingState + localName: CreateForwardPayload + firstState: DecideForwardingState + tasks: + key: + name: APEXacElementPolicy_Tasks + version: 0.0.1 + taskMap: + entry: + - key: + name: ForwardPayloadTask + version: 0.0.1 + value: + key: + name: ForwardPayloadTask + version: 0.0.1 + inputEvent: + key: + name: AcElementEvent version: 0.0.1 - value: - key: - name: ForwardPayloadTask - version: 0.0.1 - inputEvent: + nameSpace: org.onap.policy.apex.ac.element + source: Dmaap + target: APEX + parameter: + entry: + - key: DmaapResponseEvent + value: + key: + parentKeyName: AcElementEvent + parentKeyVersion: 0.0.1 + parentLocalName: 'NULL' + localName: DmaapResponseEvent + fieldSchemaKey: + name: ACEventType + version: 0.0.1 + optional: false + toscaPolicyState: ENTRY + outputEvents: + entry: + - key: DmaapResponseStatusEvent + value: key: - name: AcElementEvent + name: DmaapResponseStatusEvent version: 0.0.1 nameSpace: org.onap.policy.apex.ac.element - source: Dmaap - target: APEX + source: APEX + target: Dmaap parameter: entry: - - key: DmaapResponseEvent - value: - key: - parentKeyName: AcElementEvent - parentKeyVersion: 0.0.1 - parentLocalName: 'NULL' - localName: DmaapResponseEvent - fieldSchemaKey: - name: ACEventType - version: 0.0.1 - optional: false - toscaPolicyState: ENTRY - outputEvents: - entry: - key: DmaapResponseStatusEvent value: key: - name: DmaapResponseStatusEvent + parentKeyName: DmaapResponseStatusEvent + parentKeyVersion: 0.0.1 + parentLocalName: 'NULL' + localName: DmaapResponseStatusEvent + fieldSchemaKey: + name: ACEventType version: 0.0.1 - nameSpace: org.onap.policy.apex.ac.element - source: APEX - target: Dmaap - parameter: - entry: - - key: DmaapResponseStatusEvent - value: - key: - parentKeyName: DmaapResponseStatusEvent - parentKeyVersion: 0.0.1 - parentLocalName: 'NULL' - localName: DmaapResponseStatusEvent - fieldSchemaKey: - name: ACEventType - version: 0.0.1 - optional: false - toscaPolicyState: '' - taskParameters: - entry: [] - contextAlbumReference: - - name: ACElementAlbum - version: 0.0.1 - taskLogic: - key: - parentKeyName: ForwardPayloadTask - parentKeyVersion: 0.0.1 - parentLocalName: 'NULL' - localName: TaskLogic - logicFlavour: JAVASCRIPT - logic: "/*\n * ============LICENSE_START=======================================================\n\ + optional: false + toscaPolicyState: '' + taskParameters: + entry: [] + contextAlbumReference: + - name: ACElementAlbum + version: 0.0.1 + taskLogic: + key: + parentKeyName: ForwardPayloadTask + parentKeyVersion: 0.0.1 + parentLocalName: 'NULL' + localName: TaskLogic + logicFlavour: JAVASCRIPT + logic: "/*\n * ============LICENSE_START=======================================================\n\ \ * Copyright (C) 2022 Nordix. All rights reserved.\n * ================================================================================\n\ \ * Licensed under the Apache License, Version 2.0 (the 'License');\n\ \ * you may not use this file except in compliance with the\ @@ -824,128 +741,128 @@ topology_template: \n executor.logger.info('Sending forwarding Event to Ac\ \ element: ' + dmaapResponse);\n\n executor.outFields.put('DmaapResponseStatusEvent',\ \ dmaapResponse);\n}\n\ntrue;" - events: - key: - name: APEXacElementPolicy_Events - version: 0.0.1 - eventMap: - entry: - - key: - name: AcElementEvent - version: 0.0.1 - value: - key: - name: AcElementEvent - version: 0.0.1 - nameSpace: org.onap.policy.apex.ac.element - source: Dmaap - target: APEX - parameter: - entry: - - key: DmaapResponseEvent - value: - key: - parentKeyName: AcElementEvent - parentKeyVersion: 0.0.1 - parentLocalName: 'NULL' - localName: DmaapResponseEvent - fieldSchemaKey: - name: ACEventType - version: 0.0.1 - optional: false - toscaPolicyState: ENTRY - - key: - name: DmaapResponseStatusEvent - version: 0.0.1 - value: - key: - name: DmaapResponseStatusEvent - version: 0.0.1 - nameSpace: org.onap.policy.apex.ac.element - source: APEX - target: Dmaap - parameter: - entry: - - key: DmaapResponseStatusEvent - value: - key: - parentKeyName: DmaapResponseStatusEvent - parentKeyVersion: 0.0.1 - parentLocalName: 'NULL' - localName: DmaapResponseStatusEvent - fieldSchemaKey: - name: ACEventType - version: 0.0.1 - optional: false - toscaPolicyState: '' - - key: - name: LogEvent - version: 0.0.1 - value: - key: - name: LogEvent - version: 0.0.1 - nameSpace: org.onap.policy.apex.ac.element - source: APEX - target: file - parameter: - entry: - - key: final_status - value: - key: - parentKeyName: LogEvent - parentKeyVersion: 0.0.1 - parentLocalName: 'NULL' - localName: final_status - fieldSchemaKey: - name: SimpleStringType - version: 0.0.1 - optional: false - - key: message - value: - key: - parentKeyName: LogEvent - parentKeyVersion: 0.0.1 - parentLocalName: 'NULL' - localName: message - fieldSchemaKey: - name: SimpleStringType - version: 0.0.1 - optional: false - toscaPolicyState: '' + events: + key: + name: APEXacElementPolicy_Events + version: 0.0.1 + eventMap: + entry: + - key: + name: AcElementEvent + version: 0.0.1 + value: + key: + name: AcElementEvent + version: 0.0.1 + nameSpace: org.onap.policy.apex.ac.element + source: Dmaap + target: APEX + parameter: + entry: + - key: DmaapResponseEvent + value: + key: + parentKeyName: AcElementEvent + parentKeyVersion: 0.0.1 + parentLocalName: 'NULL' + localName: DmaapResponseEvent + fieldSchemaKey: + name: ACEventType + version: 0.0.1 + optional: false + toscaPolicyState: ENTRY + - key: + name: DmaapResponseStatusEvent + version: 0.0.1 + value: + key: + name: DmaapResponseStatusEvent + version: 0.0.1 + nameSpace: org.onap.policy.apex.ac.element + source: APEX + target: Dmaap + parameter: + entry: + - key: DmaapResponseStatusEvent + value: + key: + parentKeyName: DmaapResponseStatusEvent + parentKeyVersion: 0.0.1 + parentLocalName: 'NULL' + localName: DmaapResponseStatusEvent + fieldSchemaKey: + name: ACEventType + version: 0.0.1 + optional: false + toscaPolicyState: '' + - key: + name: LogEvent + version: 0.0.1 + value: + key: + name: LogEvent + version: 0.0.1 + nameSpace: org.onap.policy.apex.ac.element + source: APEX + target: file + parameter: + entry: + - key: final_status + value: + key: + parentKeyName: LogEvent + parentKeyVersion: 0.0.1 + parentLocalName: 'NULL' + localName: final_status + fieldSchemaKey: + name: SimpleStringType + version: 0.0.1 + optional: false + - key: message + value: + key: + parentKeyName: LogEvent + parentKeyVersion: 0.0.1 + parentLocalName: 'NULL' + localName: message + fieldSchemaKey: + name: SimpleStringType + version: 0.0.1 + optional: false + toscaPolicyState: '' + albums: + key: + name: APEXacElementPolicy_Albums + version: 0.0.1 albums: - key: - name: APEXacElementPolicy_Albums - version: 0.0.1 - albums: - entry: - - key: - name: ACElementAlbum - version: 0.0.1 - value: - key: - name: ACElementAlbum - version: 0.0.1 - scope: policy - isWritable: true - itemSchema: - name: ACEventType - version: 0.0.1 + entry: + - key: + name: ACElementAlbum + version: 0.0.1 + value: + key: + name: ACElementAlbum + version: 0.0.1 + scope: policy + isWritable: true + itemSchema: + name: ACEventType + version: 0.0.1 + schemas: + key: + name: APEXacElementPolicy_Schemas + version: 0.0.1 schemas: - key: - name: APEXacElementPolicy_Schemas - version: 0.0.1 - schemas: - entry: - - key: - name: ACEventType - version: 0.0.1 - value: - key: - name: ACEventType - version: 0.0.1 - schemaFlavour: Json - schemaDefinition: "{\n \"$schema\": \"http://json-schema.org/draft-04/schema#\"\ + entry: + - key: + name: ACEventType + version: 0.0.1 + value: + key: + name: ACEventType + version: 0.0.1 + schemaFlavour: Json + schemaDefinition: "{\n \"$schema\": \"http://json-schema.org/draft-04/schema#\"\ ,\n \"type\": \"object\",\n \"properties\": {\n \ \ \"elementId\": {\n \"type\": \"object\",\n \ \ \"properties\": {\n \"name\": {\n \ @@ -958,243 +875,243 @@ topology_template: messageType\": {\n \"type\": \"string\"\n \ \ }\n },\n \"required\": [\n \"elementId\",\n \ \ \"message\",\n \"messageType\"\n ]\n}" - - key: - name: SimpleIntType - version: 0.0.1 - value: - key: - name: SimpleIntType - version: 0.0.1 - schemaFlavour: Java - schemaDefinition: java.lang.Integer - - key: - name: SimpleStringType - version: 0.0.1 - value: - key: - name: SimpleStringType - version: 0.0.1 - schemaFlavour: Java - schemaDefinition: java.lang.String - - key: - name: UUIDType - version: 0.0.1 - value: - key: - name: UUIDType - version: 0.0.1 - schemaFlavour: Java - schemaDefinition: java.util.UUID + - key: + name: SimpleIntType + version: 0.0.1 + value: + key: + name: SimpleIntType + version: 0.0.1 + schemaFlavour: Java + schemaDefinition: java.lang.Integer + - key: + name: SimpleStringType + version: 0.0.1 + value: + key: + name: SimpleStringType + version: 0.0.1 + schemaFlavour: Java + schemaDefinition: java.lang.String + - key: + name: UUIDType + version: 0.0.1 + value: + key: + name: UUIDType + version: 0.0.1 + schemaFlavour: Java + schemaDefinition: java.util.UUID + key: + name: APEXacElementPolicy + version: 0.0.1 + keyInformation: key: - name: APEXacElementPolicy + name: APEXacElementPolicy_KeyInfo version: 0.0.1 - keyInformation: - key: - name: APEXacElementPolicy_KeyInfo - version: 0.0.1 - keyInfoMap: - entry: - - key: - name: ACElementAlbum - version: 0.0.1 - value: - key: - name: ACElementAlbum - version: 0.0.1 - UUID: 7cddfab8-6d3f-3f7f-8ac3-e2eb5979c900 - description: Generated description for concept referred to by - key "ACElementAlbum:0.0.1" - - key: - name: ACEventType - version: 0.0.1 - value: - key: - name: ACEventType - version: 0.0.1 - UUID: dab78794-b666-3929-a75b-70d634b04fe5 - description: Generated description for concept referred to by - key "ACEventType:0.0.1" - - key: - name: APEXacElementPolicy - version: 0.0.1 - value: - key: - name: APEXacElementPolicy - version: 0.0.1 - UUID: da478611-7d77-3c46-b4be-be968769ba4e - description: Generated description for concept referred to by - key "APEXacElementPolicy:0.0.1" - - key: - name: APEXacElementPolicy_Albums - version: 0.0.1 - value: - key: - name: APEXacElementPolicy_Albums - version: 0.0.1 - UUID: fa8dc15e-8c8d-3de3-a0f8-585b76511175 - description: Generated description for concept referred to by - key "APEXacElementPolicy_Albums:0.0.1" - - key: - name: APEXacElementPolicy_Events - version: 0.0.1 - value: - key: - name: APEXacElementPolicy_Events - version: 0.0.1 - UUID: 8508cd65-8dd2-342d-a5c6-1570810dbe2b - description: Generated description for concept referred to by - key "APEXacElementPolicy_Events:0.0.1" - - key: - name: APEXacElementPolicy_KeyInfo - version: 0.0.1 - value: - key: - name: APEXacElementPolicy_KeyInfo - version: 0.0.1 - UUID: 09e6927d-c5ac-3779-919f-9333994eed22 - description: Generated description for concept referred to by - key "APEXacElementPolicy_KeyInfo:0.0.1" - - key: - name: APEXacElementPolicy_Policies - version: 0.0.1 - value: - key: - name: APEXacElementPolicy_Policies - version: 0.0.1 - UUID: cade3c9a-1600-3642-a6f4-315612187f46 - description: Generated description for concept referred to by - key "APEXacElementPolicy_Policies:0.0.1" - - key: - name: APEXacElementPolicy_Schemas - version: 0.0.1 - value: - key: - name: APEXacElementPolicy_Schemas - version: 0.0.1 - UUID: 5bb4a8e9-35fa-37db-9a49-48ef036a7ba9 - description: Generated description for concept referred to by - key "APEXacElementPolicy_Schemas:0.0.1" - - key: - name: APEXacElementPolicy_Tasks - version: 0.0.1 - value: - key: - name: APEXacElementPolicy_Tasks - version: 0.0.1 - UUID: 2527eeec-0d1f-3094-ad3f-212622b12836 - description: Generated description for concept referred to by - key "APEXacElementPolicy_Tasks:0.0.1" - - key: - name: AcElementEvent - version: 0.0.1 - value: - key: - name: AcElementEvent - version: 0.0.1 - UUID: 32c013e2-2740-3986-a626-cbdf665b63e9 - description: Generated description for concept referred to by - key "AcElementEvent:0.0.1" - - key: - name: DmaapResponseStatusEvent - version: 0.0.1 - value: - key: - name: DmaapResponseStatusEvent - version: 0.0.1 - UUID: 2715cb6c-2778-3461-8b69-871e79f95935 - description: Generated description for concept referred to by - key "DmaapResponseStatusEvent:0.0.1" - - key: - name: ForwardPayloadTask - version: 0.0.1 - value: - key: - name: ForwardPayloadTask - version: 0.0.1 - UUID: 51defa03-1ecf-3314-bf34-2a652bce57fa - description: Generated description for concept referred to by - key "ForwardPayloadTask:0.0.1" - - key: - name: LogEvent - version: 0.0.1 - value: - key: - name: LogEvent - version: 0.0.1 - UUID: c540f048-96af-35e3-a36e-e9c29377cba7 - description: Generated description for concept referred to by - key "LogEvent:0.0.1" - - key: - name: ReceiveEventPolicy - version: 0.0.1 - value: - key: - name: ReceiveEventPolicy - version: 0.0.1 - UUID: 568b7345-9de1-36d3-b6a3-9b857e6809a1 - description: Generated description for concept referred to by - key "ReceiveEventPolicy:0.0.1" - - key: - name: SimpleIntType - version: 0.0.1 - value: - key: - name: SimpleIntType - version: 0.0.1 - UUID: 153791fd-ae0a-36a7-88a5-309a7936415d - description: Generated description for concept referred to by - key "SimpleIntType:0.0.1" - - key: - name: SimpleStringType - version: 0.0.1 - value: - key: - name: SimpleStringType - version: 0.0.1 - UUID: 8a4957cf-9493-3a76-8c22-a208e23259af - description: Generated description for concept referred to by - key "SimpleStringType:0.0.1" - - key: - name: UUIDType - version: 0.0.1 - value: - key: - name: UUIDType - version: 0.0.1 - UUID: 6a8cc68e-dfc8-3403-9c6d-071c886b319c - description: Generated description for concept referred to by - key "UUIDType:0.0.1" - eventInputParameters: - DmaapConsumer: - carrierTechnologyParameters: - carrierTechnology: RESTCLIENT - parameterClassName: org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters - parameters: - url: http://message-router:3904/events/AC_ELEMENT_MSG/APEX/1?timeout=30000 - eventProtocolParameters: - eventProtocol: JSON - parameters: - pojoField: DmaapResponseEvent - eventName: AcElementEvent - eventNameFilter: AcElementEvent - eventOutputParameters: - logOutputter: - carrierTechnologyParameters: - carrierTechnology: FILE - parameters: - fileName: outputevents.log - eventProtocolParameters: - eventProtocol: JSON - DmaapReplyProducer: - carrierTechnologyParameters: - carrierTechnology: RESTCLIENT - parameterClassName: org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters - parameters: - url: http://message-router:3904/events/POLICY_UPDATE_MSG - eventProtocolParameters: - eventProtocol: JSON - parameters: - pojoField: DmaapResponseStatusEvent - eventNameFilter: (LogEvent|DmaapResponseStatusEvent) - name: onap.policies.native.apex.ac.element - version: 1.0.0 + keyInfoMap: + entry: + - key: + name: ACElementAlbum + version: 0.0.1 + value: + key: + name: ACElementAlbum + version: 0.0.1 + UUID: 7cddfab8-6d3f-3f7f-8ac3-e2eb5979c900 + description: Generated description for concept referred to by + key "ACElementAlbum:0.0.1" + - key: + name: ACEventType + version: 0.0.1 + value: + key: + name: ACEventType + version: 0.0.1 + UUID: dab78794-b666-3929-a75b-70d634b04fe5 + description: Generated description for concept referred to by + key "ACEventType:0.0.1" + - key: + name: APEXacElementPolicy + version: 0.0.1 + value: + key: + name: APEXacElementPolicy + version: 0.0.1 + UUID: da478611-7d77-3c46-b4be-be968769ba4e + description: Generated description for concept referred to by + key "APEXacElementPolicy:0.0.1" + - key: + name: APEXacElementPolicy_Albums + version: 0.0.1 + value: + key: + name: APEXacElementPolicy_Albums + version: 0.0.1 + UUID: fa8dc15e-8c8d-3de3-a0f8-585b76511175 + description: Generated description for concept referred to by + key "APEXacElementPolicy_Albums:0.0.1" + - key: + name: APEXacElementPolicy_Events + version: 0.0.1 + value: + key: + name: APEXacElementPolicy_Events + version: 0.0.1 + UUID: 8508cd65-8dd2-342d-a5c6-1570810dbe2b + description: Generated description for concept referred to by + key "APEXacElementPolicy_Events:0.0.1" + - key: + name: APEXacElementPolicy_KeyInfo + version: 0.0.1 + value: + key: + name: APEXacElementPolicy_KeyInfo + version: 0.0.1 + UUID: 09e6927d-c5ac-3779-919f-9333994eed22 + description: Generated description for concept referred to by + key "APEXacElementPolicy_KeyInfo:0.0.1" + - key: + name: APEXacElementPolicy_Policies + version: 0.0.1 + value: + key: + name: APEXacElementPolicy_Policies + version: 0.0.1 + UUID: cade3c9a-1600-3642-a6f4-315612187f46 + description: Generated description for concept referred to by + key "APEXacElementPolicy_Policies:0.0.1" + - key: + name: APEXacElementPolicy_Schemas + version: 0.0.1 + value: + key: + name: APEXacElementPolicy_Schemas + version: 0.0.1 + UUID: 5bb4a8e9-35fa-37db-9a49-48ef036a7ba9 + description: Generated description for concept referred to by + key "APEXacElementPolicy_Schemas:0.0.1" + - key: + name: APEXacElementPolicy_Tasks + version: 0.0.1 + value: + key: + name: APEXacElementPolicy_Tasks + version: 0.0.1 + UUID: 2527eeec-0d1f-3094-ad3f-212622b12836 + description: Generated description for concept referred to by + key "APEXacElementPolicy_Tasks:0.0.1" + - key: + name: AcElementEvent + version: 0.0.1 + value: + key: + name: AcElementEvent + version: 0.0.1 + UUID: 32c013e2-2740-3986-a626-cbdf665b63e9 + description: Generated description for concept referred to by + key "AcElementEvent:0.0.1" + - key: + name: DmaapResponseStatusEvent + version: 0.0.1 + value: + key: + name: DmaapResponseStatusEvent + version: 0.0.1 + UUID: 2715cb6c-2778-3461-8b69-871e79f95935 + description: Generated description for concept referred to by + key "DmaapResponseStatusEvent:0.0.1" + - key: + name: ForwardPayloadTask + version: 0.0.1 + value: + key: + name: ForwardPayloadTask + version: 0.0.1 + UUID: 51defa03-1ecf-3314-bf34-2a652bce57fa + description: Generated description for concept referred to by + key "ForwardPayloadTask:0.0.1" + - key: + name: LogEvent + version: 0.0.1 + value: + key: + name: LogEvent + version: 0.0.1 + UUID: c540f048-96af-35e3-a36e-e9c29377cba7 + description: Generated description for concept referred to by + key "LogEvent:0.0.1" + - key: + name: ReceiveEventPolicy + version: 0.0.1 + value: + key: + name: ReceiveEventPolicy + version: 0.0.1 + UUID: 568b7345-9de1-36d3-b6a3-9b857e6809a1 + description: Generated description for concept referred to by + key "ReceiveEventPolicy:0.0.1" + - key: + name: SimpleIntType + version: 0.0.1 + value: + key: + name: SimpleIntType + version: 0.0.1 + UUID: 153791fd-ae0a-36a7-88a5-309a7936415d + description: Generated description for concept referred to by + key "SimpleIntType:0.0.1" + - key: + name: SimpleStringType + version: 0.0.1 + value: + key: + name: SimpleStringType + version: 0.0.1 + UUID: 8a4957cf-9493-3a76-8c22-a208e23259af + description: Generated description for concept referred to by + key "SimpleStringType:0.0.1" + - key: + name: UUIDType + version: 0.0.1 + value: + key: + name: UUIDType + version: 0.0.1 + UUID: 6a8cc68e-dfc8-3403-9c6d-071c886b319c + description: Generated description for concept referred to by + key "UUIDType:0.0.1" + eventInputParameters: + DmaapConsumer: + carrierTechnologyParameters: + carrierTechnology: RESTCLIENT + parameterClassName: org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters + parameters: + url: http://message-router:3904/events/AC_ELEMENT_MSG/APEX/1?timeout=30000 + eventProtocolParameters: + eventProtocol: JSON + parameters: + pojoField: DmaapResponseEvent + eventName: AcElementEvent + eventNameFilter: AcElementEvent + eventOutputParameters: + logOutputter: + carrierTechnologyParameters: + carrierTechnology: FILE + parameters: + fileName: outputevents.log + eventProtocolParameters: + eventProtocol: JSON + DmaapReplyProducer: + carrierTechnologyParameters: + carrierTechnology: RESTCLIENT + parameterClassName: org.onap.policy.apex.plugins.event.carrier.restclient.RestClientCarrierTechnologyParameters + parameters: + url: http://message-router:3904/events/POLICY_UPDATE_MSG + eventProtocolParameters: + eventProtocol: JSON + parameters: + pojoField: DmaapResponseStatusEvent + eventNameFilter: (LogEvent|DmaapResponseStatusEvent) + name: onap.policies.native.apex.ac.element + version: 1.0.0 diff --git a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/commissioning/CommissioningProvider.java b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/commissioning/CommissioningProvider.java index 456e61c20..ca0b5c5ab 100644 --- a/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/commissioning/CommissioningProvider.java +++ b/runtime-acm/src/main/java/org/onap/policy/clamp/acm/runtime/commissioning/CommissioningProvider.java @@ -22,6 +22,8 @@ package org.onap.policy.clamp.acm.runtime.commissioning; import java.util.UUID; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; import java.util.stream.Collectors; import javax.ws.rs.core.Response.Status; import lombok.RequiredArgsConstructor; @@ -55,6 +57,8 @@ public class CommissioningProvider { private final AcTypeStateResolver acTypeStateResolver; private final ParticipantPrimePublisher participantPrimePublisher; + private final ExecutorService executor = Executors.newFixedThreadPool(1); + private CommissioningResponse createCommissioningResponse(UUID compositionId, ToscaServiceTemplate serviceTemplate) { var response = new CommissioningResponse(); @@ -193,7 +197,9 @@ public class CommissioningProvider { private void prime(AutomationCompositionDefinition acmDefinition) { var prearation = participantPrimePublisher.prepareParticipantPriming(acmDefinition); acDefinitionProvider.updateAcDefinition(acmDefinition); - participantPrimePublisher.sendPriming(prearation, acmDefinition.getCompositionId(), null); + + executor.execute( + () -> participantPrimePublisher.sendPriming(prearation, acmDefinition.getCompositionId(), null)); } private void deprime(AutomationCompositionDefinition acmDefinition) { @@ -204,7 +210,7 @@ public class CommissioningProvider { acmDefinition.setState(AcTypeState.DEPRIMING); acDefinitionProvider.updateAcDefinition(acmDefinition); } - participantPrimePublisher.sendDepriming(acmDefinition.getCompositionId()); + executor.execute(() -> participantPrimePublisher.sendDepriming(acmDefinition.getCompositionId())); } } diff --git a/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/commissioning/CommissioningProviderTest.java b/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/commissioning/CommissioningProviderTest.java index 327d881a1..fbaa4fed5 100644 --- a/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/commissioning/CommissioningProviderTest.java +++ b/runtime-acm/src/test/java/org/onap/policy/clamp/acm/runtime/commissioning/CommissioningProviderTest.java @@ -25,6 +25,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.timeout; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import static org.onap.policy.clamp.acm.runtime.util.CommonTestData.TOSCA_SERVICE_TEMPLATE_YAML; @@ -162,7 +163,7 @@ class CommissioningProviderTest { acTypeStateUpdate.setPrimeOrder(PrimeOrder.PRIME); provider.compositionDefinitionPriming(compositionId, acTypeStateUpdate); verify(acDefinitionProvider).updateAcDefinition(acmDefinition); - verify(participantPrimePublisher).sendPriming(any(), any(), any()); + verify(participantPrimePublisher, timeout(1000).times(1)).sendPriming(any(), any(), any()); } @Test @@ -180,6 +181,6 @@ class CommissioningProviderTest { var acTypeStateUpdate = new AcTypeStateUpdate(); acTypeStateUpdate.setPrimeOrder(PrimeOrder.DEPRIME); provider.compositionDefinitionPriming(compositionId, acTypeStateUpdate); - verify(participantPrimePublisher).sendDepriming(compositionId); + verify(participantPrimePublisher, timeout(1000).times(1)).sendDepriming(compositionId); } } |