1 package ch.qos.logback.core.sift; 2 3 import static org.junit.Assert.assertEquals; 4 import static org.junit.Assert.assertFalse; 5 import static org.junit.Assert.assertNull; 6 import static org.junit.Assert.assertTrue; 7 8 import org.junit.Before; 9 import org.junit.Test; 10 11 import ch.qos.logback.core.Context; 12 import ch.qos.logback.core.ContextBase; 13 import ch.qos.logback.core.read.ListAppender; 14 15 public class AppenderTrackerTest { 16 17 18 Context context = new ContextBase(); 19 AppenderTracker<Object> appenderTracker = new AppenderTrackerImpl<Object>(); 20 ListAppender<Object> la = new ListAppender<Object>(); 21 22 @Before 23 public void setUp() { 24 la.setContext(context); 25 la.start(); 26 } 27 28 29 @Test 30 public void empty0() { 31 long now = 3000; 32 appenderTracker.stopStaleAppenders(now); 33 assertEquals(0, appenderTracker.keyList().size()); 34 } 35 36 @Test 37 public void empty1() { 38 long now = 3000; 39 assertNull(appenderTracker.get("a", now++)); 40 now += AppenderTrackerImpl.THRESHOLD+1000; 41 appenderTracker.stopStaleAppenders(now); 42 assertNull(appenderTracker.get("a", now++)); 43 } 44 45 @Test 46 public void smoke() { 47 assertTrue(la.isStarted()); 48 long now = 3000; 49 appenderTracker.put("a", la, now); 50 assertEquals(la, appenderTracker.get("a", now++)); 51 now += AppenderTrackerImpl.THRESHOLD+1000; 52 appenderTracker.stopStaleAppenders(now); 53 assertFalse(la.isStarted()); 54 assertNull(appenderTracker.get("a", now++)); 55 } 56 57 @Test 58 public void scenarioBased() { 59 60 } 61 }