Browse Source

DATAMONGO-2427 - Polishing.

Guard tests.

Original pull request: #823.
pull/830/head
Mark Paluch 6 years ago
parent
commit
9abf098bdb
No known key found for this signature in database
GPG Key ID: 51A00FA751B91849
  1. 5
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/gridfs/ReactiveGridFsResource.java
  2. 7
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ReactiveMongoTemplateTests.java
  3. 8
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/SessionBoundMongoTemplateTests.java
  4. 7
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/messaging/ChangeStreamTests.java
  5. 3
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/gridfs/ReactiveGridFsResourceUnitTests.java
  6. 8
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/gridfs/ReactiveGridFsTemplateTests.java
  7. 8
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/support/SimpleMongoRepositoryVersionedEntityTests.java

5
spring-data-mongodb/src/main/java/org/springframework/data/mongodb/gridfs/ReactiveGridFsResource.java

@ -34,7 +34,8 @@ import com.mongodb.client.gridfs.model.GridFSFile; @@ -34,7 +34,8 @@ import com.mongodb.client.gridfs.model.GridFSFile;
import com.mongodb.reactivestreams.client.gridfs.GridFSDownloadPublisher;
/**
* Reactive {@link GridFSFile} based {@link Resource} implementation.
* Reactive {@link GridFSFile} based {@link Resource} implementation. Note that the {@link #getDownloadStream() content}
* can be consumed only once.
*
* @author Mark Paluch
* @author Christoph Strobl
@ -63,6 +64,8 @@ public class ReactiveGridFsResource { @@ -63,6 +64,8 @@ public class ReactiveGridFsResource {
*
* @param filename filename of the absent resource.
* @param downloadPublisher
* @param dataBufferFactory
* @since 3.0
*/
ReactiveGridFsResource(String filename, @Nullable GridFSDownloadPublisher downloadPublisher,
DataBufferFactory dataBufferFactory) {

7
spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ReactiveMongoTemplateTests.java

@ -24,6 +24,7 @@ import lombok.AllArgsConstructor; @@ -24,6 +24,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Wither;
import org.junit.Rule;
import reactor.core.Disposable;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
@ -79,6 +80,8 @@ import org.springframework.data.mongodb.core.query.Criteria; @@ -79,6 +80,8 @@ import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.NearQuery;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.data.mongodb.test.util.MongoVersion;
import org.springframework.data.mongodb.test.util.MongoVersionRule;
import org.springframework.data.mongodb.test.util.ReplicaSet;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.ContextConfiguration;
@ -99,6 +102,7 @@ public class ReactiveMongoTemplateTests { @@ -99,6 +102,7 @@ public class ReactiveMongoTemplateTests {
@Autowired SimpleReactiveMongoDatabaseFactory factory;
@Autowired ReactiveMongoTemplate template;
@Autowired ConfigurableApplicationContext context;
@Rule public MongoVersionRule mongoVersion = MongoVersionRule.any();
@Before
public void setUp() {
@ -1614,6 +1618,7 @@ public class ReactiveMongoTemplateTests { @@ -1614,6 +1618,7 @@ public class ReactiveMongoTemplateTests {
}
@Test // DATAMONGO-2012
@MongoVersion(asOf = "4.0")
public void watchesDatabaseCorrectly() throws InterruptedException {
Assumptions.assumeThat(ReplicaSet.required().runsAsReplicaSet()).isTrue();
@ -1655,6 +1660,7 @@ public class ReactiveMongoTemplateTests { @@ -1655,6 +1660,7 @@ public class ReactiveMongoTemplateTests {
}
@Test // DATAMONGO-2012, DATAMONGO-2113
@MongoVersion(asOf = "4.0")
public void resumesAtTimestampCorrectly() throws InterruptedException {
Assumptions.assumeThat(ReplicaSet.required().runsAsReplicaSet()).isTrue();
@ -1705,6 +1711,7 @@ public class ReactiveMongoTemplateTests { @@ -1705,6 +1711,7 @@ public class ReactiveMongoTemplateTests {
}
@Test // DATAMONGO-2115
@MongoVersion(asOf = "4.0")
public void resumesAtBsonTimestampCorrectly() throws InterruptedException {
Assumptions.assumeThat(ReplicaSet.required().runsAsReplicaSet()).isTrue();

8
spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/SessionBoundMongoTemplateTests.java

@ -39,6 +39,7 @@ import org.bson.Document; @@ -39,6 +39,7 @@ import org.bson.Document;
import org.junit.After;
import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TestRule;
import org.mockito.Mockito;
@ -63,6 +64,7 @@ import org.springframework.data.mongodb.core.mapping.DBRef; @@ -63,6 +64,7 @@ import org.springframework.data.mongodb.core.mapping.DBRef;
import org.springframework.data.mongodb.core.mapping.MongoMappingContext;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.test.util.MongoTestUtils;
import org.springframework.data.mongodb.test.util.MongoVersion;
import org.springframework.data.mongodb.test.util.MongoVersionRule;
import org.springframework.data.mongodb.test.util.ReplicaSet;
import org.springframework.data.util.Version;
@ -81,9 +83,10 @@ import com.mongodb.client.MongoDatabase; @@ -81,9 +83,10 @@ import com.mongodb.client.MongoDatabase;
*/
public class SessionBoundMongoTemplateTests {
public static @ClassRule MongoVersionRule REQUIRES_AT_LEAST_3_6_0 = MongoVersionRule.atLeast(Version.parse("3.6.0"));
public static @ClassRule TestRule replSet = ReplicaSet.required();
public @Rule MongoVersionRule REQUIRES_AT_LEAST_3_6_0 = MongoVersionRule.atLeast(Version.parse("3.6.0"));
MongoClient client;
MongoTemplate template;
SessionBoundMongoTemplate sessionBoundTemplate;
@ -259,6 +262,7 @@ public class SessionBoundMongoTemplateTests { @@ -259,6 +262,7 @@ public class SessionBoundMongoTemplateTests {
}
@Test // DATAMONGO-2001
@MongoVersion(asOf = "4.0")
public void countShouldWorkInTransactions() {
if (!template.collectionExists(Person.class)) {
@ -283,6 +287,7 @@ public class SessionBoundMongoTemplateTests { @@ -283,6 +287,7 @@ public class SessionBoundMongoTemplateTests {
}
@Test // DATAMONGO-2012
@MongoVersion(asOf = "4.0")
public void countWithGeoInTransaction() {
if (!template.collectionExists(Person.class)) {
@ -307,6 +312,7 @@ public class SessionBoundMongoTemplateTests { @@ -307,6 +312,7 @@ public class SessionBoundMongoTemplateTests {
}
@Test // DATAMONGO-2001
@MongoVersion(asOf = "4.0")
public void countShouldReturnIsolatedCount() throws InterruptedException {
if (!template.collectionExists(Person.class)) {

7
spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/messaging/ChangeStreamTests.java

@ -39,6 +39,7 @@ import org.junit.AfterClass; @@ -39,6 +39,7 @@ import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TestRule;
import org.springframework.data.annotation.Id;
@ -50,7 +51,10 @@ import org.springframework.data.mongodb.core.messaging.SubscriptionUtils.*; @@ -50,7 +51,10 @@ import org.springframework.data.mongodb.core.messaging.SubscriptionUtils.*;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.data.mongodb.test.util.MongoTestUtils;
import org.springframework.data.mongodb.test.util.MongoVersion;
import org.springframework.data.mongodb.test.util.MongoVersionRule;
import org.springframework.data.mongodb.test.util.ReplicaSet;
import org.springframework.data.util.Version;
import com.mongodb.client.model.changestream.ChangeStreamDocument;
import com.mongodb.client.model.changestream.FullDocument;
@ -65,6 +69,7 @@ import com.mongodb.client.model.changestream.FullDocument; @@ -65,6 +69,7 @@ import com.mongodb.client.model.changestream.FullDocument;
public class ChangeStreamTests {
public static @ClassRule TestRule replSet = ReplicaSet.required();
@Rule public MongoVersionRule mongoVersion = MongoVersionRule.atLeast(Version.parse("3.6"));
static ThreadPoolExecutor executor;
MongoTemplate template;
@ -161,6 +166,7 @@ public class ChangeStreamTests { @@ -161,6 +166,7 @@ public class ChangeStreamTests {
}
@Test // DATAMONGO-1803
@MongoVersion(asOf = "4.0")
public void useAggregationToFilterMessages() throws InterruptedException {
CollectingMessageListener<ChangeStreamDocument<Document>, User> messageListener = new CollectingMessageListener<>();
@ -406,6 +412,7 @@ public class ChangeStreamTests { @@ -406,6 +412,7 @@ public class ChangeStreamTests {
}
@Test // DATAMONGO-2012, DATAMONGO-2113
@MongoVersion(asOf = "4.0")
public void resumeAtTimestampCorrectly() throws InterruptedException {
CollectingMessageListener<ChangeStreamDocument<Document>, User> messageListener1 = new CollectingMessageListener<>();

3
spring-data-mongodb/src/test/java/org/springframework/data/mongodb/gridfs/ReactiveGridFsResourceUnitTests.java

@ -31,6 +31,8 @@ import com.mongodb.client.gridfs.model.GridFSFile; @@ -31,6 +31,8 @@ import com.mongodb.client.gridfs.model.GridFSFile;
import com.mongodb.reactivestreams.client.gridfs.GridFSDownloadPublisher;
/**
* Unit tests for {@link ReactiveGridFsResource}.
*
* @author Christoph Strobl
*/
class ReactiveGridFsResourceUnitTests {
@ -91,7 +93,6 @@ class ReactiveGridFsResourceUnitTests { @@ -91,7 +93,6 @@ class ReactiveGridFsResourceUnitTests {
}
});
}
}
}

8
spring-data-mongodb/src/test/java/org/springframework/data/mongodb/gridfs/ReactiveGridFsTemplateTests.java

@ -27,7 +27,6 @@ import reactor.test.StepVerifier; @@ -27,7 +27,6 @@ import reactor.test.StepVerifier;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.ByteBuffer;
import java.util.Arrays;
import org.bson.BsonObjectId;
import org.bson.Document;
@ -35,7 +34,7 @@ import org.bson.types.ObjectId; @@ -35,7 +34,7 @@ import org.bson.types.ObjectId;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.reactivestreams.Publisher;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
@ -58,7 +57,6 @@ import org.springframework.util.StreamUtils; @@ -58,7 +57,6 @@ import org.springframework.util.StreamUtils;
import com.mongodb.client.gridfs.model.GridFSFile;
import com.mongodb.internal.HexUtils;
import com.mongodb.reactivestreams.client.internal.Publishers;
/**
* Integration tests for {@link ReactiveGridFsTemplate}.
@ -293,10 +291,6 @@ public class ReactiveGridFsTemplateTests { @@ -293,10 +291,6 @@ public class ReactiveGridFsTemplateTests {
String version;
}
private static Publisher<ByteBuffer> toPublisher(final ByteBuffer... byteBuffers) {
return Publishers.publishAndFlatten(callback -> callback.onResult(Arrays.asList(byteBuffers), null));
}
public static String readToString(DataBuffer dataBuffer) {
try {
return FileCopyUtils.copyToString(new InputStreamReader(dataBuffer.asInputStream()));

8
spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/support/SimpleMongoRepositoryVersionedEntityTests.java

@ -21,28 +21,28 @@ import static org.springframework.data.mongodb.core.query.Criteria.*; @@ -21,28 +21,28 @@ import static org.springframework.data.mongodb.core.query.Criteria.*;
import static org.springframework.data.mongodb.core.query.Query.*;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.dao.OptimisticLockingFailureException;
import org.springframework.data.mongodb.MongoTransactionManager;
import org.springframework.data.mongodb.config.AbstractMongoClientConfiguration;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.mapping.BasicMongoPersistentEntity;
import org.springframework.data.mongodb.core.mapping.MongoPersistentEntity;
import org.springframework.data.mongodb.repository.VersionedPerson;
import org.springframework.data.mongodb.repository.query.MongoEntityInformation;
import org.springframework.data.mongodb.test.util.MongoTestUtils;
import org.springframework.data.mongodb.test.util.MongoVersion;
import org.springframework.data.mongodb.test.util.MongoVersionRule;
import org.springframework.data.mongodb.test.util.ReplicaSet;
import org.springframework.data.util.ClassTypeInformation;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.support.TransactionTemplate;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
/**
* @author Christoph Strobl
@ -66,6 +66,8 @@ public class SimpleMongoRepositoryVersionedEntityTests { @@ -66,6 +66,8 @@ public class SimpleMongoRepositoryVersionedEntityTests {
}
}
@Rule public MongoVersionRule mongoVersion = MongoVersionRule.any();
@Autowired //
private MongoTemplate template;

Loading…
Cancel
Save