@Override public void auditStarted(AuditEvent event) { final LocalizedMessage auditStartMessage = new LocalizedMessage(1, Definitions.CHECKSTYLE_BUNDLE, AUDIT_STARTED_MESSAGE, null, null, LocalizedMessage.class, null); infoWriter.println(auditStartMessage.getMessage()); infoWriter.flush(); }
private static LocalizedMessage createLocalizedMessage(int lineNumber, int columnNumber, int tokenType, String moduleId, Class<?> sourceClass) { return new LocalizedMessage(lineNumber, columnNumber, tokenType, "messages.properties", null, null, SeverityLevel.ERROR, moduleId, sourceClass, null); }
@Override public void addException(AuditEvent event, Throwable throwable) { synchronized (errorWriter) { final LocalizedMessage addExceptionMessage = new LocalizedMessage(1, Definitions.CHECKSTYLE_BUNDLE, ADD_EXCEPTION_MESSAGE, new String[] {event.getFileName()}, null, LocalizedMessage.class, null); errorWriter.println(addExceptionMessage.getMessage()); throwable.printStackTrace(errorWriter); } }
@Override public void auditFinished(AuditEvent event) { final LocalizedMessage auditFinishMessage = new LocalizedMessage(1, Definitions.CHECKSTYLE_BUNDLE, AUDIT_FINISHED_MESSAGE, null, null, LocalizedMessage.class, null); infoWriter.println(auditFinishMessage.getMessage()); closeStreams(); }
private static AuditEvent createAuditEvent(String moduleId, int line, int column) { final Checker source = new Checker(); final LocalizedMessage message = new LocalizedMessage(line, column, null, null, null, moduleId, MemberNameCheck.class, "message"); return new AuditEvent(source, "filename", message); }
@Test public void testGetColumnCharIndex() { final LocalizedMessage localizedMessage1 = new LocalizedMessage(1, 1, 123, TokenTypes.CLASS_DEF, "messages.properties", "key", null, SeverityLevel.ERROR, null, getClass(), null); assertEquals("Invalid column char index", 123, localizedMessage1.getColumnCharIndex()); }
@Test public void testDecideByFileNameAndModuleMatchingCheckRegExpMatch() { final LocalizedMessage message = new LocalizedMessage(10, 10, "", "", null, null, getClass(), null); final AuditEvent ev = new AuditEvent(this, "ATest.java", message); final SuppressElement myFilter = new SuppressElement("Test", getClass().getCanonicalName(), null, null, null, null); assertFalse("Filter should not accept invalid event", myFilter.accept(ev)); }
@Test public void testMatchingModuleId() throws Exception { final String xpath = "/CLASS_DEF[@text='InputXpathFilterSuppressByXpath']"; final XpathFilter filter = new XpathFilter("InputXpathFilterSuppressByXpath", "Test", null, "id19", xpath); final LocalizedMessage message = new LocalizedMessage(3, 0, TokenTypes.CLASS_DEF, "", "", null, null, "id19", getClass(), null); final TreeWalkerAuditEvent ev = new TreeWalkerAuditEvent(fileContents, file.getName(), message, JavaParser.parseFile(file, JavaParser.Options.WITHOUT_COMMENTS)); assertFalse("Event should be rejected", filter.accept(ev)); }
@Test public void testNonMatchingChecks() throws Exception { final String xpath = "NON_MATCHING_QUERY"; final XpathFilter filter = new XpathFilter("InputXpathFilterSuppressByXpath", "NonMatchingRegexp", null, "id19", xpath); final LocalizedMessage message = new LocalizedMessage(3, 0, TokenTypes.CLASS_DEF, "", "", null, null, "id19", getClass(), null); final TreeWalkerAuditEvent ev = new TreeWalkerAuditEvent(fileContents, file.getName(), message, JavaParser.parseFile(file, JavaParser.Options.WITHOUT_COMMENTS)); assertTrue("Event should be accepted", filter.accept(ev)); }
@Test public void testDecideByFileNameAndModuleMatchingModuleEqual() { final LocalizedMessage message = new LocalizedMessage(10, 10, "", "", null, "MyModule", getClass(), null); final AuditEvent ev = new AuditEvent(this, "ATest.java", message); final SuppressElement myFilter = new SuppressElement("Test", "Test", null, "MyModule", null, null); assertFalse("Filter should not accept invalid event", myFilter.accept(ev)); }
@Test public void testDecideByFileNameAndModuleMatchingRegExpMatch() { final LocalizedMessage message = new LocalizedMessage(10, 10, "", "", null, null, getClass(), null); final AuditEvent ev = new AuditEvent(this, "TestSUFFIX", message); final SuppressElement myFilter = new SuppressElement("Test", null, null, null, null, null); assertFalse("Filter should not accept invalid event", myFilter.accept(ev)); }
@Test public void testDecideByFileNameAndModuleMatchingCheckRegExpNotMatch() { final LocalizedMessage message = new LocalizedMessage(10, 10, "", "", null, null, getClass(), null); final AuditEvent ev = new AuditEvent(this, "ATest.java", message); final SuppressElement myFilter = new SuppressElement("Test", "NON_EXISTENT_CHECK", null, "MyModule", null, null); assertTrue("Filter should accept valid event", myFilter.accept(ev)); }
@Test public void testDecideByFileNameAndModuleMatchingModuleNotEqual() { final LocalizedMessage message = new LocalizedMessage(10, 10, "", "", null, "TheirModule", getClass(), null); final AuditEvent ev = new AuditEvent(this, "ATest.java", message); final SuppressElement myFilter = new SuppressElement("Test", "Test", null, "MyModule", null, null); assertTrue("Filter should accept valid event", myFilter.accept(ev)); }
@Test public void testAddFilter() { final Checker checker = new Checker(); final DebugFilter filter = new DebugFilter(); checker.addFilter(filter); filter.resetFilter(); final SortedSet<LocalizedMessage> messages = new TreeSet<>(); messages.add(new LocalizedMessage(1, 0, "a Bundle", "message.key", new Object[] {"arg"}, null, getClass(), null)); checker.fireErrors("Some File Name", messages); assertTrue("Checker.fireErrors() doesn't call filter", filter.wasCalled()); }
@Test public void testAcceptFalse() throws Exception { final String fileName = getPath("InputSuppressionFilterSuppress.xml"); final boolean optional = false; final SuppressionFilter filter = createSuppressionFilter(fileName, optional); final LocalizedMessage message = new LocalizedMessage(1, 1, null, "msg", null, SeverityLevel.ERROR, null, getClass(), null); final AuditEvent ev = new AuditEvent(this, "ATest.java", message); assertFalse("Audit event should be rejected when there is a matching suppression", filter.accept(ev)); }
@Test public void testFormatModuleWithModuleId() { final LocalizedMessage message = new LocalizedMessage(1, 1, null, null, null, SeverityLevel.WARNING, "ModuleId", TestModule.class, "Mocked message."); final AuditEvent event = new AuditEvent("", "InputMockFile.java", message); final AuditEventFormatter formatter = new AuditEventDefaultFormatter(); final String expected = "[WARN] InputMockFile.java:1:1: Mocked message. [ModuleId]"; assertEquals("Invalid format", expected, formatter.format(event)); }
@Test public void testFormatFullyQualifiedModuleNameDoesNotContainCheckSuffix() { final LocalizedMessage message = new LocalizedMessage(1, 1, null, null, null, SeverityLevel.WARNING, null, TestModule.class, "Mocked message."); final AuditEvent event = new AuditEvent("", "InputMockFile.java", message); final AuditEventFormatter formatter = new AuditEventDefaultFormatter(); final String expected = "[WARN] InputMockFile.java:1:1: Mocked message. " + "[AuditEventDefaultFormatterTest$TestModule]"; assertEquals("Invalid format", expected, formatter.format(event)); }
@Test public void testFormatFullyQualifiedModuleNameContainsCheckSuffix() { final LocalizedMessage message = new LocalizedMessage(1, 1, null, null, null, SeverityLevel.WARNING, null, TestModuleCheck.class, "Mocked message."); final AuditEvent event = new AuditEvent("", "InputMockFile.java", message); final AuditEventFormatter formatter = new AuditEventDefaultFormatter(); final String expected = "[WARN] InputMockFile.java:1:1: Mocked message. " + "[AuditEventDefaultFormatterTest$TestModule]"; assertEquals("Invalid format", expected, formatter.format(event)); }
@Test public void testDecideByMessage() { final LocalizedMessage message = new LocalizedMessage(1, 0, "", "", null, null, getClass(), "Test"); final AuditEvent ev = new AuditEvent(this, "ATest.java", message); final SuppressElement filter1 = new SuppressElement(null, null, "Test", null, null, null); final SuppressElement filter2 = new SuppressElement(null, null, "Bad", null, null, null); assertFalse("Message match", filter1.accept(ev)); assertTrue("Message not match", filter2.accept(ev)); }
@Test public void testAcceptNoToken() { final LocalizedMessage message = new LocalizedMessage(0, 0, 0, null, null, null, null, null, XpathFileGeneratorAstFilterTest.class, null); final TreeWalkerAuditEvent event = new TreeWalkerAuditEvent(null, null, message, null); final XpathFileGeneratorAstFilter filter = new XpathFileGeneratorAstFilter(); Assert.assertTrue("filter accepted", filter.accept(event)); final AuditEvent auditEvent = new AuditEvent(this, "Test.java", message); Assert.assertNull("filter has no queries", XpathFileGeneratorAstFilter.findCorrespondingXpathQuery(auditEvent)); }