diff options
Diffstat (limited to 'dcae-analytics/dcae-analytics-model/src/test/java')
4 files changed, 228 insertions, 0 deletions
diff --git a/dcae-analytics/dcae-analytics-model/src/test/java/org/onap/dcae/analytics/model/BaseAnalyticsModelTest.java b/dcae-analytics/dcae-analytics-model/src/test/java/org/onap/dcae/analytics/model/BaseAnalyticsModelTest.java new file mode 100644 index 0000000..ec0f329 --- /dev/null +++ b/dcae-analytics/dcae-analytics-model/src/test/java/org/onap/dcae/analytics/model/BaseAnalyticsModelTest.java @@ -0,0 +1,31 @@ +/* + * ================================================================================ + * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + * + */ + +package org.onap.dcae.analytics.model; + +import org.onap.dcae.analytics.test.BaseAnalyticsUnitTest; + +/** + * Base Analytics Model Unit Test. + * + * @author Rajiv Singla + */ +public abstract class BaseAnalyticsModelTest extends BaseAnalyticsUnitTest { + +} diff --git a/dcae-analytics/dcae-analytics-model/src/test/java/org/onap/dcae/analytics/model/util/json/mixin/cef/AlertTypeMixinTest.java b/dcae-analytics/dcae-analytics-model/src/test/java/org/onap/dcae/analytics/model/util/json/mixin/cef/AlertTypeMixinTest.java new file mode 100644 index 0000000..d3368de --- /dev/null +++ b/dcae-analytics/dcae-analytics-model/src/test/java/org/onap/dcae/analytics/model/util/json/mixin/cef/AlertTypeMixinTest.java @@ -0,0 +1,54 @@ +/* + * ================================================================================ + * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + * + */ + +package org.onap.dcae.analytics.model.util.json.mixin.cef; + +import static org.onap.dcae.analytics.model.util.json.AnalyticsModelJsonConversion.ANALYTICS_MODEL_OBJECT_MAPPER; + +import org.assertj.core.api.Assertions; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.onap.dcae.analytics.model.BaseAnalyticsModelTest; +import org.onap.dcae.analytics.model.cef.AlertType; + + +/** + * Test Alert Type Mixin JSON conversions. + * + * @author Rajiv Singla + */ +class AlertTypeMixinTest extends BaseAnalyticsModelTest { + + // NOTE: Alert type enum has some special customizations in AlertTypeMixin class + // as Java enum names does not allow for "-" so actual values are coded as enum names + @Test + @DisplayName("Test Alert Type Json Conversions") + public void testAlertTypeJsonConversions() throws Exception { + + final String alertTypeJson = serializeModelToJson(AlertType.CARD_ANOMALY, ANALYTICS_MODEL_OBJECT_MAPPER); + Assertions.assertThat(alertTypeJson) + .as("Alert Type Json for CARD ANOMALY must have hyphen in it").isEqualTo("\"CARD-ANOMALY\""); + // convert parsed alert type back to enum + final AlertType alertType = ANALYTICS_MODEL_OBJECT_MAPPER.readValue(alertTypeJson, AlertType.class); + Assertions.assertThat(alertType) + .as("Json String for CARD ANOMALY with hyphen can be converted back to Alert Type") + .isEqualTo(AlertType.CARD_ANOMALY); + } + +} diff --git a/dcae-analytics/dcae-analytics-model/src/test/java/org/onap/dcae/analytics/model/util/json/mixin/cef/EventListenerMixinTest.java b/dcae-analytics/dcae-analytics-model/src/test/java/org/onap/dcae/analytics/model/util/json/mixin/cef/EventListenerMixinTest.java new file mode 100644 index 0000000..2e606cb --- /dev/null +++ b/dcae-analytics/dcae-analytics-model/src/test/java/org/onap/dcae/analytics/model/util/json/mixin/cef/EventListenerMixinTest.java @@ -0,0 +1,81 @@ +/* + * ================================================================================ + * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + * + */ + +package org.onap.dcae.analytics.model.util.json.mixin.cef; + +import static org.onap.dcae.analytics.model.util.json.AnalyticsModelJsonConversion.ANALYTICS_MODEL_OBJECT_MAPPER; +import static org.onap.dcae.analytics.model.util.json.AnalyticsModelJsonConversion.EVENT_LISTENER_JSON_FUNCTION; +import static org.onap.dcae.analytics.model.util.json.AnalyticsModelJsonConversion.EVENT_LISTENER_LIST_JSON_FUNCTION; + +import java.util.List; + +import org.assertj.core.api.Assertions; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.onap.dcae.analytics.model.BaseAnalyticsModelTest; +import org.onap.dcae.analytics.model.cef.EventListener; +import org.onap.dcae.analytics.model.cef.Field; +import org.onap.dcae.analytics.model.cef.NamedArrayOfFields; + +/** + * Contains test for CEF Event Listener JSON Conversions. + * + * @author Rajiv Singla + */ +class EventListenerMixinTest extends BaseAnalyticsModelTest { + + @Test + @DisplayName("Test single CEF JSON conversions") + void testSingleEventListenerJsonConversion() { + + final EventListener eventListener = assertJsonConversions(TestFileLocation.CEF_JSON_MESSAGE, + EVENT_LISTENER_JSON_FUNCTION, ANALYTICS_MODEL_OBJECT_MAPPER); + + Assertions.assertThat(eventListener).isNotNull(); + Assertions.assertThat(eventListener.getEvent()).isNotNull(); + final List<Field> additionalFields = + eventListener.getEvent().getMeasurementsForVfScalingFields().getAdditionalFields(); + + Assertions.assertThat(additionalFields.size()).as("Additional Fields size is 2").isEqualTo(2); + + final List<NamedArrayOfFields> additionalMeasurements = + eventListener.getEvent().getMeasurementsForVfScalingFields().getAdditionalMeasurements(); + + Assertions.assertThat(additionalMeasurements.size()).as("Additional Measurements size must be 1").isEqualTo(1); + + final List<Field> arrayOfFields = additionalMeasurements.get(0).getArrayOfFields(); + + Assertions.assertThat(arrayOfFields.size()).as("Array Of Field size must be 6").isEqualTo(6); + } + + @Test + @DisplayName("Test collection of CEF JSON messages conversions") + void testCollectionOfEventListenersJsonConversion() { + + List<EventListener> eventListeners = + assertJsonConversions(TestFileLocation.CEF_JSON_MESSAGES, + EVENT_LISTENER_LIST_JSON_FUNCTION, ANALYTICS_MODEL_OBJECT_MAPPER); + Assertions.assertThat(eventListeners).isNotNull(); + Assertions.assertThat(eventListeners.size()).as("Event Listeners size must be 31").isEqualTo(31); + + // Checks serialization + testSerialization(eventListeners, getClass()); + + } +} diff --git a/dcae-analytics/dcae-analytics-model/src/test/java/org/onap/dcae/analytics/model/util/json/mixin/configbindingservice/ConsulConfigBindingServiceQueryResponseMixinTest.java b/dcae-analytics/dcae-analytics-model/src/test/java/org/onap/dcae/analytics/model/util/json/mixin/configbindingservice/ConsulConfigBindingServiceQueryResponseMixinTest.java new file mode 100644 index 0000000..b1b9fae --- /dev/null +++ b/dcae-analytics/dcae-analytics-model/src/test/java/org/onap/dcae/analytics/model/util/json/mixin/configbindingservice/ConsulConfigBindingServiceQueryResponseMixinTest.java @@ -0,0 +1,62 @@ +/* + * ================================================================================ + * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + * + */ + +package org.onap.dcae.analytics.model.util.json.mixin.configbindingservice; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.onap.dcae.analytics.model.util.json.AnalyticsModelJsonConversion.ANALYTICS_MODEL_OBJECT_MAPPER; +import static org.onap.dcae.analytics.model.util.json.AnalyticsModelJsonConversion + .CONFIG_BINDING_SERVICE_LIST_JSON_FUNCTION; + +import java.util.List; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.onap.dcae.analytics.model.BaseAnalyticsModelTest; +import org.onap.dcae.analytics.model.configbindingservice.ConsulConfigBindingServiceQueryResponse; + +/** + * Consul Config Binding Service Query Response Mixin Test. + * + * @author Rajiv Singla + */ +class ConsulConfigBindingServiceQueryResponseMixinTest extends BaseAnalyticsModelTest { + + + @Test + @DisplayName("Test Config Service Bindings JSON conversions") + void testConfigServiceBindingsConversions() throws Exception { + + List<ConsulConfigBindingServiceQueryResponse> configServiceBindings = + assertJsonConversions(TestFileLocation.CONFIG_SERVICE_BINDINGS_JSON, + CONFIG_BINDING_SERVICE_LIST_JSON_FUNCTION, ANALYTICS_MODEL_OBJECT_MAPPER); + + assertThat(configServiceBindings).isNotNull(); + assertThat(configServiceBindings.size()).as("There should be only 1 binding config").isEqualTo(1); + + final ConsulConfigBindingServiceQueryResponse configBindingServiceQueryResponse = configServiceBindings.get(0); + assertThat(configBindingServiceQueryResponse.getAddress()) + .as("Config Service Binding ServiceAddress must be 135.25.108.161").isEqualTo("135.25.108.161"); + assertThat(configBindingServiceQueryResponse.getServicePort()) + .as("Config Service Binding ServicePort must be 32769").isEqualTo(32769); + assertThat(configBindingServiceQueryResponse.getDynamicProperties()) + .as("Dynamic Properties must be empty if all bindings are successful").isEmpty(); + } + +} |