X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=common%2Fcheckstyle-logging%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fcheckstyle%2FCheckstyleTest.java;h=9c0342355b4c7da6239ef2ba59d42da9e7fa81fa;hb=19c2c0edae38d93402d8c3912b8dae54e07b20db;hp=bf59c594b4b558ccb953f048eb9d5cc733cc29b8;hpb=12003fdee334d232c43771bfdec163b48469ebeb;p=yangtools.git diff --git a/common/checkstyle-logging/src/test/java/org/opendaylight/yangtools/checkstyle/CheckstyleTest.java b/common/checkstyle-logging/src/test/java/org/opendaylight/yangtools/checkstyle/CheckstyleTest.java index bf59c594b4..9c0342355b 100644 --- a/common/checkstyle-logging/src/test/java/org/opendaylight/yangtools/checkstyle/CheckstyleTest.java +++ b/common/checkstyle-logging/src/test/java/org/opendaylight/yangtools/checkstyle/CheckstyleTest.java @@ -11,7 +11,9 @@ package org.opendaylight.yangtools.checkstyle; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; +import com.google.common.base.Charsets; import com.google.common.collect.Lists; +import com.google.common.io.Files; import com.puppycrawl.tools.checkstyle.Checker; import com.puppycrawl.tools.checkstyle.ConfigurationLoader; import com.puppycrawl.tools.checkstyle.DefaultLogger; @@ -21,6 +23,7 @@ import com.puppycrawl.tools.checkstyle.api.CheckstyleException; import com.puppycrawl.tools.checkstyle.api.Configuration; import java.io.ByteArrayOutputStream; import java.io.File; +import java.util.List; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -54,21 +57,29 @@ public class CheckstyleTest { @Test public void testLoggerChecks() throws Exception { - verify(CheckLoggingTestClass.class, true, "15: Logger must be declared as private static final.", "15: Logger name should be LOG.", - "15: LoggerFactory.getLogger Class argument is incorrect.", - "17: Logger might be declared only once.", "16: Logger must be slf4j.", "22: Line contains printStacktrace", - "23: Line contains console output", "24: Line contains console output", "26: Log message placeholders count is incorrect.", - "32: Log message placeholders count is incorrect", "41: Log message contains string concatenation."); + verify(CheckLoggingTestClass.class, true, + "16: Logger must be declared as private static final", + "16: Logger name should be LOG", + "16: LoggerFactory.getLogger Class argument is incorrect", + "18: Logger might be declared only once", + "17: Logger must be slf4j", + "27: Log message placeholders count is incorrect", + "36: Log message placeholders count is incorrect", + "45: Log message contains string concatenation"); } @Test - public void testCodingChecks() { - verify(CheckCodingStyleTestClass.class, false, "9: Line has Windows line delimiter.", "14: Wrong order for", "24:1: Line contains a tab character.", - "22: Line has trailing spaces.", "22: 'ctor def' child have incorrect indentation level 16, expected level should be 8.", "17:8: Unused import", - "23: Line has trailing spaces."); + public void testLogMessageExtractorCheck() throws Exception { + File logMessageReport = LogMessageExtractorCheck.DEFAULT_REPORT_FILE; + logMessageReport.delete(); + verify(CheckLoggingTestClass.class, false); + List reportLines = Files.readLines(logMessageReport, Charsets.UTF_8); + assertEquals(6, reportLines.size()); + assertEquals("src/test/java/org/opendaylight/yangtools/checkstyle/CheckLoggingTestClass.java:27:\"foo {} {}\"", reportLines.get(0)); + // TODO assertEquals("src/test/java/org/opendaylight/yangtools/checkstyle/CheckLoggingTestClass.java:28:\"foo {} bar {}\"", reportLines.get(1)); } - private void verify(final Class testClass, final boolean checkCount, final String... expectedMessages) { + private void verify(final Class testClass, final boolean checkCount, final String... expectedMessages) throws CheckstyleException { final String filePath = System.getProperty("user.dir") + File.separator + "src" + File.separator + "test" + File.separator + "java" + File.separator + testClass.getName().replaceAll("\\.", "/") + ".java"; final File testFile = new File(filePath); checker.process(Lists.newArrayList(testFile)); @@ -79,7 +90,7 @@ public class CheckstyleTest { assertEquals(expectedMessages.length, count); } for(final String message : expectedMessages) { - assertTrue("Expected message not found: " + message, output.contains(message)); + assertTrue("Expected message not found: " + message + "; output: " + output, output.contains(message)); } } }