package uk.bl.monitrix.heritrix;
import java.io.IOException;
import java.util.Iterator;
import junit.framework.Assert;
import org.junit.Test;
public class LogReaderTest {
/** a tiny, 1000-line log file for unit testing **/
private static final String PATH_TO_LOGFILE = "test/sample-log-1E3.txt";
@Test
public void testSimpleLogReader() throws IOException {
SimpleLogfileReader reader = new SimpleLogfileReader(PATH_TO_LOGFILE);
Iterator<LogFileEntry> entries = reader.iterator();
int counter = 0;
while (entries.hasNext()) {
LogFileEntry entry = entries.next();
Assert.assertTrue(entry.getLogTimestamp().getTime() > 0);
Assert.assertNotNull(entry.getHTTPCode()); // Just make sure the method gets called
Assert.assertTrue(entry.getDownloadSize() > -1);
Assert.assertFalse(entry.getURL().isEmpty());
Assert.assertNotNull(entry.getContentType());
Assert.assertNotNull(entry.getWorkerThread());
Assert.assertNotNull(entry.getSHA1Hash());
counter++;
}
Assert.assertEquals(1000, counter);
System.out.println("Done - " + counter + " lines.");
}
@Test
public void testIncrementalLogReader() throws IOException {
IncrementalLogfileReader reader = new IncrementalLogfileReader(PATH_TO_LOGFILE);
Iterator<LogFileEntry> entries = reader.newIterator();
int counter = 0;
while (entries.hasNext()) {
entries.next();
counter++;
}
Assert.assertEquals(1000, counter);
System.out.println("Done - " + counter + " lines.");
}
}