2 * ============LICENSE_START=======================================================
3 * Copyright (C) 2021 Nordix Foundation
4 * Modifications Copyright (C) 2022 Bell Canada. All rights reserved.
5 * ================================================================================
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
17 * SPDX-License-Identifier: Apache-2.0
18 * ============LICENSE_END=========================================================
21 package org.onap.policy.apex.service.engine.event.impl.enevent;
23 import static org.assertj.core.api.Assertions.assertThatThrownBy;
24 import static org.junit.Assert.assertArrayEquals;
26 import java.util.List;
27 import java.util.Random;
28 import org.apache.commons.lang3.RandomStringUtils;
29 import org.junit.Before;
30 import org.junit.Test;
31 import org.onap.policy.apex.core.engine.event.EnEvent;
32 import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
33 import org.onap.policy.apex.model.basicmodel.concepts.AxToscaPolicyProcessingStatus;
34 import org.onap.policy.apex.model.eventmodel.concepts.AxEvent;
35 import org.onap.policy.apex.service.engine.event.ApexEvent;
36 import org.onap.policy.apex.service.engine.event.ApexEventException;
37 import org.onap.policy.apex.service.engine.event.ApexEventRuntimeException;
39 public class ApexEvent2EnEventConverterTest {
40 private ApexEvent2EnEventConverter converter;
41 private final Random random = new Random();
44 public void setUp() throws Exception {
45 converter = new ApexEvent2EnEventConverter(null);
49 public void toApexEventNull() {
50 final String eventName = RandomStringUtils.randomAlphabetic(3);
51 assertThatThrownBy(() -> converter.toApexEvent(eventName, null))
52 .isInstanceOf(ApexEventException.class);
56 public void toApexEventWrongClass() throws ApexException {
57 final String eventName = RandomStringUtils.randomAlphabetic(3);
58 final String name = RandomStringUtils.randomAlphanumeric(5);
59 final String version = RandomStringUtils.randomAlphanumeric(6);
60 final String nameSpace = "a" + RandomStringUtils.randomAlphanumeric(7);
61 final String source = RandomStringUtils.randomAlphanumeric(8);
62 final String target = RandomStringUtils.randomAlphanumeric(9);
63 final String toscaPolicyState = AxToscaPolicyProcessingStatus.ENTRY.name();
65 final ApexEvent event = new ApexEvent(name, version, nameSpace, source, target, toscaPolicyState);
67 assertThatThrownBy(() -> converter.toApexEvent(eventName, event))
68 .isInstanceOf(ApexEventRuntimeException.class);
72 public void toApex() throws ApexException {
73 // prepare String values for events
74 final String name = RandomStringUtils.randomAlphabetic(5);
75 final String version = RandomStringUtils.randomAlphabetic(6);
76 final String nameSpace = "b" + RandomStringUtils.randomAlphabetic(7);
77 final String source = RandomStringUtils.randomAlphabetic(8);
78 final String target = RandomStringUtils.randomAlphabetic(9);
79 final String toscaPolicyState = AxToscaPolicyProcessingStatus.ENTRY.name();
80 final int executionId = random.nextInt(1000);
81 final String exceptionMessage = RandomStringUtils.randomAlphabetic(11);
84 final AxEvent axEvent = new AxEvent();
85 axEvent.getKey().setName(name);
86 axEvent.getKey().setVersion(version);
87 axEvent.setNameSpace(nameSpace);
88 axEvent.setSource(source);
89 axEvent.setTarget(target);
90 axEvent.setToscaPolicyState(toscaPolicyState);
91 final EnEvent enEvent = new EnEvent(axEvent);
92 enEvent.setExecutionId(executionId);
93 enEvent.setExceptionMessage(exceptionMessage);
95 // prepare expected event
96 final ApexEvent apexEvent = new ApexEvent(name, version, nameSpace, source, target, toscaPolicyState);
97 apexEvent.setExecutionId(executionId);
98 apexEvent.setExceptionMessage(exceptionMessage);
99 final Object[] expected = {apexEvent};
102 final List<ApexEvent> actual = converter.toApexEvent(RandomStringUtils.randomAlphabetic(3), enEvent);
103 assertArrayEquals(expected, actual.toArray());