LOG4J2-1405 - monidy triggering policy since rollover now happens when the 
policy is created


Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/4e71e5a7
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/4e71e5a7
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/4e71e5a7

Branch: refs/heads/LOG4J2-1395
Commit: 4e71e5a757c0e3b7caa7dfed8ceeec06f1c48e6e
Parents: 9eae085
Author: Ralph Goers <[email protected]>
Authored: Sun Jun 5 15:05:49 2016 -0700
Committer: Ralph Goers <[email protected]>
Committed: Sun Jun 5 15:06:17 2016 -0700

----------------------------------------------------------------------
 .../rolling/OnStartupTriggeringPolicyTest.java  | 69 ++++++++++----------
 1 file changed, 34 insertions(+), 35 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4e71e5a7/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/OnStartupTriggeringPolicyTest.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/OnStartupTriggeringPolicyTest.java
 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/OnStartupTriggeringPolicyTest.java
index ba593a3..7fd2428 100644
--- 
a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/OnStartupTriggeringPolicyTest.java
+++ 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/OnStartupTriggeringPolicyTest.java
@@ -16,12 +16,15 @@
  */
 package org.apache.logging.log4j.core.appender.rolling;
 
-import java.io.ByteArrayOutputStream;
+import java.io.ByteArrayInputStream;
 
-import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.core.LogEvent;
-import org.apache.logging.log4j.core.impl.Log4jLogEvent;
-import org.apache.logging.log4j.message.SimpleMessage;
+import java.io.InputStream;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import org.apache.logging.log4j.core.config.Configuration;
+import org.apache.logging.log4j.core.config.DefaultConfiguration;
+import org.apache.logging.log4j.core.layout.PatternLayout;
 import org.junit.Test;
 
 import static org.junit.Assert.*;
@@ -31,39 +34,35 @@ import static org.junit.Assert.*;
  */
 public class OnStartupTriggeringPolicyTest {
 
+    private static final String TARGET_FILE = "target/testfile";
+    private static final String TARGET_PATTERN = 
"target/rolling1/test1-%i.log";
+    private static final String ROLLED_FILE = "target/rolling1/test1-1.log";
+    private static final String TEST_DATA = "Hello world!";
+
     @Test
-    public void testPolicy() {
+    public void testPolicy() throws Exception {
+        Configuration configuration = new DefaultConfiguration();
+        Path target = Paths.get(TARGET_FILE);
+        Path rolled = Paths.get(ROLLED_FILE);
+        Files.deleteIfExists(target);
+        Files.deleteIfExists(rolled);
+        InputStream is = new ByteArrayInputStream(TEST_DATA.getBytes("UTF-8"));
+        Files.copy(is, target);
+        is.close();
+        long size = Files.size(target);
+        assertTrue(size > 0);
+        final PatternLayout layout = 
PatternLayout.newBuilder().withPattern("%msg")
+                .withConfiguration(configuration).build();
+        RolloverStrategy strategy = 
DefaultRolloverStrategy.createStrategy(null, null, null, "0", null, true,
+                configuration);
         OnStartupTriggeringPolicy policy = 
OnStartupTriggeringPolicy.createPolicy();
-        final MyRollingManager manager = new MyRollingManager(policy, null);
-        manager.setFileTime(System.currentTimeMillis() - 36000000);
-        final LogEvent event = Log4jLogEvent.newBuilder() //
-                .setLevel(Level.ERROR) //
-                .setMessage(new SimpleMessage("Test")).build();
-        assertTrue("Expected trigger to succeed", 
policy.isTriggeringEvent(event));
-        assertTrue("Expected trigger not to fire", 
!policy.isTriggeringEvent(event));
-        policy = OnStartupTriggeringPolicy.createPolicy();
-        policy.initialize(manager);
-        manager.setFileTime(System.currentTimeMillis());
-        assertTrue("Expected trigger not to fire", 
!policy.isTriggeringEvent(event));
+        RollingFileManager manager = 
RollingFileManager.getFileManager(TARGET_FILE, TARGET_PATTERN, true, false,
+                policy, strategy, null, layout, 8192, true);
+        assertTrue(Files.exists(target));
+        assertTrue(Files.size(target) == 0);
+        assertTrue(Files.exists(rolled));
+        assertTrue(Files.size(rolled) == size);
 
     }
 
-    private class MyRollingManager extends RollingFileManager {
-
-        private long timestamp;
-
-        public MyRollingManager(final TriggeringPolicy policy, final 
RolloverStrategy strategy) {
-            super("testfile", "target/rolling1/test1-%i.log.gz", new 
ByteArrayOutputStream(),
-                false, 0, System.currentTimeMillis(), policy, strategy, null, 
null, 8192, true);
-        }
-
-        public void setFileTime(final long timestamp) {
-            this.timestamp = timestamp;
-        }
-
-        @Override
-        public long getFileTime() {
-            return timestamp;
-        }
-    }
 }

Reply via email to