Skip to content

Commit 819d92f

Browse files
committed
mocking via params
1 parent 79337d7 commit 819d92f

3 files changed

Lines changed: 37 additions & 18 deletions

File tree

pom.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ SOFTWARE.
105105
<maven-source-plugin.version>3.2.1</maven-source-plugin.version>
106106
<maven-gpg-plugin.version>3.0.1</maven-gpg-plugin.version>
107107
<mockito-core.version>5.2.0</mockito-core.version>
108+
<mockito-junit-jupiter.version>4.8.1</mockito-junit-jupiter.version>
108109
</properties>
109110
<dependencies>
110111
<dependency>
@@ -169,6 +170,12 @@ SOFTWARE.
169170
<version>${mockito-core.version}</version>
170171
<scope>test</scope>
171172
</dependency>
173+
<dependency>
174+
<groupId>org.mockito</groupId>
175+
<artifactId>mockito-junit-jupiter</artifactId>
176+
<version>${mockito-junit-jupiter.version}</version>
177+
<scope>test</scope>
178+
</dependency>
172179
</dependencies>
173180
<build>
174181
<plugins>

src/test/java/io/github/eocqrs/kafka/consumer/KfConsumerTest.java

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
package io.github.eocqrs.kafka.consumer;
2424

2525
import io.github.eocqrs.kafka.Consumer;
26+
import io.github.eocqrs.kafka.ConsumerSettings;
2627
import io.github.eocqrs.kafka.consumer.settings.KfConsumerParams;
2728
import io.github.eocqrs.kafka.parameters.BootstrapServers;
2829
import io.github.eocqrs.kafka.parameters.GroupId;
@@ -31,8 +32,13 @@
3132
import io.github.eocqrs.kafka.parameters.KfParams;
3233
import io.github.eocqrs.kafka.parameters.ValueDeserializer;
3334
import io.github.eocqrs.kafka.xml.KfXmlFlexible;
35+
import org.apache.kafka.clients.consumer.KafkaConsumer;
3436
import org.cactoos.list.ListOf;
3537
import org.junit.jupiter.api.Test;
38+
import org.junit.jupiter.api.extension.ExtendWith;
39+
import org.mockito.Mock;
40+
import org.mockito.Mockito;
41+
import org.mockito.junit.jupiter.MockitoExtension;
3642

3743
import static org.assertj.core.api.Assertions.assertThat;
3844
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
@@ -42,16 +48,16 @@
4248
*
4349
* @since 0.0.0
4450
*/
51+
@ExtendWith(MockitoExtension.class)
4552
final class KfConsumerTest {
4653

4754
@Test
48-
void subscribes() throws Exception {
49-
final Consumer<String, String> consumer =
50-
new KfConsumer<>(
51-
new KfXmlFlexible<String, String>(
52-
"consumer.xml"
53-
).consumer()
54-
);
55+
void subscribes(
56+
@Mock final ConsumerSettings<String, String> settingsMock,
57+
@Mock final KafkaConsumer<String, String> consumerMock
58+
) {
59+
Mockito.when(settingsMock.consumer()).thenReturn(consumerMock);
60+
final Consumer<String, String> consumer = new KfConsumer<>(settingsMock);
5561
assertDoesNotThrow(
5662
() ->
5763
consumer.subscribe(

src/test/java/io/github/eocqrs/kafka/producer/KfProducerTest.java

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,11 @@
3030
import io.github.eocqrs.kafka.parameters.ValueSerializer;
3131
import io.github.eocqrs.kafka.producer.settings.KfProducerParams;
3232
import io.github.eocqrs.kafka.xml.KfXmlFlexible;
33+
import org.apache.kafka.clients.producer.KafkaProducer;
3334
import org.junit.jupiter.api.Test;
35+
import org.junit.jupiter.api.extension.ExtendWith;
36+
import org.mockito.Mock;
37+
import org.mockito.junit.jupiter.MockitoExtension;
3438

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

4954
@Test
50-
void constructsProducerWithXML() throws Exception {
51-
final Producer<String, String> producer =
52-
new KfProducer<>(
53-
new KfXmlFlexible<String, String>("settings.xml")
54-
.producer()
55-
);
55+
void constructsProducerWithExistingProducer(@Mock final KafkaProducer<String, String> mock) {
56+
final Producer<String, String> producer = new KfProducer<>(mock);
5657
assertThat(producer).isNotNull();
57-
assertDoesNotThrow(
58-
producer::close
58+
assertDoesNotThrow(producer::close);
59+
}
60+
61+
@Test
62+
void constructsProducerWithXml() throws Exception {
63+
final Producer<String, String> producer = new KfProducer<>(
64+
new KfXmlFlexible<>("settings.xml")
5965
);
66+
assertThat(producer).isNotNull();
67+
assertDoesNotThrow(producer::close);
6068
}
6169

6270
@Test
@@ -74,8 +82,6 @@ void constructsProducerWithParams() {
7482
)
7583
);
7684
assertThat(producer).isNotNull();
77-
assertDoesNotThrow(
78-
producer::close
79-
);
85+
assertDoesNotThrow(producer::close);
8086
}
8187
}

0 commit comments

Comments
 (0)