DATAMONGO-2427 - Polishing.

Guard tests.

Original pull request: #823.
This commit is contained in:
Mark Paluch
2020-01-27 09:56:10 +01:00
parent f688cca400
commit 9abf098bdb
7 changed files with 33 additions and 13 deletions

View File

@@ -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 {
*
* @param filename filename of the absent resource.
* @param downloadPublisher
* @param dataBufferFactory
* @since 3.0
*/
ReactiveGridFsResource(String filename, @Nullable GridFSDownloadPublisher downloadPublisher,
DataBufferFactory dataBufferFactory) {

View File

@@ -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;
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 {
@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 {
}
@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 {
}
@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 {
}
@Test // DATAMONGO-2115
@MongoVersion(asOf = "4.0")
public void resumesAtBsonTimestampCorrectly() throws InterruptedException {
Assumptions.assumeThat(ReplicaSet.required().runsAsReplicaSet()).isTrue();

View File

@@ -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;
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;
*/
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 {
}
@Test // DATAMONGO-2001
@MongoVersion(asOf = "4.0")
public void countShouldWorkInTransactions() {
if (!template.collectionExists(Person.class)) {
@@ -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 {
}
@Test // DATAMONGO-2001
@MongoVersion(asOf = "4.0")
public void countShouldReturnIsolatedCount() throws InterruptedException {
if (!template.collectionExists(Person.class)) {

View File

@@ -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.*;
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;
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 {
}
@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 {
}
@Test // DATAMONGO-2012, DATAMONGO-2113
@MongoVersion(asOf = "4.0")
public void resumeAtTimestampCorrectly() throws InterruptedException {
CollectingMessageListener<ChangeStreamDocument<Document>, User> messageListener1 = new CollectingMessageListener<>();

View File

@@ -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 {
}
});
}
}
}

View File

@@ -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;
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;
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 {
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()));

View File

@@ -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 {
}
}
@Rule public MongoVersionRule mongoVersion = MongoVersionRule.any();
@Autowired //
private MongoTemplate template;