Browse Source

DATAMONGO-2390 - Polishing.

Switch touched test files to JUnit Jupiter.

Original pull request: #800.
pull/802/head
Christoph Strobl 6 years ago committed by Mark Paluch
parent
commit
5308e6c37f
No known key found for this signature in database
GPG Key ID: 51A00FA751B91849
  1. 12
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/MongoOperationsUnitTests.java
  2. 40
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/MongoTemplateUnitTests.java
  3. 23
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ReactiveMongoTemplateUnitTests.java

12
spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/MongoOperationsUnitTests.java

@ -22,11 +22,11 @@ import java.util.List;
import org.bson.Document; import org.bson.Document;
import org.bson.conversions.Bson; import org.bson.conversions.Bson;
import org.junit.Before; import org.junit.jupiter.api.BeforeEach;
import org.junit.Test; import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith; import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner; import org.mockito.junit.jupiter.MockitoExtension;
import org.springframework.dao.DataAccessException; import org.springframework.dao.DataAccessException;
import org.springframework.data.geo.Point; import org.springframework.data.geo.Point;
import org.springframework.data.mapping.MappingException; import org.springframework.data.mapping.MappingException;
@ -49,7 +49,7 @@ import com.mongodb.DBRef;
* @author Thomas Darimont * @author Thomas Darimont
* @author Christoph Strobl * @author Christoph Strobl
*/ */
@RunWith(MockitoJUnitRunner.class) @ExtendWith(MockitoExtension.class)
public abstract class MongoOperationsUnitTests { public abstract class MongoOperationsUnitTests {
@Mock CollectionCallback<Object> collectionCallback; @Mock CollectionCallback<Object> collectionCallback;
@ -59,7 +59,7 @@ public abstract class MongoOperationsUnitTests {
Person person; Person person;
List<Person> persons; List<Person> persons;
@Before @BeforeEach
public final void operationsSetUp() { public final void operationsSetUp() {
person = new Person("Oliver"); person = new Person("Oliver");

40
spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/MongoTemplateUnitTests.java

@ -37,15 +37,15 @@ import org.assertj.core.api.Assertions;
import org.bson.Document; import org.bson.Document;
import org.bson.conversions.Bson; import org.bson.conversions.Bson;
import org.bson.types.ObjectId; import org.bson.types.ObjectId;
import org.junit.Before; import org.junit.jupiter.api.BeforeEach;
import org.junit.Ignore; import org.junit.jupiter.api.Disabled;
import org.junit.Test; import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor; import org.mockito.ArgumentCaptor;
import org.mockito.ArgumentMatcher; import org.mockito.ArgumentMatcher;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.Mockito; import org.mockito.Mockito;
import org.mockito.junit.MockitoJUnitRunner; import org.mockito.junit.jupiter.MockitoSettings;
import org.mockito.quality.Strictness;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationListener; import org.springframework.context.ApplicationListener;
@ -122,7 +122,7 @@ import com.mongodb.client.result.UpdateResult;
* @author Mark Paluch * @author Mark Paluch
* @author Michael J. Simons * @author Michael J. Simons
*/ */
@RunWith(MockitoJUnitRunner.class) @MockitoSettings(strictness = Strictness.LENIENT)
public class MongoTemplateUnitTests extends MongoOperationsUnitTests { public class MongoTemplateUnitTests extends MongoOperationsUnitTests {
MongoTemplate template; MongoTemplate template;
@ -146,8 +146,8 @@ public class MongoTemplateUnitTests extends MongoOperationsUnitTests {
MappingMongoConverter converter; MappingMongoConverter converter;
MongoMappingContext mappingContext; MongoMappingContext mappingContext;
@Before @BeforeEach
public void setUp() { public void beforeEach() {
when(findIterable.iterator()).thenReturn(cursor); when(findIterable.iterator()).thenReturn(cursor);
when(factory.getDb()).thenReturn(db); when(factory.getDb()).thenReturn(db);
@ -209,34 +209,36 @@ public class MongoTemplateUnitTests extends MongoOperationsUnitTests {
.isThrownBy(() -> new MongoTemplate((com.mongodb.client.MongoClient) null, "database")); .isThrownBy(() -> new MongoTemplate((com.mongodb.client.MongoClient) null, "database"));
} }
@Test(expected = IllegalArgumentException.class) // DATAMONGO-1870 @Test // DATAMONGO-1870
public void removeHandlesMongoExceptionProperly() throws Exception { public void removeHandlesMongoExceptionProperly() {
MongoTemplate template = mockOutGetDb(); MongoTemplate template = mockOutGetDb();
template.remove(null, "collection"); assertThatExceptionOfType(IllegalArgumentException.class).isThrownBy(() -> template.remove(null, "collection"));
} }
@Test @Test
public void defaultsConverterToMappingMongoConverter() throws Exception { public void defaultsConverterToMappingMongoConverter() {
MongoTemplate template = new MongoTemplate(mongo, "database"); MongoTemplate template = new MongoTemplate(mongo, "database");
assertThat(ReflectionTestUtils.getField(template, "mongoConverter") instanceof MappingMongoConverter).isTrue(); assertThat(ReflectionTestUtils.getField(template, "mongoConverter") instanceof MappingMongoConverter).isTrue();
} }
@Test(expected = InvalidDataAccessApiUsageException.class) @Test
public void rejectsNotFoundMapReduceResource() { public void rejectsNotFoundMapReduceResource() {
GenericApplicationContext ctx = new GenericApplicationContext(); GenericApplicationContext ctx = new GenericApplicationContext();
ctx.refresh(); ctx.refresh();
template.setApplicationContext(ctx); template.setApplicationContext(ctx);
template.mapReduce("foo", "classpath:doesNotExist.js", "function() {}", Person.class);
assertThatExceptionOfType(InvalidDataAccessApiUsageException.class)
.isThrownBy(() -> template.mapReduce("foo", "classpath:doesNotExist.js", "function() {}", Person.class));
} }
@Test(expected = InvalidDataAccessApiUsageException.class) // DATAMONGO-322 @Test // DATAMONGO-322
public void rejectsEntityWithNullIdIfNotSupportedIdType() { public void rejectsEntityWithNullIdIfNotSupportedIdType() {
Object entity = new NotAutogenerateableId(); Object entity = new NotAutogenerateableId();
template.save(entity); assertThatExceptionOfType(InvalidDataAccessApiUsageException.class).isThrownBy(() -> template.save(entity));
} }
@Test // DATAMONGO-322 @Test // DATAMONGO-322
@ -466,7 +468,7 @@ public class MongoTemplateUnitTests extends MongoOperationsUnitTests {
} }
@Test // DATAMONGO-1334 @Test // DATAMONGO-1334
@Ignore("TODO: mongo3 - a bit hard to tests with the immutable object stuff") @Disabled("TODO: mongo3 - a bit hard to tests with the immutable object stuff")
public void mapReduceShouldUseZeroAsDefaultLimit() { public void mapReduceShouldUseZeroAsDefaultLimit() {
MongoCursor cursor = mock(MongoCursor.class); MongoCursor cursor = mock(MongoCursor.class);
@ -1323,7 +1325,7 @@ public class MongoTemplateUnitTests extends MongoOperationsUnitTests {
assertThat(options.getValue().getCollation().getLocale()).isEqualTo("de_AT"); assertThat(options.getValue().getCollation().getLocale()).isEqualTo("de_AT");
} }
@Test // DATAMONGO-18545 @Test // DATAMONGO-1854
public void findAndReplaceShouldUseCollationEvenIfDefaultCollationIsPresent() { public void findAndReplaceShouldUseCollationEvenIfDefaultCollationIsPresent() {
template.findAndReplace(new BasicQuery("{}").collation(Collation.of("fr")), new Sith()); template.findAndReplace(new BasicQuery("{}").collation(Collation.of("fr")), new Sith());
@ -1822,7 +1824,7 @@ public class MongoTemplateUnitTests extends MongoOperationsUnitTests {
@Override @Override
protected MongoOperations getOperationsForExceptionHandling() { protected MongoOperations getOperationsForExceptionHandling() {
MongoTemplate template = spy(this.template); MongoTemplate template = spy(this.template);
when(template.getDb()).thenThrow(new MongoException("Error!")); lenient().when(template.getDb()).thenThrow(new MongoException("Error!"));
return template; return template;
} }

23
spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/ReactiveMongoTemplateUnitTests.java

@ -35,12 +35,14 @@ import org.assertj.core.api.Assertions;
import org.bson.Document; import org.bson.Document;
import org.bson.conversions.Bson; import org.bson.conversions.Bson;
import org.bson.types.ObjectId; import org.bson.types.ObjectId;
import org.junit.Before; import org.junit.jupiter.api.BeforeEach;
import org.junit.Test; import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith; import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.ArgumentCaptor; import org.mockito.ArgumentCaptor;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner; import org.mockito.junit.jupiter.MockitoExtension;
import org.mockito.junit.jupiter.MockitoSettings;
import org.mockito.quality.Strictness;
import org.reactivestreams.Publisher; import org.reactivestreams.Publisher;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContext;
@ -91,7 +93,8 @@ import com.mongodb.reactivestreams.client.Success;
* @author Mark Paluch * @author Mark Paluch
* @author Christoph Strobl * @author Christoph Strobl
*/ */
@RunWith(MockitoJUnitRunner.Silent.class) @ExtendWith(MockitoExtension.class)
@MockitoSettings(strictness = Strictness.LENIENT)
public class ReactiveMongoTemplateUnitTests { public class ReactiveMongoTemplateUnitTests {
ReactiveMongoTemplate template; ReactiveMongoTemplate template;
@ -114,8 +117,8 @@ public class ReactiveMongoTemplateUnitTests {
MappingMongoConverter converter; MappingMongoConverter converter;
MongoMappingContext mappingContext; MongoMappingContext mappingContext;
@Before @BeforeEach
public void setUp() { public void beforeEach() {
when(factory.getExceptionTranslator()).thenReturn(exceptionTranslator); when(factory.getExceptionTranslator()).thenReturn(exceptionTranslator);
when(factory.getMongoDatabase()).thenReturn(db); when(factory.getMongoDatabase()).thenReturn(db);
@ -615,7 +618,7 @@ public class ReactiveMongoTemplateUnitTests {
verify(aggregatePublisher).maxTime(eq(10000L), eq(TimeUnit.MILLISECONDS)); verify(aggregatePublisher).maxTime(eq(10000L), eq(TimeUnit.MILLISECONDS));
} }
@Test // DATAMONGO-18545 @Test // DATAMONGO-1854
public void findAndReplaceShouldUseCollationWhenPresent() { public void findAndReplaceShouldUseCollationWhenPresent() {
template.findAndReplace(new BasicQuery("{}").collation(Collation.of("fr")), new Jedi()).subscribe(); template.findAndReplace(new BasicQuery("{}").collation(Collation.of("fr")), new Jedi()).subscribe();
@ -626,7 +629,7 @@ public class ReactiveMongoTemplateUnitTests {
assertThat(options.getValue().getCollation().getLocale()).isEqualTo("fr"); assertThat(options.getValue().getCollation().getLocale()).isEqualTo("fr");
} }
@Test // DATAMONGO-18545 @Test // DATAMONGO-1854
public void findAndReplaceShouldUseDefaultCollationWhenPresent() { public void findAndReplaceShouldUseDefaultCollationWhenPresent() {
template.findAndReplace(new BasicQuery("{}"), new Sith()).subscribe(); template.findAndReplace(new BasicQuery("{}"), new Sith()).subscribe();
@ -637,7 +640,7 @@ public class ReactiveMongoTemplateUnitTests {
assertThat(options.getValue().getCollation().getLocale()).isEqualTo("de_AT"); assertThat(options.getValue().getCollation().getLocale()).isEqualTo("de_AT");
} }
@Test // DATAMONGO-18545 @Test // DATAMONGO-1854
public void findAndReplaceShouldUseCollationEvenIfDefaultCollationIsPresent() { public void findAndReplaceShouldUseCollationEvenIfDefaultCollationIsPresent() {
template.findAndReplace(new BasicQuery("{}").collation(Collation.of("fr")), new MongoTemplateUnitTests.Sith()) template.findAndReplace(new BasicQuery("{}").collation(Collation.of("fr")), new MongoTemplateUnitTests.Sith())

Loading…
Cancel
Save