Package org.openqa.selenium.server.log

Source Code of org.openqa.selenium.server.log.ShortTermMemoryHandlerUnitTest

package org.openqa.selenium.server.log;

import junit.framework.TestCase;

import java.util.logging.LogRecord;
import java.util.logging.Level;
import java.util.logging.Formatter;

/**
* {@link org.openqa.selenium.server.log.ShortTermMemoryHandler} unit test class.
*/
public class ShortTermMemoryHandlerUnitTest extends TestCase {

    public void testRecordsReturnsAnEmptyArrayWhenNoRecordHasBeenAdded() {
        final ShortTermMemoryHandler handler;

        handler = new ShortTermMemoryHandler(1, Level.FINEST, null);
        assertNotNull(handler.records());
        assertEquals(0, handler.records().length);
    }

    public void testRecordsReturnsTheAddedRecordWhenASingleOneIsPublished() {
        final ShortTermMemoryHandler handler;
        final LogRecord theLogRecord;

        handler = new ShortTermMemoryHandler(1, Level.FINEST, null);
        theLogRecord = new LogRecord(Level.INFO, "");
        handler.publish(theLogRecord);
        assertNotNull(handler.records());
        assertEquals(1, handler.records().length);
        assertEquals(theLogRecord, handler.records()[0]);
    }

    public void testRecordsIsEmptyWhenAddedRecordIsLowerThanTheMinimumLevel() {
        final ShortTermMemoryHandler handler;
        final LogRecord theLogRecord;

        handler = new ShortTermMemoryHandler(1, Level.INFO, null);
        theLogRecord = new LogRecord(Level.FINE, "");
        handler.publish(theLogRecord);
        assertNotNull(handler.records());
        assertEquals(0, handler.records().length);
    }

    public void testRecordsIsEmptyWhenAddedRecordIsEqualToTheMinimumLevel() {
        final ShortTermMemoryHandler handler;
        final LogRecord theLogRecord;

        handler = new ShortTermMemoryHandler(1, Level.INFO, null);
        theLogRecord = new LogRecord(Level.INFO, "");
        handler.publish(theLogRecord);
        assertNotNull(handler.records());
        assertEquals(1, handler.records().length);
        assertEquals(theLogRecord, handler.records()[0]);
    }

    public void testRecordsReturnsTheTwoAddedRecordWhenATwoRecordsArePublishedAndCapacityIsNotExceeded() {
        final ShortTermMemoryHandler handler;
        final LogRecord firstLogRecord;
        final LogRecord secondLogRecord;

        handler = new ShortTermMemoryHandler(2, Level.FINEST, null);
        firstLogRecord = new LogRecord(Level.INFO, "");
        secondLogRecord = new LogRecord(Level.INFO, "");
        handler.publish(firstLogRecord);
        handler.publish(secondLogRecord);
        assertNotNull(handler.records());
        assertEquals(2, handler.records().length);
        assertEquals(firstLogRecord, handler.records()[0]);
        assertEquals(secondLogRecord, handler.records()[1]);
    }

    public void testRecordsOnlyReturnsTheLastRecordWhenATwoRecordsArePublishedAndCapacityIsExceeded() {
        final ShortTermMemoryHandler handler;
        final LogRecord firstLogRecord;
        final LogRecord secondLogRecord;

        handler = new ShortTermMemoryHandler(1, Level.FINEST, null);
        firstLogRecord = new LogRecord(Level.INFO, "");
        secondLogRecord = new LogRecord(Level.INFO, "");
        handler.publish(firstLogRecord);
        handler.publish(secondLogRecord);
        assertNotNull(handler.records());
        assertEquals(1, handler.records().length);
        assertEquals(secondLogRecord, handler.records()[0]);
    }

    public void testRecordsOnlyReturnsTheLastTwoRecordsWhenThreeRecordsArePublishedAndCapacityIsExceeded() {
        final ShortTermMemoryHandler handler;
        final LogRecord firstLogRecord;
        final LogRecord secondLogRecord;
        final LogRecord thirdLogRecord;

        handler = new ShortTermMemoryHandler(2, Level.FINEST, null);
        firstLogRecord = new LogRecord(Level.INFO, "");
        secondLogRecord = new LogRecord(Level.INFO, "");
        thirdLogRecord = new LogRecord(Level.INFO, "");
        handler.publish(firstLogRecord);
        handler.publish(secondLogRecord);
        handler.publish(thirdLogRecord);
        assertNotNull(handler.records());
        assertEquals(2, handler.records().length);
        assertEquals(secondLogRecord, handler.records()[0]);
        assertEquals(thirdLogRecord, handler.records()[1]);
    }

    public void testRecordsOnlyReturnsTheLastRecordWhenThreeRecordsArePublishedAndCapacityIsOne() {
        final ShortTermMemoryHandler handler;
        final LogRecord firstLogRecord;
        final LogRecord secondLogRecord;
        final LogRecord thirdLogRecord;

        handler = new ShortTermMemoryHandler(1, Level.FINEST, null);
        firstLogRecord = new LogRecord(Level.INFO, "");
        secondLogRecord = new LogRecord(Level.INFO, "");
        thirdLogRecord = new LogRecord(Level.INFO, "");
        handler.publish(firstLogRecord);
        handler.publish(secondLogRecord);
        handler.publish(thirdLogRecord);
        assertNotNull(handler.records());
        assertEquals(1, handler.records().length);
        assertEquals(thirdLogRecord, handler.records()[0]);
    }

    public void testAfterCloseAllRecordsAreCleared() {
        final ShortTermMemoryHandler handler;
        final LogRecord firstLogRecord;
        final LogRecord secondLogRecord;

        handler = new ShortTermMemoryHandler(2, Level.FINEST, null);
        firstLogRecord = new LogRecord(Level.INFO, "");
        secondLogRecord = new LogRecord(Level.INFO, "");
        handler.publish(firstLogRecord);
        handler.publish(secondLogRecord);
        handler.close();
        assertNotNull(handler.records());
        assertEquals(0, handler.records().length);
    }

    public void testFormattedRecordsReturnsAnEmptyStringWhenThereIsNoRecord() {
        final ShortTermMemoryHandler handler;

        handler = new ShortTermMemoryHandler(1, Level.INFO, null);
        assertEquals("", handler.formattedRecords());

    }

    public void testFormattedRecords() {
        final ShortTermMemoryHandler handler;
        final LogRecord firstLogRecord;
        final LogRecord secondLogRecord;
        final Formatter formatter;

        formatter = new Formatter() {
            public String format(LogRecord record) {
                return "[FORMATTED] " + record.getMessage();
            }
        };
        handler = new ShortTermMemoryHandler(2, Level.INFO, formatter);
        firstLogRecord = new LogRecord(Level.INFO, "First log message");
        secondLogRecord = new LogRecord(Level.INFO, "Second log message");
        handler.publish(firstLogRecord);
        handler.publish(secondLogRecord);
        assertEquals("[FORMATTED] First log message\n" +
                     "[FORMATTED] Second log message\n", handler.formattedRecords());

    }

}
TOP

Related Classes of org.openqa.selenium.server.log.ShortTermMemoryHandlerUnitTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.