DATAMONGO-2257 - Polishing.
Enable tests for issues already resolved.
This commit is contained in:
@@ -33,7 +33,6 @@ import org.bson.Document;
|
||||
import org.bson.conversions.Bson;
|
||||
import org.bson.types.ObjectId;
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
@@ -47,6 +46,7 @@ import org.springframework.data.mongodb.core.convert.MappingMongoConverter;
|
||||
import org.springframework.data.mongodb.core.convert.NoOpDbRefResolver;
|
||||
import org.springframework.data.mongodb.core.mapping.Field;
|
||||
import org.springframework.data.mongodb.core.mapping.MongoMappingContext;
|
||||
import org.springframework.data.mongodb.core.mapreduce.MapReduceOptions;
|
||||
import org.springframework.data.mongodb.core.query.BasicQuery;
|
||||
import org.springframework.data.mongodb.core.query.Collation;
|
||||
import org.springframework.data.mongodb.core.query.Criteria;
|
||||
@@ -63,6 +63,7 @@ import com.mongodb.client.model.ReplaceOptions;
|
||||
import com.mongodb.client.model.UpdateOptions;
|
||||
import com.mongodb.reactivestreams.client.AggregatePublisher;
|
||||
import com.mongodb.reactivestreams.client.FindPublisher;
|
||||
import com.mongodb.reactivestreams.client.MapReducePublisher;
|
||||
import com.mongodb.reactivestreams.client.MongoClient;
|
||||
import com.mongodb.reactivestreams.client.MongoCollection;
|
||||
import com.mongodb.reactivestreams.client.MongoDatabase;
|
||||
@@ -87,6 +88,7 @@ public class ReactiveMongoTemplateUnitTests {
|
||||
@Mock Publisher runCommandPublisher;
|
||||
@Mock Publisher updatePublisher;
|
||||
@Mock Publisher findAndUpdatePublisher;
|
||||
@Mock MapReducePublisher mapReducePublisher;
|
||||
|
||||
MongoExceptionTranslator exceptionTranslator = new MongoExceptionTranslator();
|
||||
MappingMongoConverter converter;
|
||||
@@ -106,7 +108,9 @@ public class ReactiveMongoTemplateUnitTests {
|
||||
when(collection.aggregate(anyList(), any(Class.class))).thenReturn(aggregatePublisher);
|
||||
when(collection.count(any(), any(CountOptions.class))).thenReturn(Mono.just(0L));
|
||||
when(collection.updateOne(any(), any(), any(UpdateOptions.class))).thenReturn(updatePublisher);
|
||||
when(collection.findOneAndUpdate(any(), any(), any(FindOneAndUpdateOptions.class))).thenReturn(findAndUpdatePublisher);
|
||||
when(collection.findOneAndUpdate(any(), any(), any(FindOneAndUpdateOptions.class)))
|
||||
.thenReturn(findAndUpdatePublisher);
|
||||
when(collection.mapReduce(anyString(), anyString(), any())).thenReturn(mapReducePublisher);
|
||||
when(findPublisher.projection(any())).thenReturn(findPublisher);
|
||||
when(findPublisher.limit(anyInt())).thenReturn(findPublisher);
|
||||
when(findPublisher.collation(any())).thenReturn(findPublisher);
|
||||
@@ -271,14 +275,13 @@ public class ReactiveMongoTemplateUnitTests {
|
||||
assertThat(options.getValue().getCollation().getLocale(), is("fr"));
|
||||
}
|
||||
|
||||
@Ignore("currently no mapReduce")
|
||||
@Test // DATAMONGO-1518
|
||||
@Test // DATAMONGO-1518, DATAMONGO-2257
|
||||
public void mapReduceShouldUseCollationWhenPresent() {
|
||||
|
||||
// template.mapReduce("", "", "", MapReduceOptions.options().collation(Collation.of("fr")),
|
||||
// AutogenerateableId.class).subscribe();
|
||||
//
|
||||
// verify(mapReduceIterable).collation(eq(com.mongodb.client.model.Collation.builder().locale("fr").build()));
|
||||
template.mapReduce(new BasicQuery("{}"), AutogenerateableId.class, AutogenerateableId.class, "", "",
|
||||
MapReduceOptions.options().collation(Collation.of("fr"))).subscribe();
|
||||
|
||||
verify(mapReducePublisher).collation(eq(com.mongodb.client.model.Collation.builder().locale("fr").build()));
|
||||
}
|
||||
|
||||
@Test // DATAMONGO-1518
|
||||
|
||||
@@ -44,6 +44,8 @@ import org.springframework.data.mongodb.core.aggregation.Aggregation;
|
||||
import org.springframework.data.mongodb.core.convert.MappingMongoConverter;
|
||||
import org.springframework.data.mongodb.core.convert.NoOpDbRefResolver;
|
||||
import org.springframework.data.mongodb.core.mapping.MongoMappingContext;
|
||||
import org.springframework.data.mongodb.core.mapreduce.MapReduceOptions;
|
||||
import org.springframework.data.mongodb.core.query.BasicQuery;
|
||||
import org.springframework.data.mongodb.core.query.NearQuery;
|
||||
import org.springframework.data.mongodb.core.query.Query;
|
||||
import org.springframework.data.mongodb.core.query.Update;
|
||||
@@ -56,6 +58,7 @@ import com.mongodb.reactivestreams.client.AggregatePublisher;
|
||||
import com.mongodb.reactivestreams.client.ClientSession;
|
||||
import com.mongodb.reactivestreams.client.DistinctPublisher;
|
||||
import com.mongodb.reactivestreams.client.FindPublisher;
|
||||
import com.mongodb.reactivestreams.client.MapReducePublisher;
|
||||
import com.mongodb.reactivestreams.client.MongoClient;
|
||||
import com.mongodb.reactivestreams.client.MongoCollection;
|
||||
import com.mongodb.reactivestreams.client.MongoDatabase;
|
||||
@@ -85,6 +88,7 @@ public class ReactiveSessionBoundMongoTemplateUnitTests {
|
||||
@Mock AggregatePublisher aggregatePublisher;
|
||||
@Mock DistinctPublisher distinctPublisher;
|
||||
@Mock Publisher resultPublisher;
|
||||
@Mock MapReducePublisher mapReducePublisher;
|
||||
@Mock MongoClient client;
|
||||
@Mock CodecRegistry codecRegistry;
|
||||
|
||||
@@ -115,6 +119,7 @@ public class ReactiveSessionBoundMongoTemplateUnitTests {
|
||||
when(collection.updateMany(any(ClientSession.class), any(), any(), any(UpdateOptions.class)))
|
||||
.thenReturn(resultPublisher);
|
||||
when(collection.dropIndex(any(ClientSession.class), anyString())).thenReturn(resultPublisher);
|
||||
when(collection.mapReduce(any(ClientSession.class), any(), any(), any())).thenReturn(mapReducePublisher);
|
||||
when(findPublisher.projection(any())).thenReturn(findPublisher);
|
||||
when(findPublisher.limit(anyInt())).thenReturn(findPublisher);
|
||||
when(findPublisher.collation(any())).thenReturn(findPublisher);
|
||||
@@ -269,11 +274,11 @@ public class ReactiveSessionBoundMongoTemplateUnitTests {
|
||||
verify(database).runCommand(eq(clientSession), any(), eq(Document.class));
|
||||
}
|
||||
|
||||
@Test // DATAMONGO-1880, DATAMONGO-1890
|
||||
@Ignore("No map reduce yet on template - DATAMONGO-1890")
|
||||
@Test // DATAMONGO-1880, DATAMONGO-1890, DATAMONGO-257
|
||||
public void mapReduceShouldUseProxiedCollection() {
|
||||
|
||||
// template.mapReduce(COLLECTION_NAME, "foo", "bar", Person.class);
|
||||
template.mapReduce(new BasicQuery("{}"), Person.class, COLLECTION_NAME, Person.class, "foo", "bar",
|
||||
MapReduceOptions.options()).subscribe();
|
||||
|
||||
verify(collection).mapReduce(eq(clientSession), anyString(), anyString(), eq(Document.class));
|
||||
}
|
||||
|
||||
@@ -36,7 +36,6 @@ import java.util.stream.Stream;
|
||||
|
||||
import org.hamcrest.Matchers;
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.rules.ExpectedException;
|
||||
@@ -1274,15 +1273,8 @@ public abstract class AbstractPersonRepositoryIntegrationTests {
|
||||
assertThat(target.getShippingAddresses()).hasSize(1);
|
||||
}
|
||||
|
||||
@Test // DATAMONGO-2149, DATAMONGO-2154
|
||||
@Ignore("This one fails due to Json parse exception within MongoDB")
|
||||
@Test // DATAMONGO-2149, DATAMONGO-2154, DATAMONGO-2199
|
||||
public void annotatedQueryShouldAllowPositionalParameterInFieldsProjectionWithDbRef() {
|
||||
|
||||
// the following needs to be added to PersonRepository.
|
||||
|
||||
// @Query(value = "{ 'fans' : { '$elemMatch' : { '$ref' : 'user' } } }", fields = "{ 'fans.$': ?0 }")
|
||||
// Person findWithArrayPositionInProjectionWithDbRef(int position);
|
||||
|
||||
List<User> userList = IntStream.range(0, 10).mapToObj(it -> {
|
||||
|
||||
User user = new User();
|
||||
@@ -1297,9 +1289,9 @@ public abstract class AbstractPersonRepositoryIntegrationTests {
|
||||
alicia.setFans(userList);
|
||||
operations.save(alicia);
|
||||
|
||||
// Person target = repository.findWithArrayPositionInProjectionWithDbRef(1);
|
||||
//
|
||||
// assertThat(target).isNotNull();
|
||||
// assertThat(target.getShippingAddresses()).hasSize(1);
|
||||
Person target = repository.findWithArrayPositionInProjectionWithDbRef(1);
|
||||
|
||||
assertThat(target).isNotNull();
|
||||
assertThat(target.getFans()).hasSize(1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -362,4 +362,7 @@ public interface PersonRepository extends MongoRepository<Person, String>, Query
|
||||
|
||||
@Query(value = "{ 'shippingAddresses' : { '$elemMatch' : { 'city' : { '$eq' : 'lnz' } } } }", fields = "{ 'shippingAddresses.$': ?0 }")
|
||||
Person findWithArrayPositionInProjection(int position);
|
||||
|
||||
@Query(value = "{ 'fans' : { '$elemMatch' : { '$ref' : 'user' } } }", fields = "{ 'fans.$': ?0 }")
|
||||
Person findWithArrayPositionInProjectionWithDbRef(int position);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user