Standalone TCA with EELF Logger
[dcaegen2/analytics/tca-gen2.git] / dcae-analytics / dcae-analytics-model / src / test / java / org / onap / dcae / analytics / model / util / json / mixin / cef / AlertTypeMixinTest.java
1 /*
2  * ================================================================================
3  * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
4  * ================================================================================
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
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.
16  * ============LICENSE_END=========================================================
17  *
18  */
19
20 package org.onap.dcae.analytics.model.util.json.mixin.cef;
21
22 import static org.onap.dcae.analytics.model.util.json.AnalyticsModelJsonConversion.ANALYTICS_MODEL_OBJECT_MAPPER;
23
24 import org.assertj.core.api.Assertions;
25 import org.junit.jupiter.api.DisplayName;
26 import org.junit.jupiter.api.Test;
27 import org.onap.dcae.analytics.model.BaseAnalyticsModelTest;
28 import org.onap.dcae.analytics.model.cef.AlertType;
29
30
31 /**
32  * Test Alert Type Mixin JSON conversions.
33  *
34  * @author Rajiv Singla
35  */
36 class AlertTypeMixinTest extends BaseAnalyticsModelTest {
37
38     // NOTE: Alert type enum has some special customizations in AlertTypeMixin class
39     // as Java enum names does not allow for "-" so actual values are coded as enum names
40     @Test
41     @DisplayName("Test Alert Type Json Conversions")
42     public void testAlertTypeJsonConversions() throws Exception {
43
44         final String alertTypeJson = serializeModelToJson(AlertType.CARD_ANOMALY, ANALYTICS_MODEL_OBJECT_MAPPER);
45         Assertions.assertThat(alertTypeJson)
46                 .as("Alert Type Json for CARD ANOMALY must have hyphen in it").isEqualTo("\"CARD-ANOMALY\"");
47         // convert parsed alert type back to enum
48         final AlertType alertType = ANALYTICS_MODEL_OBJECT_MAPPER.readValue(alertTypeJson, AlertType.class);
49         Assertions.assertThat(alertType)
50                 .as("Json String for CARD ANOMALY with hyphen can be converted back to Alert Type")
51                 .isEqualTo(AlertType.CARD_ANOMALY);
52     }
53
54 }