package org.owasp.security.logging.log4j.mask; import junit.framework.TestCase; import org.apache.logging.log4j.Level; import org.apache.logging.log4j.Marker; import org.apache.logging.log4j.MarkerManager; import org.apache.logging.log4j.core.LogEvent; import org.apache.logging.log4j.core.impl.Log4jLogEvent; import org.apache.logging.log4j.core.impl.Log4jLogEvent.Builder; import org.apache.logging.log4j.message.Message; import org.apache.logging.log4j.message.ParameterizedMessage; import org.apache.logging.log4j.message.SimpleMessage; import org.owasp.security.logging.SecurityMarkers; /** * The class <code>MaskingRewritePolicyTest</code> contains tests for the class * {@link <code>MaskingRewritePolicy</code>} * * @pattern JUnit Test Case * * @generatedBy CodePro at 20-2-16 22:58 * * @author sytze * * @version $Revision$ */ public class MaskingRewritePolicyTest extends TestCase { /** * Construct new test instance * * @param name * the test name */ public MaskingRewritePolicyTest(String name) { super(name); } public void testRewriteConfidentialNoParams() { MaskingRewritePolicy fixture = new MaskingRewritePolicy(); Marker marker = new MarkerManager.Log4jMarker( SecurityMarkers.CONFIDENTIAL.getName()); Log4jLogEvent event = createEvent(marker, new SimpleMessage()); LogEvent result = fixture.rewrite(event); assertEquals(event, result); } public void testRewriteConfidentialWithParams() { MaskingRewritePolicy fixture = new MaskingRewritePolicy(); Marker marker = new MarkerManager.Log4jMarker( SecurityMarkers.CONFIDENTIAL.getName()); Message message = new ParameterizedMessage("ddd", "gladiator"); LogEvent event = createEvent(marker, message); LogEvent result = fixture.rewrite(event); assertNotSame(event, result); } public void testRewriteNotConfidential() { MaskingRewritePolicy fixture = new MaskingRewritePolicy(); Marker marker = new MarkerManager.Log4jMarker( SecurityMarkers.EVENT_FAILURE_MARKER_NAME); Message message = new ParameterizedMessage("ddd", "gladiator"); LogEvent event = createEvent(marker, message); LogEvent result = fixture.rewrite(event); assertEquals(event, result); } public void testRewriteConfidentialWithZeroParams() { MaskingRewritePolicy fixture = new MaskingRewritePolicy(); Marker marker = new MarkerManager.Log4jMarker( SecurityMarkers.CONFIDENTIAL.getName()); Message message = new ParameterizedMessage("ddd", null); LogEvent event = createEvent(marker, message); LogEvent result = fixture.rewrite(event); assertEquals(event, result); } public void testRewriteConfidentialNoMessage() { MaskingRewritePolicy fixture = new MaskingRewritePolicy(); Marker marker = new MarkerManager.Log4jMarker( SecurityMarkers.CONFIDENTIAL.getName()); Log4jLogEvent event = createEvent(marker, null); LogEvent result = fixture.rewrite(event); assertEquals(event, result); } public void testRewriteNoMarker() { MaskingRewritePolicy fixture = new MaskingRewritePolicy(); Message message = new ParameterizedMessage("ddd", "gladiator"); Log4jLogEvent event = createEvent(null, message); LogEvent result = fixture.rewrite(event); assertEquals(event, result); } private Log4jLogEvent createEvent(Marker marker, Message message) { Log4jLogEvent.Builder builder = new Builder(); builder.setMarker(marker).setLevel(Level.DEBUG).setLoggerName("jjj") .setLoggerFqcn("ggg").setMessage(message); Log4jLogEvent event = builder.build(); return event; } }