Search in sources :

Example 1 with Tail

use of org.apache.jackrabbit.core.Tail in project jackrabbit by apache.

the class WarningOnSaveWithNotificationThreadTest method testWarning.

public void testWarning() throws Exception {
    final List<Exception> exceptions = new ArrayList<Exception>();
    EventResult result = new EventResult(log) {

        @Override
        public void onEvent(EventIterator events) {
            try {
                Session s = getHelper().getSuperuserSession();
                try {
                    s.getNode(testRoot).addNode("bar");
                    s.save();
                } finally {
                    s.logout();
                }
            } catch (RepositoryException e) {
                exceptions.add(e);
            }
            super.onEvent(events);
        }
    };
    addEventListener(result);
    Tail tail = Tail.start(new File("target", "jcr.log"), MESSAGE);
    try {
        testRootNode.addNode("foo");
        superuser.save();
        removeEventListener(result);
        result.getEvents(5000);
        assertTrue("Warn message expected in log file.", tail.getLines().iterator().hasNext());
    } finally {
        tail.close();
    }
    if (!exceptions.isEmpty()) {
        fail(exceptions.get(0).toString());
    }
}
Also used : EventResult(org.apache.jackrabbit.test.api.observation.EventResult) Tail(org.apache.jackrabbit.core.Tail) ArrayList(java.util.ArrayList) RepositoryException(javax.jcr.RepositoryException) EventIterator(javax.jcr.observation.EventIterator) File(java.io.File) RepositoryException(javax.jcr.RepositoryException) Session(javax.jcr.Session)

Aggregations

File (java.io.File)1 ArrayList (java.util.ArrayList)1 RepositoryException (javax.jcr.RepositoryException)1 Session (javax.jcr.Session)1 EventIterator (javax.jcr.observation.EventIterator)1 Tail (org.apache.jackrabbit.core.Tail)1 EventResult (org.apache.jackrabbit.test.api.observation.EventResult)1