From 1c19f53afb96523d1ae37d4e959a4ea42f6c9874 Mon Sep 17 00:00:00 2001 From: baubakg Date: Wed, 7 Aug 2024 00:43:22 +0200 Subject: [PATCH] #154 added test for enrichment in SDK, and corrected the test SDK --- .../tests/logparser/core/LogData.java | 3 +- .../tests/logparser/core/StdLogEntry.java | 3 +- .../tests/logparser/core/EnrichmentTests.java | 31 +++++++++++++++++-- .../tests/logparser/core/SDKTests.java | 7 +++-- .../tests/logparser/data/SDKCaseSTD.java | 2 ++ 5 files changed, 38 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/adobe/campaign/tests/logparser/core/LogData.java b/src/main/java/com/adobe/campaign/tests/logparser/core/LogData.java index aa7e47f..abd5226 100644 --- a/src/main/java/com/adobe/campaign/tests/logparser/core/LogData.java +++ b/src/main/java/com/adobe/campaign/tests/logparser/core/LogData.java @@ -555,8 +555,7 @@ public void enrichData(Map in_queryMap, String in_entryName, St //Iterate over the entries getEntries().entrySet().stream().filter(e -> e.getValue().matches(in_queryMap)).forEach(e -> { - e.getValue().getValuesMap().put(in_entryName, in_entryValue); + e.getValue().put(in_entryName, in_entryValue); }); - //for each entry meeting the querymap enrich with the given value } } diff --git a/src/main/java/com/adobe/campaign/tests/logparser/core/StdLogEntry.java b/src/main/java/com/adobe/campaign/tests/logparser/core/StdLogEntry.java index e451d16..5cededd 100644 --- a/src/main/java/com/adobe/campaign/tests/logparser/core/StdLogEntry.java +++ b/src/main/java/com/adobe/campaign/tests/logparser/core/StdLogEntry.java @@ -203,7 +203,8 @@ public void put(String in_dataTitle, String in_value) { } public Object get(String in_dataTitle) { - return this.fetchValueMap().get(in_dataTitle); + + return this.fetchValueMap().containsKey(in_dataTitle) ? this.fetchValueMap().get(in_dataTitle) : ""; } /** diff --git a/src/test/java/com/adobe/campaign/tests/logparser/core/EnrichmentTests.java b/src/test/java/com/adobe/campaign/tests/logparser/core/EnrichmentTests.java index 65ee406..5f0e6e1 100644 --- a/src/test/java/com/adobe/campaign/tests/logparser/core/EnrichmentTests.java +++ b/src/test/java/com/adobe/campaign/tests/logparser/core/EnrichmentTests.java @@ -8,14 +8,19 @@ */ package com.adobe.campaign.tests.logparser.core; +import com.adobe.campaign.tests.logparser.data.SDKCaseSTD; +import com.adobe.campaign.tests.logparser.exceptions.StringParseException; import org.hamcrest.Matcher; import org.hamcrest.Matchers; import org.testng.annotations.Test; +import java.util.Arrays; import java.util.HashMap; import java.util.Map; import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.is; import static org.testng.Assert.assertThrows; public class EnrichmentTests { @@ -40,7 +45,7 @@ public void testSimpleEnrichment() { assertThat(l_cubeData.get("12").get("TIT"), Matchers.equalTo("TAT")); assertThat(l_cubeData.get("112").fetchStoredHeaders(), Matchers.containsInAnyOrder("key","AAZ", "ZZZ", "BAU", "DAT", "frequence", "TIT")); - assertThat(l_cubeData.get("112").get("TIT"), Matchers.nullValue()); + assertThat(l_cubeData.get("112").get("TIT"), Matchers.equalTo("")); l_cubeData.exportLogDataToHTML("dsd", "enriched"); } @@ -61,7 +66,7 @@ public void testDoubleEnrichment() { l_cubeData.enrichData(l_queryMap, "TIT", "TAT"); Map l_queryMap2 = new HashMap<>(); - l_queryMap2.put("TIT", Matchers.nullValue()); + l_queryMap2.put("TIT", Matchers.equalTo("")); l_cubeData.enrichData(l_queryMap2, "TIT", "TUT"); @@ -74,7 +79,29 @@ public void testDoubleEnrichment() { l_cubeData.exportLogDataToHTML("dsd", "enriched"); } + @Test + public void testDoubleEnrichment_SDK() throws StringParseException { + + ParseDefinition l_pDefinition = SDKTests.getTestParseDefinition(); + l_pDefinition.setStoreFileName(true); + + String l_file = "src/test/resources/sdk/useCase1.log"; + + LogData l_entries = LogDataFactory.generateLogData(Arrays.asList(l_file), l_pDefinition, + SDKCaseSTD.class); + + Map l_queryMap = Map.of("code", Matchers.startsWith("INT")); + l_entries.enrichData(l_queryMap, "category", "GREAT"); + Map l_queryMap2 = Map.of("code", Matchers.startsWith("SOP")); + l_entries.enrichData(l_queryMap2, "category", "AVERAGE"); + + + assertThat("We should have the correct value", l_entries.get("INT-150612").get("category"), is(equalTo("GREAT"))); + assertThat("We should have the correct value", l_entries.get("SOP-338921").get("category"), is(equalTo("AVERAGE"))); + //assertThat("We should have the correct value", l_entries.get("SOP-338921").get("category"), is(equalTo("AVERAGE"))); + + } private static LogData fetchTestLogEntry() { ParseDefinition l_definition = new ParseDefinition("tmp"); diff --git a/src/test/java/com/adobe/campaign/tests/logparser/core/SDKTests.java b/src/test/java/com/adobe/campaign/tests/logparser/core/SDKTests.java index 3cbcd96..1382cf9 100644 --- a/src/test/java/com/adobe/campaign/tests/logparser/core/SDKTests.java +++ b/src/test/java/com/adobe/campaign/tests/logparser/core/SDKTests.java @@ -17,11 +17,14 @@ import com.adobe.campaign.tests.logparser.exceptions.LogDataExportToFileException; import com.adobe.campaign.tests.logparser.exceptions.LogParserSDKDefinitionException; import com.adobe.campaign.tests.logparser.exceptions.StringParseException; +import org.hamcrest.Matcher; +import org.hamcrest.Matchers; import org.testng.Assert; import org.testng.annotations.Test; import java.io.File; import java.util.Arrays; +import java.util.Map; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.equalTo; @@ -29,7 +32,7 @@ public class SDKTests { - private static ParseDefinition getTestParseDefinition() { + static ParseDefinition getTestParseDefinition() { ParseDefinitionEntry l_timeStamp = new ParseDefinitionEntry(); l_timeStamp.setTitle("timeStamp"); l_timeStamp.setStartStartOfLine(); @@ -192,6 +195,4 @@ public void testSimpleLogACC_SDK_negativePrivateConstructor() { } - - } diff --git a/src/test/java/com/adobe/campaign/tests/logparser/data/SDKCaseSTD.java b/src/test/java/com/adobe/campaign/tests/logparser/data/SDKCaseSTD.java index 4ae9d88..c7b0fec 100644 --- a/src/test/java/com/adobe/campaign/tests/logparser/data/SDKCaseSTD.java +++ b/src/test/java/com/adobe/campaign/tests/logparser/data/SDKCaseSTD.java @@ -50,6 +50,8 @@ public Map fetchValueMap() { lr_map.put("code", this.makeKey()); lr_map.put("errorMessage", this.errorMessage); lr_map.put(StdLogEntry.STD_DATA_FREQUENCE, this.getFrequence()); + //lr_map.addAll(this.valuesMap); + getValuesMap().forEach(lr_map::putIfAbsent); return lr_map; }