summaryrefslogtreecommitdiffstats
path: root/sparkybe-onap-service/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'sparkybe-onap-service/src/test')
-rw-r--r--sparkybe-onap-service/src/test/java/org/onap/aai/sparky/logging/util/LoggingMessageTemplateTest.java62
1 files changed, 62 insertions, 0 deletions
diff --git a/sparkybe-onap-service/src/test/java/org/onap/aai/sparky/logging/util/LoggingMessageTemplateTest.java b/sparkybe-onap-service/src/test/java/org/onap/aai/sparky/logging/util/LoggingMessageTemplateTest.java
new file mode 100644
index 0000000..e75b8ef
--- /dev/null
+++ b/sparkybe-onap-service/src/test/java/org/onap/aai/sparky/logging/util/LoggingMessageTemplateTest.java
@@ -0,0 +1,62 @@
+package org.onap.aai.sparky.logging.util;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+import org.onap.aai.sparky.logging.AaiUiMsgs;
+
+import com.att.eelf.i18n.EELFResourceManager;
+
+public class LoggingMessageTemplateTest {
+
+ @Test
+ public void validateAllMessageEnumsHaveValidMessageFormats() {
+
+ /*
+ * I discovered that some of the message formats had missing characters
+ * which made the EELFResourceManager interpret the message format as null
+ * which would inturn randomly geneate Null-Pointer-Exceptions while trying
+ * log formatted messages.
+ *
+ * Two concrete examples of this issue are as follows, from the AaiUiMsgs.properties
+ *
+ * ERROR_PROCESSING_REQUEST=\
+ * AAIUI30037E
+ * Failure to process request with error: {1}
+ *
+ * ERROR_PROCESSING_REQUEST=\
+ * AAIUI30037E\
+ * Failure to process request with error: {1}
+ *
+ * Both of these formats look valid except for the second line. The code is expected to be terminated with a |\
+ * and this character sequence was missing from 4 of the message enums in our file. I created this
+ * test case to catch any future formatting errors of the message templates. There is no obvious error that
+ * exposes this problem until we experience an NPE at runtime, but even then it's not clear as to why it happened.
+ * Hopefully now we will be able to at least catch those issues before they happen.
+ */
+
+
+ int numMessageTemplatesWithMissingFormats = 0;
+
+ for ( AaiUiMsgs x : AaiUiMsgs.values() ) {
+
+ if (x != null) {
+
+ String format = EELFResourceManager.getMessage(x);
+
+ if (format == null) {
+
+ numMessageTemplatesWithMissingFormats++;
+ System.out
+ .println("Message enum = " + x + " has a missing message format.");
+ }
+ }
+ }
+
+ assertEquals(0, numMessageTemplatesWithMissingFormats);
+
+ }
+
+
+
+}