Merge branch '1.1.x'
This commit is contained in:
		
						commit
						fcd855cd5e
					
				| 
						 | 
				
			
			@ -37,6 +37,11 @@
 | 
			
		|||
			<artifactId>spring-boot-starter-test</artifactId>
 | 
			
		||||
			<scope>test</scope>
 | 
			
		||||
		</dependency>
 | 
			
		||||
		<dependency>
 | 
			
		||||
			<groupId>com.jayway.jsonpath</groupId>
 | 
			
		||||
			<artifactId>json-path</artifactId>
 | 
			
		||||
			<scope>test</scope>
 | 
			
		||||
		</dependency>
 | 
			
		||||
	</dependencies>
 | 
			
		||||
	<build>
 | 
			
		||||
		<plugins>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,6 +19,7 @@ package sample.data.jpa.service;
 | 
			
		|||
import org.springframework.data.domain.Page;
 | 
			
		||||
import org.springframework.data.domain.Pageable;
 | 
			
		||||
import org.springframework.data.repository.PagingAndSortingRepository;
 | 
			
		||||
import org.springframework.data.repository.query.Param;
 | 
			
		||||
import org.springframework.data.rest.core.annotation.RepositoryRestResource;
 | 
			
		||||
 | 
			
		||||
import sample.data.jpa.domain.City;
 | 
			
		||||
| 
						 | 
				
			
			@ -26,9 +27,11 @@ import sample.data.jpa.domain.City;
 | 
			
		|||
@RepositoryRestResource(collectionResourceRel = "citys", path = "cities")
 | 
			
		||||
interface CityRepository extends PagingAndSortingRepository<City, Long> {
 | 
			
		||||
 | 
			
		||||
	Page<City> findByNameContainingAndCountryContainingAllIgnoringCase(String name,
 | 
			
		||||
			String country, Pageable pageable);
 | 
			
		||||
	Page<City> findByNameContainingAndCountryContainingAllIgnoringCase(
 | 
			
		||||
			@Param("name") String name, @Param("country") String country,
 | 
			
		||||
			Pageable pageable);
 | 
			
		||||
 | 
			
		||||
	City findByNameAndCountryAllIgnoringCase(String name, String country);
 | 
			
		||||
	City findByNameAndCountryAllIgnoringCase(@Param("name") String name,
 | 
			
		||||
			@Param("country") String country);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -29,14 +29,17 @@ import org.springframework.test.web.servlet.setup.MockMvcBuilders;
 | 
			
		|||
import org.springframework.web.context.WebApplicationContext;
 | 
			
		||||
 | 
			
		||||
import static org.hamcrest.Matchers.containsString;
 | 
			
		||||
import static org.hamcrest.Matchers.hasSize;
 | 
			
		||||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
 | 
			
		||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
 | 
			
		||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
 | 
			
		||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Integration test to run the application.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Oliver Gierke
 | 
			
		||||
 * @author Andy Wilkinson
 | 
			
		||||
 */
 | 
			
		||||
@RunWith(SpringJUnit4ClassRunner.class)
 | 
			
		||||
@SpringApplicationConfiguration(classes = SampleDataRestApplication.class)
 | 
			
		||||
| 
						 | 
				
			
			@ -61,4 +64,22 @@ public class SampleDataRestApplicationTests {
 | 
			
		|||
		this.mvc.perform(get("/")).andExpect(status().isOk())
 | 
			
		||||
				.andExpect(content().string(containsString("hotels")));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Test
 | 
			
		||||
	public void findByNameAndCountry() throws Exception {
 | 
			
		||||
 | 
			
		||||
		this.mvc.perform(
 | 
			
		||||
				get("/cities/search/findByNameAndCountryAllIgnoringCase?name=Melbourne&country=Australia"))
 | 
			
		||||
				.andExpect(status().isOk())
 | 
			
		||||
				.andExpect(jsonPath("_embedded.citys", hasSize(1)));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Test
 | 
			
		||||
	public void findByContaining() throws Exception {
 | 
			
		||||
 | 
			
		||||
		this.mvc.perform(
 | 
			
		||||
				get("/cities/search/findByNameContainingAndCountryContainingAllIgnoringCase?name=&country=UK"))
 | 
			
		||||
				.andExpect(status().isOk())
 | 
			
		||||
				.andExpect(jsonPath("_embedded.citys", hasSize(3)));
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,14 +27,17 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 | 
			
		|||
import sample.data.jpa.SampleDataRestApplication;
 | 
			
		||||
import sample.data.jpa.domain.City;
 | 
			
		||||
 | 
			
		||||
import static org.hamcrest.Matchers.equalTo;
 | 
			
		||||
import static org.hamcrest.Matchers.greaterThan;
 | 
			
		||||
import static org.hamcrest.Matchers.is;
 | 
			
		||||
import static org.hamcrest.Matchers.notNullValue;
 | 
			
		||||
import static org.junit.Assert.assertThat;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Integration tests for {@link CityRepository}.
 | 
			
		||||
 *
 | 
			
		||||
 * @author Oliver Gierke
 | 
			
		||||
 * @author Andy Wilkinson
 | 
			
		||||
 */
 | 
			
		||||
@RunWith(SpringJUnit4ClassRunner.class)
 | 
			
		||||
@SpringApplicationConfiguration(classes = SampleDataRestApplication.class)
 | 
			
		||||
| 
						 | 
				
			
			@ -49,4 +52,20 @@ public class CityRepositoryIntegrationTests {
 | 
			
		|||
		Page<City> cities = this.repository.findAll(new PageRequest(0, 10));
 | 
			
		||||
		assertThat(cities.getTotalElements(), is(greaterThan(20L)));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Test
 | 
			
		||||
	public void findByNameAndCountry() {
 | 
			
		||||
		City city = this.repository.findByNameAndCountryAllIgnoringCase("Melbourne",
 | 
			
		||||
				"Australia");
 | 
			
		||||
		assertThat(city, notNullValue());
 | 
			
		||||
		assertThat(city.getName(), is(equalTo("Melbourne")));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	@Test
 | 
			
		||||
	public void findContaining() {
 | 
			
		||||
		Page<City> cities = this.repository
 | 
			
		||||
				.findByNameContainingAndCountryContainingAllIgnoringCase("", "UK",
 | 
			
		||||
						new PageRequest(0, 10));
 | 
			
		||||
		assertThat(cities.getTotalElements(), is(equalTo(3L)));
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue