diff options
Diffstat (limited to 'sparkybe-onap-service/src/test/java')
-rw-r--r-- | sparkybe-onap-service/src/test/java/org/onap/aai/sparky/logging/util/LoggingMessageTemplateTest.java | 62 |
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); + + } + + + +} |