2c5d86b49e4e77bca27416b883c972a26376f83d
[aaf/authz.git] / auth / auth-core / src / test / java / org / onap / aaf / auth / log4j / test / JU_Log4jAccessAppender.java
1 /**
2  * ============LICENSE_START====================================================
3  * org.onap.aaf
4  * ===========================================================================
5  * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
6  * ===========================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END====================================================
19  *
20  */
21
22 package org.onap.aaf.auth.log4j.test;
23
24 import static org.junit.Assert.assertFalse;
25 import static org.mockito.MockitoAnnotations.initMocks;
26
27 import java.util.Date;
28
29 import org.apache.log4j.Level;
30 import org.apache.log4j.Logger;
31 import org.apache.log4j.spi.LoggingEvent;
32 import org.junit.Before;
33 import org.junit.Test;
34 import org.mockito.Mock;
35 import org.mockito.Mockito;
36 import org.onap.aaf.auth.log4j.Log4JAccessAppender;
37 import org.onap.aaf.cadi.Access;
38
39 public class JU_Log4jAccessAppender {
40
41         @Mock
42         Access access;
43         
44         @Before
45         public void setUp() {
46                 initMocks(this);
47         }
48         
49         @Test
50         public void testRequiresLayout() {
51                 Log4JAccessAppender log4jObj = new Log4JAccessAppender(access);
52                 boolean retObj = log4jObj.requiresLayout();
53                 assertFalse(retObj);
54         }
55         
56         @Test
57         public void testClose() {
58                 Log4JAccessAppender log4jObj = new Log4JAccessAppender(access);
59                 log4jObj.close();
60                 
61         }
62         
63         @Test
64         public void testAppend() {
65                 Log4jAccessAppenderImpl log4jObj = new Log4jAccessAppenderImpl(access);
66                 LoggingEvent event=new LoggingEvent("com.chililog.server.engine",Logger.getLogger(Log4JAccessAppender.class),(new Date()).getTime(),Level.FATAL,"test",Thread.currentThread().getName(),null,null,null,null);
67                 log4jObj.append(event);
68                 Mockito.doReturn(true).when(access).willLog(Access.Level.ERROR);
69                 event=new LoggingEvent("com.chililog.server.engine",Logger.getLogger(Log4JAccessAppender.class),(new Date()).getTime(),Level.ERROR,"test",Thread.currentThread().getName(),null,null,null,null);
70                 log4jObj.append(event);
71                 event=new LoggingEvent("com.chililog.server.engine",Logger.getLogger(Log4JAccessAppender.class),(new Date()).getTime(),Level.ALL,"test",Thread.currentThread().getName(),null,null,null,null);
72                 log4jObj.append(event);
73         }
74         
75         @Test
76         public void testAppendWARN() {
77                 Log4jAccessAppenderImpl log4jObj = new Log4jAccessAppenderImpl(access);
78                 Mockito.doReturn(false).when(access).willLog(Access.Level.WARN);
79                 LoggingEvent event=new LoggingEvent("com.chililog.server.engine",Logger.getLogger(Log4JAccessAppender.class),(new Date()).getTime(),Level.WARN,"test",Thread.currentThread().getName(),null,null,null,null);
80                 log4jObj.append(event);
81         }
82         
83         @Test
84         public void testAppendINFO() {
85                 Log4jAccessAppenderImpl log4jObj = new Log4jAccessAppenderImpl(access);
86                 Mockito.doReturn(true).when(access).willLog(Access.Level.INFO);
87                 LoggingEvent event=new LoggingEvent("com.chililog.server.engine",Logger.getLogger(Log4JAccessAppender.class),(new Date()).getTime(),Level.INFO,"test",Thread.currentThread().getName(),null,null,null,null);
88                 log4jObj.append(event);
89         }
90         
91         @Test
92         public void testAppendWTrace() {
93                 Log4jAccessAppenderImpl log4jObj = new Log4jAccessAppenderImpl(access);
94                 Mockito.doReturn(false).when(access).willLog(Access.Level.TRACE);
95                 LoggingEvent event=new LoggingEvent("com.chililog.server.engine",Logger.getLogger(Log4JAccessAppender.class),(new Date()).getTime(),Level.TRACE,"test",Thread.currentThread().getName(),null,null,null,null);
96                 log4jObj.append(event);
97         }
98         
99         class Log4jAccessAppenderImpl extends Log4JAccessAppender{
100
101                 public Log4jAccessAppenderImpl(Access access) {
102                         super(access);
103                         // TODO Auto-generated constructor stub
104                 }
105                 
106                 @Override
107                 protected void append(LoggingEvent event) {
108                         super.append(event);
109                 }
110                 
111         }
112 }