aboutsummaryrefslogtreecommitdiffstats
path: root/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/filter/GenericJsonMessageFilterTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/filter/GenericJsonMessageFilterTest.java')
-rw-r--r--dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/filter/GenericJsonMessageFilterTest.java302
1 files changed, 151 insertions, 151 deletions
diff --git a/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/filter/GenericJsonMessageFilterTest.java b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/filter/GenericJsonMessageFilterTest.java
index db72a03..918407a 100644
--- a/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/filter/GenericJsonMessageFilterTest.java
+++ b/dcae-analytics-common/src/test/java/org/openecomp/dcae/apod/analytics/common/service/filter/GenericJsonMessageFilterTest.java
@@ -1,151 +1,151 @@
-/*
- * ===============================LICENSE_START======================================
- * dcae-analytics
- * ================================================================================
- * Copyright © 2017 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.openecomp.dcae.apod.analytics.common.service.filter;
-
-import com.google.common.collect.ImmutableList;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.openecomp.dcae.apod.analytics.common.BaseAnalyticsCommonUnitTest;
-import org.openecomp.dcae.apod.analytics.common.service.processor.GenericMessageChainProcessor;
-
-import static org.junit.Assert.assertEquals;
-
-/**
- * @author Rajiv Singla . Creation Date: 2/10/2017.
- */
-public class GenericJsonMessageFilterTest extends BaseAnalyticsCommonUnitTest {
-
- private String jsonMessage;
-
- @Before
- public void before() throws Exception {
- jsonMessage = fromStream(CEF_MESSAGE_FILE_PATH);
-
- }
-
- @Test
- public void testJsonMessageFilterWhenAllFiltersPassed() throws Exception {
-
- final JsonMessageFilterProcessorContext finalMessageProcessorContext =
- processJsonMessageFilterChain(jsonMessage,
- "domainFilter", "$.event.commonEventHeader.domain", "measurementsForVfScaling",
- "eventNameFilter", "$.event.commonEventHeader.eventName", "Mfvs_eNodeB_RANKPI");
-
- assertJsonMessageAssertions(jsonMessage, finalMessageProcessorContext, true, true, 2);
-
- }
-
- @Test
- public void testJsonMessageFilterWhenJsonPathValueIsANumber() throws Exception {
-
- final JsonMessageFilterProcessorContext finalMessageProcessorContext =
- processJsonMessageFilterChain(jsonMessage,
- "domainFilter", "$.event.commonEventHeader.sequence", "0",
- "eventNameFilter", "$.event.commonEventHeader.eventName", "Mfvs_eNodeB_RANKPI");
-
- assertJsonMessageAssertions(jsonMessage, finalMessageProcessorContext, true, true, 2);
- }
-
- @Test
- public void testJsonMessageFilterWhenOneFilterDoesNotMatch() throws Exception {
-
- final JsonMessageFilterProcessorContext finalMessageProcessorContext =
- processJsonMessageFilterChain(jsonMessage,
- "domainFilter", "$.event.commonEventHeader.domain", "xxxxxxxxxxx",
- "functionalRoleFilter", "$.event.commonEventHeader.eventName", "vFirewall");
-
- assertJsonMessageAssertions(jsonMessage, finalMessageProcessorContext, false, false, 1);
- }
-
- @Test
- public void testJsonMessageFilterWhenJsonPathDoesNotExist() throws Exception {
-
- final JsonMessageFilterProcessorContext finalMessageProcessorContext =
- processJsonMessageFilterChain(jsonMessage,
- "domainFilter", "$.event.commonEventHeader.xxxxxxx", "measurementsForVfScaling",
- "functionalRoleFilter", "$.event.commonEventHeader.eventName", "vFirewall");
-
- assertJsonMessageAssertions(jsonMessage, finalMessageProcessorContext, false, false, 1);
- }
-
- @Test
- public void testJsonMessageFilterWhenIncomingMessageIsBlank() throws Exception {
-
- final JsonMessageFilterProcessorContext finalMessageProcessorContext =
- processJsonMessageFilterChain("",
- "domainFilter", "$.event.commonEventHeader.domain", "measurementsForVfScaling",
- "functionalRoleFilter", "$.event.commonEventHeader.eventName", "vFirewall");
-
- assertJsonMessageAssertions("", finalMessageProcessorContext, false, null, 1);
-
- }
-
- @Test
- public void testJsonMessageFilterWhenIncomingMessageIsNotValidJson() throws Exception {
-
- final JsonMessageFilterProcessorContext finalMessageProcessorContext =
- processJsonMessageFilterChain("invalidJson",
- "domainFilter", "$.event.commonEventHeader.domain", "measurementsForVfScaling",
- "functionalRoleFilter", "$.event.commonEventHeader.eventName", "vFirewall");
-
- assertJsonMessageAssertions("invalidJson", finalMessageProcessorContext, false, null, 1);
-
- }
-
-
- private static void assertJsonMessageAssertions(
- final String jsonMessage, final JsonMessageFilterProcessorContext finalMessageProcessorContext,
- final Boolean canProcessingContinueFlag, final Boolean matchedFlag,
- final int messageProcessorCount) throws Exception {
-
- assertJson(jsonMessage, finalMessageProcessorContext.getMessage());
- Assert.assertEquals(canProcessingContinueFlag, finalMessageProcessorContext.canProcessingContinue());
- assertEquals(matchedFlag, finalMessageProcessorContext.getMatched());
- Assert.assertEquals(finalMessageProcessorContext.getMessageProcessors().size(), messageProcessorCount);
-
- }
-
-
- private static JsonMessageFilterProcessorContext processJsonMessageFilterChain(
- final String jsonMessage,
- final String firstFilterName, final String firstFilterPath, final String firstFilterValue,
- final String secondFilterName, final String secondFilterPath, final String secondFilterValue) {
-
- // create processors
- final GenericJsonMessageFilter firstFilter = new GenericJsonMessageFilter(firstFilterName, firstFilterPath,
- firstFilterValue);
- final GenericJsonMessageFilter secondFilter = new GenericJsonMessageFilter(secondFilterName,
- secondFilterPath, secondFilterValue);
-
- // create initial processor context containing the json message that need to be processed
- final JsonMessageFilterProcessorContext initialProcessorContext =
- new JsonMessageFilterProcessorContext(jsonMessage);
-
- // create a generic message chain processor and feed it list of processors and initialProcessor context
- final GenericMessageChainProcessor<JsonMessageFilterProcessorContext> messageChainProcessor =
- new GenericMessageChainProcessor<>(ImmutableList.of(firstFilter, secondFilter),
- initialProcessorContext);
-
- // process the generic message chain
- return messageChainProcessor.processChain();
- }
-}
+/*
+ * ===============================LICENSE_START======================================
+ * dcae-analytics
+ * ================================================================================
+ * Copyright © 2017 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.openecomp.dcae.apod.analytics.common.service.filter;
+
+import com.google.common.collect.ImmutableList;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.openecomp.dcae.apod.analytics.common.BaseAnalyticsCommonUnitTest;
+import org.openecomp.dcae.apod.analytics.common.service.processor.GenericMessageChainProcessor;
+
+import static org.junit.Assert.assertEquals;
+
+/**
+ * @author Rajiv Singla . Creation Date: 2/10/2017.
+ */
+public class GenericJsonMessageFilterTest extends BaseAnalyticsCommonUnitTest {
+
+ private String jsonMessage;
+
+ @Before
+ public void before() throws Exception {
+ jsonMessage = fromStream(CEF_MESSAGE_FILE_PATH);
+
+ }
+
+ @Test
+ public void testJsonMessageFilterWhenAllFiltersPassed() throws Exception {
+
+ final JsonMessageFilterProcessorContext finalMessageProcessorContext =
+ processJsonMessageFilterChain(jsonMessage,
+ "domainFilter", "$.event.commonEventHeader.domain", "measurementsForVfScaling",
+ "eventNameFilter", "$.event.commonEventHeader.eventName", "Mfvs_eNodeB_RANKPI");
+
+ assertJsonMessageAssertions(jsonMessage, finalMessageProcessorContext, true, true, 2);
+
+ }
+
+ @Test
+ public void testJsonMessageFilterWhenJsonPathValueIsANumber() throws Exception {
+
+ final JsonMessageFilterProcessorContext finalMessageProcessorContext =
+ processJsonMessageFilterChain(jsonMessage,
+ "domainFilter", "$.event.commonEventHeader.sequence", "0",
+ "eventNameFilter", "$.event.commonEventHeader.eventName", "Mfvs_eNodeB_RANKPI");
+
+ assertJsonMessageAssertions(jsonMessage, finalMessageProcessorContext, true, true, 2);
+ }
+
+ @Test
+ public void testJsonMessageFilterWhenOneFilterDoesNotMatch() throws Exception {
+
+ final JsonMessageFilterProcessorContext finalMessageProcessorContext =
+ processJsonMessageFilterChain(jsonMessage,
+ "domainFilter", "$.event.commonEventHeader.domain", "xxxxxxxxxxx",
+ "functionalRoleFilter", "$.event.commonEventHeader.eventName", "vFirewall");
+
+ assertJsonMessageAssertions(jsonMessage, finalMessageProcessorContext, false, false, 1);
+ }
+
+ @Test
+ public void testJsonMessageFilterWhenJsonPathDoesNotExist() throws Exception {
+
+ final JsonMessageFilterProcessorContext finalMessageProcessorContext =
+ processJsonMessageFilterChain(jsonMessage,
+ "domainFilter", "$.event.commonEventHeader.xxxxxxx", "measurementsForVfScaling",
+ "functionalRoleFilter", "$.event.commonEventHeader.eventName", "vFirewall");
+
+ assertJsonMessageAssertions(jsonMessage, finalMessageProcessorContext, false, false, 1);
+ }
+
+ @Test
+ public void testJsonMessageFilterWhenIncomingMessageIsBlank() throws Exception {
+
+ final JsonMessageFilterProcessorContext finalMessageProcessorContext =
+ processJsonMessageFilterChain("",
+ "domainFilter", "$.event.commonEventHeader.domain", "measurementsForVfScaling",
+ "functionalRoleFilter", "$.event.commonEventHeader.eventName", "vFirewall");
+
+ assertJsonMessageAssertions("", finalMessageProcessorContext, false, null, 1);
+
+ }
+
+ @Test
+ public void testJsonMessageFilterWhenIncomingMessageIsNotValidJson() throws Exception {
+
+ final JsonMessageFilterProcessorContext finalMessageProcessorContext =
+ processJsonMessageFilterChain("invalidJson",
+ "domainFilter", "$.event.commonEventHeader.domain", "measurementsForVfScaling",
+ "functionalRoleFilter", "$.event.commonEventHeader.eventName", "vFirewall");
+
+ assertJsonMessageAssertions("invalidJson", finalMessageProcessorContext, false, null, 1);
+
+ }
+
+
+ private static void assertJsonMessageAssertions(
+ final String jsonMessage, final JsonMessageFilterProcessorContext finalMessageProcessorContext,
+ final Boolean canProcessingContinueFlag, final Boolean matchedFlag,
+ final int messageProcessorCount) throws Exception {
+
+ assertJson(jsonMessage, finalMessageProcessorContext.getMessage());
+ Assert.assertEquals(canProcessingContinueFlag, finalMessageProcessorContext.canProcessingContinue());
+ assertEquals(matchedFlag, finalMessageProcessorContext.getMatched());
+ Assert.assertEquals(finalMessageProcessorContext.getMessageProcessors().size(), messageProcessorCount);
+
+ }
+
+
+ private static JsonMessageFilterProcessorContext processJsonMessageFilterChain(
+ final String jsonMessage,
+ final String firstFilterName, final String firstFilterPath, final String firstFilterValue,
+ final String secondFilterName, final String secondFilterPath, final String secondFilterValue) {
+
+ // create processors
+ final GenericJsonMessageFilter firstFilter = new GenericJsonMessageFilter(firstFilterName, firstFilterPath,
+ firstFilterValue);
+ final GenericJsonMessageFilter secondFilter = new GenericJsonMessageFilter(secondFilterName,
+ secondFilterPath, secondFilterValue);
+
+ // create initial processor context containing the json message that need to be processed
+ final JsonMessageFilterProcessorContext initialProcessorContext =
+ new JsonMessageFilterProcessorContext(jsonMessage);
+
+ // create a generic message chain processor and feed it list of processors and initialProcessor context
+ final GenericMessageChainProcessor<JsonMessageFilterProcessorContext> messageChainProcessor =
+ new GenericMessageChainProcessor<>(ImmutableList.of(firstFilter, secondFilter),
+ initialProcessorContext);
+
+ // process the generic message chain
+ return messageChainProcessor.processChain();
+ }
+}