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()); }