/** throws AssertionError if the log does not contain the indicated fragment; * otherwise returns a record which does satisfy the constraint */ public Record assertLogContains(String fragment) { for (Record r : messages) { if (r.getMessage() != null && r.getMessage().contains(fragment)) return r; } throw new AssertionError("log did not contain expected '" + fragment + "'"); } /** fails if log _does_ contain the indicated fragment */
public void testRetriesLoggedAtInfoWithCount() throws Exception { SSHClientConnection mockConnection = createMock(SSHClientConnection.class); net.schmizz.sshj.SSHClient mockClient = createMock(net.schmizz.sshj.SSHClient.class); mockConnection.clear(); expectLastCall(); mockConnection.create(); expectLastCall().andThrow(new ConnectionException("test1")); mockConnection.clear(); expectLastCall(); //currently does two clears, one on failure (above) and one on next iteration (below) mockConnection.clear(); expectLastCall(); mockConnection.create(); expectLastCall().andReturn(mockClient); replay(mockConnection); replay(mockClient); ssh.sshClientConnection = mockConnection; BufferLogger logcheck = new BufferLogger(ssh.getClass().getCanonicalName()); ssh.logger = logcheck; logcheck.setLevel(Level.INFO); ssh.connect(); Assert.assertEquals(ssh.sshClientConnection, mockConnection); verify(mockConnection); verify(mockClient); Record r = logcheck.assertLogContains("attempt 1 of 5"); logcheck.assertLogDoesntContain("attempt 2 of 5"); Assert.assertEquals(Level.INFO, r.getLevel()); }
public void testLogCapturesRightMessages() { BufferLogger b = new BufferLogger("foo"); b.setLevel(Level.INFO); b.info("hi 1"); b.error(new Throwable("check"), "hi 2"); b.debug("hi 3 nope"); Record r; r = b.assertLogContains("hi 1"); Assert.assertEquals(Level.INFO, r.getLevel()); Assert.assertNull(r.getTrace()); r = b.assertLogContains("hi 2"); Assert.assertEquals(Level.SEVERE, r.getLevel()); Assert.assertEquals(r.getTrace().getMessage(), "check"); b.assertLogDoesntContain("hi 3"); }
@Override protected void logWarn(String message) { getMessages().add(new Record(Level.WARNING, message, null)); }
@Override protected void logWarn(String message, Throwable e) { getMessages().add(new Record(Level.WARNING, message, e)); }
@Override protected void logError(String message, Throwable e) { getMessages().add(new Record(Level.SEVERE, message, e)); }
public void testLogCapturesRightMessages() { BufferLogger b = new BufferLogger("foo"); b.setLevel(Level.INFO); b.info("hi 1"); b.error(new Throwable("check"), "hi 2"); b.debug("hi 3 nope"); Record r; r = b.assertLogContains("hi 1"); Assert.assertEquals(Level.INFO, r.getLevel()); Assert.assertNull(r.getTrace()); r = b.assertLogContains("hi 2"); Assert.assertEquals(Level.SEVERE, r.getLevel()); Assert.assertEquals(r.getTrace().getMessage(), "check"); b.assertLogDoesntContain("hi 3"); }
@Override protected void logTrace(String message) { getMessages().add(new Record(Level.FINER, message, null)); }
@Override protected void logDebug(String message) { getMessages().add(new Record(Level.FINE, message, null)); }
@Override protected void logInfo(String message) { getMessages().add(new Record(Level.INFO, message, null)); }
@Override protected void logWarn(String message, Throwable e) { getMessages().add(new Record(Level.WARNING, message, e)); }
/** throws AssertionError if the log does not contain the indicated fragment; * otherwise returns a record which does satisfy the constraint */ public Record assertLogContains(Predicate<Record> test) { for (Record r : messages) { if (r.getMessage() != null && test.apply(r)) return r; } throw new AssertionError("log did not contain any records satisfying expected predicate"); }
@Override protected void logError(String message) { getMessages().add(new Record(Level.SEVERE, message, null)); }
@Override protected void logDebug(String message) { getMessages().add(new Record(Level.FINE, message, null)); }
@Override protected void logError(String message) { getMessages().add(new Record(Level.SEVERE, message, null)); }
/** throws AssertionError if the log does not contain the indicated fragment; * otherwise returns a record which does satisfy the constraint */ public Record assertLogContains(Predicate<Record> test) { for (Record r: messages) { if (r.getMessage()!=null && test.apply(r)) return r; } throw new AssertionError("log did not contain any records satisfying expected predicate"); }
@Override protected void logInfo(String message) { getMessages().add(new Record(Level.INFO, message, null)); }
@Override protected void logWarn(String message) { getMessages().add(new Record(Level.WARNING, message, null)); }
/** fails if log _does_ contain the indicated fragment */ public void assertLogDoesntContain(String fragment) { for (Record r : messages) { if (r.getMessage() != null && r.getMessage().contains(fragment)) throw new AssertionError("log contained unexpected '" + fragment + "'"); } }
@Override protected void logTrace(String message) { getMessages().add(new Record(Level.FINER, message, null)); }