Repository: logging-log4j2
Updated Branches:
  refs/heads/master 8f53bd9cf -> e7f3c8c4f


Fix KafkaAppender tests


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

Branch: refs/heads/master
Commit: e7f3c8c4f48538efbf3729334fa6253275d1cc64
Parents: 8f53bd9
Author: Mikael Ståldal <mik...@staldal.nu>
Authored: Thu Jan 25 22:04:12 2018 +0100
Committer: Mikael Ståldal <mik...@staldal.nu>
Committed: Thu Jan 25 22:04:12 2018 +0100

----------------------------------------------------------------------
 .../kafka/KafkaAppenderCloseTimeoutTest.java    | 78 ++++++++++++++++++++
 .../appender/mom/kafka/KafkaAppenderTest.java   | 10 ---
 .../resources/KafkaAppenderCloseTimeoutTest.xml | 31 ++++++++
 3 files changed, 109 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/e7f3c8c4/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppenderCloseTimeoutTest.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppenderCloseTimeoutTest.java
 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppenderCloseTimeoutTest.java
new file mode 100644
index 0000000..a8d3566
--- /dev/null
+++ 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppenderCloseTimeoutTest.java
@@ -0,0 +1,78 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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 org.apache.logging.log4j.core.appender.mom.kafka;
+
+import java.util.Properties;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.kafka.clients.producer.MockProducer;
+import org.apache.kafka.clients.producer.Producer;
+import org.apache.logging.log4j.categories.Appenders;
+import org.apache.logging.log4j.core.Appender;
+import org.apache.logging.log4j.junit.LoggerContextRule;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+@Category(Appenders.Kafka.class)
+public class KafkaAppenderCloseTimeoutTest {
+
+    private static final MockProducer<byte[], byte[]> kafka = new 
MockProducer<byte[], byte[]>(true, null, null) {
+        @Override
+        public void close() {
+            try {
+                Thread.sleep(3000);
+            } catch (InterruptedException ignore) {
+            }
+        }
+
+        @Override
+        public void close(long timeout, TimeUnit timeUnit) {
+            try {
+                Thread.sleep(timeUnit.toMillis(timeout));
+            } catch (InterruptedException ignore) {
+            }
+        }
+    };
+
+    @BeforeClass
+    public static void setUpClass() throws Exception {
+        KafkaManager.producerFactory = new KafkaProducerFactory() {
+            @Override
+            public Producer<byte[], byte[]> newKafkaProducer(final Properties 
config) {
+                return kafka;
+            }
+        };
+    }
+
+    @Rule
+    public LoggerContextRule ctx = new 
LoggerContextRule("KafkaAppenderCloseTimeoutTest.xml");
+
+    @Before
+    public void setUp() throws Exception {
+        kafka.clear();
+    }
+
+    @Test(timeout = 2000)
+    public void testClose() throws Exception {
+        final Appender appender = ctx.getRequiredAppender("KafkaAppender");
+        appender.stop();
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/e7f3c8c4/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppenderTest.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppenderTest.java
 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppenderTest.java
index 0c718b3..613bd74 100644
--- 
a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppenderTest.java
+++ 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppenderTest.java
@@ -53,11 +53,6 @@ public class KafkaAppenderTest {
 
         @Override
         public void close(final long timeout, final TimeUnit timeUnit) {
-            try {
-                Thread.sleep(50);
-            } catch (final InterruptedException ignore) {
-                // ignore
-            }
         }
 
     };
@@ -173,9 +168,4 @@ public class KafkaAppenderTest {
         }
     }
 
-    @Test(timeout = 2000)
-    public void testClose() throws Exception {
-        final Appender appender = 
ctx.getRequiredAppender("KafkaAppenderWithLayout");
-        appender.stop();
-    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/e7f3c8c4/log4j-core/src/test/resources/KafkaAppenderCloseTimeoutTest.xml
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/KafkaAppenderCloseTimeoutTest.xml 
b/log4j-core/src/test/resources/KafkaAppenderCloseTimeoutTest.xml
new file mode 100644
index 0000000..e58cb17
--- /dev/null
+++ b/log4j-core/src/test/resources/KafkaAppenderCloseTimeoutTest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements. See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You 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.
+  -->
+<Configuration name="KafkaAppenderCloseTimeoutTest" status="OFF">
+  <Appenders>
+    <Kafka name="KafkaAppender" topic="kafka-topic">
+      <PatternLayout pattern="[%m]"/>
+      <Property name="bootstrap.servers">localhost:9092</Property>
+      <Property name="timeout.ms">1000</Property>
+    </Kafka>
+  </Appenders>
+  <Loggers>
+    <Root level="info">
+      <AppenderRef ref="KafkaAppender"/>
+    </Root>
+  </Loggers>
+</Configuration>
\ No newline at end of file

Reply via email to