DATAJPA-1554 - Polishing.
Replaced Hamcrest with AssertJ. Original Pull Request: #383
This commit is contained in:
committed by
Christoph Strobl
parent
574e795a2e
commit
35cb96253c
@@ -15,8 +15,7 @@
|
||||
*/
|
||||
package org.springframework.data.jpa.repository;
|
||||
|
||||
import static org.hamcrest.Matchers.*;
|
||||
import static org.junit.Assert.*;
|
||||
import static org.assertj.core.api.Assertions.*;
|
||||
import static org.springframework.data.domain.Sort.Direction.*;
|
||||
|
||||
import java.util.Arrays;
|
||||
@@ -46,8 +45,8 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
/**
|
||||
* Integration test for executing finders, thus testing various query lookup strategies.
|
||||
*
|
||||
* @see QueryLookupStrategy
|
||||
* @author Oliver Gierke
|
||||
* @see QueryLookupStrategy
|
||||
*/
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
@ContextConfiguration(locations = "classpath:config/namespace-application-context.xml")
|
||||
@@ -86,7 +85,7 @@ public class UserRepositoryFinderTests {
|
||||
public void testSimpleCustomCreatedFinder() {
|
||||
|
||||
User user = userRepository.findByEmailAddressAndLastname("dave@dmband.com", "Matthews");
|
||||
assertEquals(dave, user);
|
||||
assertThat(user).isEqualTo(dave);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -97,7 +96,7 @@ public class UserRepositoryFinderTests {
|
||||
public void returnsNullIfNothingFound() {
|
||||
|
||||
User user = userRepository.findByEmailAddress("foobar");
|
||||
assertEquals(null, user);
|
||||
assertThat(user).isNull();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -108,26 +107,25 @@ public class UserRepositoryFinderTests {
|
||||
|
||||
List<User> users = userRepository.findByEmailAddressAndLastnameOrFirstname("dave@dmband.com", "Matthews", "Carter");
|
||||
|
||||
assertNotNull(users);
|
||||
assertEquals(2, users.size());
|
||||
assertTrue(users.contains(dave));
|
||||
assertTrue(users.contains(carter));
|
||||
assertThat(users).isNotNull();
|
||||
assertThat(users).containsExactlyInAnyOrder(dave, carter);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void executesPagingMethodToPageCorrectly() {
|
||||
|
||||
Page<User> page = userRepository.findByLastname(PageRequest.of(0, 1), "Matthews");
|
||||
assertThat(page.getNumberOfElements(), is(1));
|
||||
assertThat(page.getTotalElements(), is(2L));
|
||||
assertThat(page.getTotalPages(), is(2));
|
||||
|
||||
assertThat(page.getNumberOfElements()).isEqualTo(1);
|
||||
assertThat(page.getTotalElements()).isEqualTo(2L);
|
||||
assertThat(page.getTotalPages()).isEqualTo(2);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void executesPagingMethodToListCorrectly() {
|
||||
|
||||
List<User> list = userRepository.findByFirstname("Carter", PageRequest.of(0, 1));
|
||||
assertThat(list.size(), is(1));
|
||||
assertThat(list).containsExactly(carter);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -135,54 +133,57 @@ public class UserRepositoryFinderTests {
|
||||
|
||||
Page<User> page = userRepository.findByFirstnameIn(PageRequest.of(0, 1), "Dave", "Oliver August");
|
||||
|
||||
assertThat(page.getNumberOfElements(), is(1));
|
||||
assertThat(page.getTotalElements(), is(2L));
|
||||
assertThat(page.getTotalPages(), is(2));
|
||||
assertThat(page.getNumberOfElements()).isEqualTo(1);
|
||||
assertThat(page.getTotalElements()).isEqualTo(2L);
|
||||
assertThat(page.getTotalPages()).isEqualTo(2);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void executesNotInQueryCorrectly() throws Exception {
|
||||
|
||||
List<User> result = userRepository.findByFirstnameNotIn(Arrays.asList("Dave", "Carter"));
|
||||
assertThat(result.size(), is(1));
|
||||
assertThat(result.get(0), is(oliver));
|
||||
|
||||
assertThat(result).containsExactly(oliver);
|
||||
}
|
||||
|
||||
@Test // DATAJPA-92
|
||||
public void findsByLastnameIgnoringCase() throws Exception {
|
||||
public void findsByLastnameIgnoringCase() {
|
||||
|
||||
List<User> result = userRepository.findByLastnameIgnoringCase("BeAUfoRd");
|
||||
assertThat(result.size(), is(1));
|
||||
assertThat(result.get(0), is(carter));
|
||||
|
||||
assertThat(result).containsExactly(carter);
|
||||
}
|
||||
|
||||
@Test // DATAJPA-92
|
||||
public void findsByLastnameIgnoringCaseLike() throws Exception {
|
||||
|
||||
List<User> result = userRepository.findByLastnameIgnoringCaseLike("BeAUfo%");
|
||||
assertThat(result.size(), is(1));
|
||||
assertThat(result.get(0), is(carter));
|
||||
|
||||
assertThat(result).containsExactly(carter);
|
||||
}
|
||||
|
||||
@Test // DATAJPA-92
|
||||
public void findByLastnameAndFirstnameAllIgnoringCase() throws Exception {
|
||||
public void findByLastnameAndFirstnameAllIgnoringCase() {
|
||||
|
||||
List<User> result = userRepository.findByLastnameAndFirstnameAllIgnoringCase("MaTTheWs", "DaVe");
|
||||
assertThat(result.size(), is(1));
|
||||
assertThat(result.get(0), is(dave));
|
||||
|
||||
assertThat(result).containsExactly(dave);
|
||||
}
|
||||
|
||||
@Test // DATAJPA-94
|
||||
public void respectsPageableOrderOnQueryGenerateFromMethodName() throws Exception {
|
||||
Page<User> ascending = userRepository.findByLastnameIgnoringCase(PageRequest.of(0, 10, Sort.by(ASC, "firstname")),
|
||||
"Matthews");
|
||||
Page<User> descending = userRepository.findByLastnameIgnoringCase(PageRequest.of(0, 10, Sort.by(DESC, "firstname")),
|
||||
"Matthews");
|
||||
assertThat(ascending.getTotalElements(), is(2L));
|
||||
assertThat(descending.getTotalElements(), is(2L));
|
||||
assertThat(ascending.getContent().get(0).getFirstname(),
|
||||
is(not(equalTo(descending.getContent().get(0).getFirstname()))));
|
||||
assertThat(ascending.getContent().get(0).getFirstname(),
|
||||
is(equalTo(descending.getContent().get(1).getFirstname())));
|
||||
assertThat(ascending.getContent().get(1).getFirstname(),
|
||||
is(equalTo(descending.getContent().get(0).getFirstname())));
|
||||
public void respectsPageableOrderOnQueryGenerateFromMethodName() {
|
||||
|
||||
Page<User> ascending = userRepository.findByLastnameIgnoringCase( //
|
||||
PageRequest.of(0, 10, Sort.by(ASC, "firstname")), //
|
||||
"Matthews" //
|
||||
);
|
||||
Page<User> descending = userRepository.findByLastnameIgnoringCase( //
|
||||
PageRequest.of(0, 10, Sort.by(DESC, "firstname")), //
|
||||
"Matthews" //
|
||||
);
|
||||
|
||||
assertThat(ascending).containsExactly(dave, oliver);
|
||||
assertThat(descending).containsExactly(oliver, dave);
|
||||
}
|
||||
|
||||
@Test // DATAJPA-486
|
||||
@@ -190,8 +191,8 @@ public class UserRepositoryFinderTests {
|
||||
|
||||
Slice<User> slice = userRepository.findSliceByLastname("Matthews", PageRequest.of(0, 1, ASC, "firstname"));
|
||||
|
||||
assertThat(slice.getContent(), hasItem(dave));
|
||||
assertThat(slice.hasNext(), is(true));
|
||||
assertThat(slice.getContent()).containsExactly(dave);
|
||||
assertThat(slice.hasNext()).isTrue();
|
||||
}
|
||||
|
||||
@Test // DATAJPA-1554
|
||||
@@ -199,28 +200,33 @@ public class UserRepositoryFinderTests {
|
||||
|
||||
Slice<User> slice = userRepository.findSliceByLastname("Matthews", Pageable.unpaged());
|
||||
|
||||
assertThat(slice, containsInAnyOrder(dave, oliver));
|
||||
assertThat(slice.getNumberOfElements(), is(2));
|
||||
assertThat(slice.hasNext(), is(false));
|
||||
assertThat(slice).containsExactlyInAnyOrder(dave, oliver);
|
||||
assertThat(slice.getNumberOfElements()).isEqualTo(2);
|
||||
assertThat(slice.hasNext()).isEqualTo(false);
|
||||
}
|
||||
|
||||
@Test // DATAJPA-830
|
||||
public void executesMethodWithNotContainingOnStringCorrectly() {
|
||||
assertThat(userRepository.findByLastnameNotContaining("u"), containsInAnyOrder(dave, oliver));
|
||||
|
||||
assertThat(userRepository.findByLastnameNotContaining("u")) //
|
||||
.containsExactly(dave, oliver);
|
||||
}
|
||||
|
||||
@Test // DATAJPA-1519
|
||||
public void parametersForContainsGetProperlyEscaped() {
|
||||
assertThat(userRepository.findByFirstnameContaining("liv%"), iterableWithSize(0));
|
||||
|
||||
assertThat(userRepository.findByFirstnameContaining("liv%")) //
|
||||
.isEmpty();
|
||||
}
|
||||
|
||||
@Test // DATAJPA-1519
|
||||
public void escapingInLikeSpels() {
|
||||
|
||||
User extra = new User("extra", "Matt_ew", "extra");
|
||||
|
||||
userRepository.save(extra);
|
||||
|
||||
assertThat(userRepository.findContainingEscaped("att_"), contains(extra));
|
||||
assertThat(userRepository.findContainingEscaped("att_")).containsExactly(extra);
|
||||
}
|
||||
|
||||
@Test // DATAJPA-1522
|
||||
@@ -229,7 +235,7 @@ public class UserRepositoryFinderTests {
|
||||
User withEscapeCharacter = userRepository.save(new User("extra", "Matt\\xew", "extra1"));
|
||||
userRepository.save(new User("extra", "Matt\\_ew", "extra2"));
|
||||
|
||||
assertThat(userRepository.findContainingEscaped("att\\x"), contains(withEscapeCharacter));
|
||||
assertThat(userRepository.findContainingEscaped("att\\x")).containsExactly(withEscapeCharacter);
|
||||
}
|
||||
|
||||
@Test // DATAJPA-1522
|
||||
@@ -238,27 +244,31 @@ public class UserRepositoryFinderTests {
|
||||
userRepository.save(new User("extra", "Matt\\xew", "extra1"));
|
||||
User withEscapedWildcard = userRepository.save(new User("extra", "Matt\\_ew", "extra2"));
|
||||
|
||||
assertThat(userRepository.findContainingEscaped("att\\_"), contains(withEscapedWildcard));
|
||||
assertThat(userRepository.findContainingEscaped("att\\_")).containsExactly(withEscapedWildcard);
|
||||
}
|
||||
|
||||
@Test // DATAJPA-829
|
||||
public void translatesContainsToMemberOf() {
|
||||
|
||||
List<User> singers = userRepository.findByRolesContaining(singer);
|
||||
assertThat(userRepository.findByRolesContaining(singer)) //
|
||||
.containsExactlyInAnyOrder(dave, carter);
|
||||
|
||||
assertThat(singers, hasSize(2));
|
||||
assertThat(singers, hasItems(dave, carter));
|
||||
assertThat(userRepository.findByRolesContaining(drummer), contains(carter));
|
||||
assertThat(userRepository.findByRolesContaining(drummer)) //
|
||||
.containsExactly(carter);
|
||||
}
|
||||
|
||||
@Test // DATAJPA-829
|
||||
public void translatesNotContainsToNotMemberOf() {
|
||||
assertThat(userRepository.findByRolesNotContaining(drummer), hasItems(dave, oliver));
|
||||
|
||||
assertThat(userRepository.findByRolesNotContaining(drummer)) //
|
||||
.containsExactlyInAnyOrder(dave, oliver);
|
||||
}
|
||||
|
||||
@Test // DATAJPA-974
|
||||
public void executesQueryWithProjectionContainingReferenceToPluralAttribute() {
|
||||
assertThat(userRepository.findRolesAndFirstnameBy(), is(notNullValue()));
|
||||
|
||||
assertThat(userRepository.findRolesAndFirstnameBy()) //
|
||||
.isNotNull();
|
||||
}
|
||||
|
||||
@Test(expected = InvalidDataAccessApiUsageException.class) // DATAJPA-1023, DATACMNS-959
|
||||
|
||||
Reference in New Issue
Block a user