Skip to content

Commit

Permalink
mocking via params
Browse files Browse the repository at this point in the history
  • Loading branch information
l3r8yJ committed Apr 9, 2023
1 parent 79337d7 commit 819d92f
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 18 deletions.
7 changes: 7 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ SOFTWARE.
<maven-source-plugin.version>3.2.1</maven-source-plugin.version>
<maven-gpg-plugin.version>3.0.1</maven-gpg-plugin.version>
<mockito-core.version>5.2.0</mockito-core.version>
<mockito-junit-jupiter.version>4.8.1</mockito-junit-jupiter.version>
</properties>
<dependencies>
<dependency>
Expand Down Expand Up @@ -169,6 +170,12 @@ SOFTWARE.
<version>${mockito-core.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>${mockito-junit-jupiter.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
Expand Down
20 changes: 13 additions & 7 deletions src/test/java/io/github/eocqrs/kafka/consumer/KfConsumerTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
package io.github.eocqrs.kafka.consumer;

import io.github.eocqrs.kafka.Consumer;
import io.github.eocqrs.kafka.ConsumerSettings;
import io.github.eocqrs.kafka.consumer.settings.KfConsumerParams;
import io.github.eocqrs.kafka.parameters.BootstrapServers;
import io.github.eocqrs.kafka.parameters.GroupId;
Expand All @@ -31,8 +32,13 @@
import io.github.eocqrs.kafka.parameters.KfParams;
import io.github.eocqrs.kafka.parameters.ValueDeserializer;
import io.github.eocqrs.kafka.xml.KfXmlFlexible;
import org.apache.kafka.clients.consumer.KafkaConsumer;
import org.cactoos.list.ListOf;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.junit.jupiter.MockitoExtension;

import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
Expand All @@ -42,16 +48,16 @@
*
* @since 0.0.0
*/
@ExtendWith(MockitoExtension.class)
final class KfConsumerTest {

@Test
void subscribes() throws Exception {
final Consumer<String, String> consumer =
new KfConsumer<>(
new KfXmlFlexible<String, String>(
"consumer.xml"
).consumer()
);
void subscribes(
@Mock final ConsumerSettings<String, String> settingsMock,
@Mock final KafkaConsumer<String, String> consumerMock
) {
Mockito.when(settingsMock.consumer()).thenReturn(consumerMock);
final Consumer<String, String> consumer = new KfConsumer<>(settingsMock);
assertDoesNotThrow(
() ->
consumer.subscribe(
Expand Down
28 changes: 17 additions & 11 deletions src/test/java/io/github/eocqrs/kafka/producer/KfProducerTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,11 @@
import io.github.eocqrs.kafka.parameters.ValueSerializer;
import io.github.eocqrs.kafka.producer.settings.KfProducerParams;
import io.github.eocqrs.kafka.xml.KfXmlFlexible;
import org.apache.kafka.clients.producer.KafkaProducer;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;

import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
Expand All @@ -44,19 +48,23 @@
* @todo #47:45m/DEV Consumer Producer communication.
* We have to create an ITCase for communication between Consumer and Producer.
*/
@ExtendWith(MockitoExtension.class)
final class KfProducerTest {

@Test
void constructsProducerWithXML() throws Exception {
final Producer<String, String> producer =
new KfProducer<>(
new KfXmlFlexible<String, String>("settings.xml")
.producer()
);
void constructsProducerWithExistingProducer(@Mock final KafkaProducer<String, String> mock) {
final Producer<String, String> producer = new KfProducer<>(mock);
assertThat(producer).isNotNull();
assertDoesNotThrow(
producer::close
assertDoesNotThrow(producer::close);
}

@Test
void constructsProducerWithXml() throws Exception {
final Producer<String, String> producer = new KfProducer<>(
new KfXmlFlexible<>("settings.xml")
);
assertThat(producer).isNotNull();
assertDoesNotThrow(producer::close);
}

@Test
Expand All @@ -74,8 +82,6 @@ void constructsProducerWithParams() {
)
);
assertThat(producer).isNotNull();
assertDoesNotThrow(
producer::close
);
assertDoesNotThrow(producer::close);
}
}

0 comments on commit 819d92f

Please sign in to comment.