mirror of https://github.com/apache/kafka.git
MINOR: Replace easymock with mockito in log4j-appender (#10852)
Reviewers: Ismael Juma <ismael@juma.me.uk>
This commit is contained in:
parent
19edbda164
commit
b1562a90e0
|
@ -2199,7 +2199,7 @@ project(':log4j-appender') {
|
|||
testImplementation project(':clients').sourceSets.test.output
|
||||
testImplementation libs.junitJupiter
|
||||
testImplementation libs.hamcrest
|
||||
testImplementation libs.easymock
|
||||
testImplementation libs.mockitoCore
|
||||
}
|
||||
|
||||
javadoc {
|
||||
|
|
|
@ -21,23 +21,25 @@ import static org.hamcrest.CoreMatchers.not;
|
|||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import org.apache.kafka.clients.producer.MockProducer;
|
||||
import org.apache.kafka.clients.producer.RecordMetadata;
|
||||
import org.apache.kafka.common.TopicPartition;
|
||||
import org.apache.kafka.common.config.ConfigException;
|
||||
import org.apache.kafka.common.config.SaslConfigs;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.apache.log4j.PropertyConfigurator;
|
||||
import org.apache.log4j.helpers.LogLog;
|
||||
import org.easymock.EasyMock;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.Properties;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.Future;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.TimeoutException;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
public class KafkaLog4jAppenderTest {
|
||||
|
||||
|
@ -159,17 +161,14 @@ public class KafkaLog4jAppenderTest {
|
|||
}
|
||||
|
||||
private void replaceProducerWithMocked(MockKafkaLog4jAppender mockKafkaLog4jAppender, boolean success) {
|
||||
MockProducer<byte[], byte[]> producer = EasyMock.niceMock(MockProducer.class);
|
||||
Future<RecordMetadata> futureMock = EasyMock.niceMock(Future.class);
|
||||
try {
|
||||
if (!success)
|
||||
EasyMock.expect(futureMock.get())
|
||||
.andThrow(new ExecutionException("simulated timeout", new TimeoutException()));
|
||||
} catch (InterruptedException | ExecutionException e) {
|
||||
// just mocking
|
||||
}
|
||||
EasyMock.expect(producer.send(EasyMock.anyObject())).andReturn(futureMock);
|
||||
EasyMock.replay(producer, futureMock);
|
||||
@SuppressWarnings("unchecked")
|
||||
MockProducer<byte[], byte[]> producer = mock(MockProducer.class);
|
||||
CompletableFuture<RecordMetadata> future = new CompletableFuture<>();
|
||||
if (success)
|
||||
future.complete(new RecordMetadata(new TopicPartition("tp", 0), 0, 0, 0, 0, 0));
|
||||
else
|
||||
future.completeExceptionally(new TimeoutException("simulated timeout"));
|
||||
when(producer.send(any())).thenReturn(future);
|
||||
// reconfiguring mock appender
|
||||
mockKafkaLog4jAppender.setKafkaProducer(producer);
|
||||
mockKafkaLog4jAppender.activateOptions();
|
||||
|
|
Loading…
Reference in New Issue