use of io.quarkus.mongodb.reactive.ReactiveMongoDatabase in project quarkus by quarkusio.
the class ReactiveMongoOperations method mongoCollection.
public ReactiveMongoCollection mongoCollection(Class<?> entityClass) {
MongoEntity mongoEntity = entityClass.getAnnotation(MongoEntity.class);
ReactiveMongoDatabase database = mongoDatabase(mongoEntity);
if (mongoEntity != null && !mongoEntity.collection().isEmpty()) {
return database.getCollection(mongoEntity.collection(), entityClass);
}
return database.getCollection(entityClass.getSimpleName(), entityClass);
}
use of io.quarkus.mongodb.reactive.ReactiveMongoDatabase 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