View Javadoc

1   package uk.org.lidalia.slf4jutils;
2   
3   import org.junit.Before;
4   import org.junit.Test;
5   import org.junit.runner.RunWith;
6   import org.powermock.core.classloader.annotations.PrepareForTest;
7   import org.powermock.modules.junit4.PowerMockRunner;
8   
9   import uk.org.lidalia.slf4jext.Logger;
10  import uk.org.lidalia.slf4jext.LoggerFactory;
11  
12  import static org.junit.Assert.assertThat;
13  import static org.mockito.BDDMockito.given;
14  import static org.mockito.Mockito.verify;
15  import static org.powermock.api.mockito.PowerMockito.mock;
16  import static org.powermock.api.mockito.PowerMockito.mockStatic;
17  import static uk.org.lidalia.test.Assert.isNotInstantiable;
18  
19  @RunWith(PowerMockRunner.class)
20  @PrepareForTest({org.slf4j.LoggerFactory.class})
21  public class LoggerFactoryTests {
22  
23      org.slf4j.Logger logger = mock(org.slf4j.Logger.class);
24  
25      @Before
26      public void setUp() {
27          mockStatic(org.slf4j.LoggerFactory.class);
28      }
29  
30      @Test
31      public void getLoggerByString() throws Exception {
32          given(org.slf4j.LoggerFactory.getLogger("loggername")).willReturn(logger);
33  
34          Logger richLogger = LoggerFactory.getLogger("loggername");
35          richLogger.debug("message");
36  
37          verify(logger).debug("message");
38      }
39  
40      @Test
41      public void getLoggerByClass() throws Exception {
42          given(org.slf4j.LoggerFactory.getLogger(Object.class)).willReturn(logger);
43  
44          Logger richLogger = LoggerFactory.getLogger(Object.class);
45          richLogger.debug("message");
46  
47          verify(logger).debug("message");
48      }
49  
50      @Test
51      public void notInstantiable() throws Throwable {
52          assertThat(LoggerFactory.class, isNotInstantiable());
53      }
54  }