use of io.smallrye.mutiny.groups.MultiCollect in project kogito-apps by kiegroup.
the class MongoDBJobRepositoryTest method setUp.
@BeforeEach
void setUp() {
mongoClient = mock(ReactiveMongoClient.class);
collection = mock(ReactiveMongoCollection.class);
ReactiveMongoDatabase mongoDatabase = mock(ReactiveMongoDatabase.class);
when(mongoClient.getDatabase(anyString())).thenReturn(mongoDatabase);
when(mongoDatabase.getCollection(anyString())).thenReturn(collection);
Uni uni = mock(Uni.class);
Multi multi = mock(Multi.class);
when(collection.findOneAndReplace(any(Bson.class), any(), any(FindOneAndReplaceOptions.class))).thenReturn(uni);
when(collection.find(any(Bson.class))).thenReturn(multi);
when(collection.findOneAndDelete(any(Bson.class))).thenReturn(uni);
when(collection.find()).thenReturn(multi);
when(collection.find(any(Bson.class), any(FindOptions.class))).thenReturn(multi);
when(collection.createIndex(any())).thenReturn(uni);
when(uni.map(any())).thenAnswer(invocationOnMock -> {
jobDetailsMarshaller.unmarshall(marshalled);
return uni;
});
when(uni.await()).thenReturn(mock(UniAwait.class));
MultiCollect multiCollect = mock(MultiCollect.class);
when(multi.collect()).thenReturn(multiCollect);
when(multiCollect.first()).thenReturn(uni);
when(multiCollect.with(any())).thenReturn(uni);
when(multi.map(any())).thenAnswer(invocationOnMock -> {
jobDetailsMarshaller.unmarshall(marshalled);
return multi;
});
MultiConvert convertMulti = mock(MultiConvert.class);
when(multi.emitOn(any())).thenReturn(multi);
when(multi.convert()).thenReturn(convertMulti);
Publisher publisher = mock(Publisher.class);
when(convertMulti.toPublisher()).thenReturn(publisher);
completableFuture = mock(CompletableFuture.class);
UniConvert convert = mock(UniConvert.class);
when(uni.emitOn(any())).thenReturn(uni);
when(uni.convert()).thenReturn(convert);
when(convert.toCompletionStage()).thenReturn(completableFuture);
ZonedDateTime time = ZonedDateTime.now(DEFAULT_ZONE);
PointInTimeTrigger trigger = new PointInTimeTrigger(time.toInstant().getEpochSecond(), null, null);
Recipient recipient = new Recipient.HTTPRecipient("test");
unmarshalled = new JobDetailsBuilder().id("test").trigger(trigger).recipient(recipient).build();
marshalled = new JsonObject().put("id", "test");
jobDetailsMarshaller = mock(JobDetailsMarshaller.class);
when(jobDetailsMarshaller.marshall(any(JobDetails.class))).thenReturn(marshalled);
when(jobDetailsMarshaller.unmarshall(any(JsonObject.class))).thenReturn(unmarshalled);
mongoDBJobRepository = new MongoDBJobRepository(null, null, mongoClient, "test", jobDetailsMarshaller);
}
Aggregations