/*
* Copyright 2008-2017 by Emeric Vernat
*
* This file is part of Java Melody.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package net.bull.javamelody;
import static org.easymock.EasyMock.createNiceMock;
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.replay;
import static org.easymock.EasyMock.verify;
import javax.servlet.http.HttpServletRequest;
import org.junit.Before;
import org.junit.Test;
/**
* Test unitaire des classes implémentant JavaMelodyLogger.
* @author Emeric Vernat
*/
public class TestJavaMelodyLogger {
/** Initialisation. */
@Before
public void setUp() {
Utils.initialize();
}
/** Test. */
@Test
public void testDebugInfoAndWarn() {
LOG.debug("test debug");
LOG.debug("test debug", new IllegalStateException("test debug"));
LOG.info("test info", new IllegalStateException("test info"));
LOG.warn("test warn", new IllegalStateException("test warn"));
}
/** Test. */
@Test
public void testLoggers() {
final JavaMelodyLogger javaLogger = new JavaLogger();
final JavaMelodyLogger log4jLogger = new Log4JLogger();
final JavaMelodyLogger log4j2Logger = new Log4J2Logger();
final JavaMelodyLogger logbackLogger = new LogbackLogger();
logs(javaLogger);
logs(log4jLogger);
logs(log4j2Logger);
logs(logbackLogger);
}
private void logs(JavaMelodyLogger logger) {
logger.debug("test debug");
logger.debug("test debug", new IllegalStateException("test debug"));
logger.info("test info");
logger.info("test info", new IllegalStateException("test info"));
logger.warn("test warn", new IllegalStateException("test warn"));
final HttpServletRequest request = createNiceMock(HttpServletRequest.class);
expect(request.getRemoteAddr()).andReturn("remote addr").anyTimes();
expect(request.getRequestURI()).andReturn("/test/request").anyTimes();
expect(request.getContextPath()).andReturn("/test").anyTimes();
expect(request.getQueryString()).andReturn("param1=1").anyTimes();
expect(request.getMethod()).andReturn("GET").anyTimes();
expect(request.getHeader("X-Forwarded-For")).andReturn("w.x.y.z").anyTimes();
replay(request);
logger.logHttpRequest(request, "test", 1000, false, 10000, "javamelody");
verify(request);
}
}