commit
						9fedd6713e
					
				| @ -0,0 +1,120 @@ | |||||||
|  | package org.baeldung.persistence.query; | ||||||
|  | 
 | ||||||
|  | import static org.junit.Assert.assertFalse; | ||||||
|  | import static org.junit.Assert.assertTrue; | ||||||
|  | 
 | ||||||
|  | import org.baeldung.persistence.dao.UserRepository; | ||||||
|  | import org.baeldung.persistence.model.User; | ||||||
|  | import org.baeldung.spring.ConfigTest; | ||||||
|  | import org.baeldung.spring.PersistenceConfig; | ||||||
|  | import org.junit.Before; | ||||||
|  | import org.junit.Test; | ||||||
|  | import org.junit.runner.RunWith; | ||||||
|  | import org.springframework.beans.factory.annotation.Autowired; | ||||||
|  | import org.springframework.test.context.ActiveProfiles; | ||||||
|  | import org.springframework.test.context.ContextConfiguration; | ||||||
|  | import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; | ||||||
|  | import org.springframework.test.context.support.AnnotationConfigContextLoader; | ||||||
|  | 
 | ||||||
|  | import com.jayway.restassured.RestAssured; | ||||||
|  | import com.jayway.restassured.response.Response; | ||||||
|  | import com.jayway.restassured.specification.RequestSpecification; | ||||||
|  | 
 | ||||||
|  | @RunWith(SpringJUnit4ClassRunner.class) | ||||||
|  | @ContextConfiguration(classes = { ConfigTest.class, PersistenceConfig.class }, loader = AnnotationConfigContextLoader.class) | ||||||
|  | @ActiveProfiles("test") | ||||||
|  | public class JPASpecificationLiveTest { | ||||||
|  | 
 | ||||||
|  |     @Autowired | ||||||
|  |     private UserRepository repository; | ||||||
|  | 
 | ||||||
|  |     private User userJohn; | ||||||
|  | 
 | ||||||
|  |     private User userTom; | ||||||
|  | 
 | ||||||
|  |     private final String URL_PREFIX = "http://localhost:8080/spring-security-rest-full/users/spec?search="; | ||||||
|  | 
 | ||||||
|  |     @Before | ||||||
|  |     public void init() { | ||||||
|  |         userJohn = new User(); | ||||||
|  |         userJohn.setFirstName("John"); | ||||||
|  |         userJohn.setLastName("Doe"); | ||||||
|  |         userJohn.setEmail("john@doe.com"); | ||||||
|  |         userJohn.setAge(22); | ||||||
|  |         repository.save(userJohn); | ||||||
|  | 
 | ||||||
|  |         userTom = new User(); | ||||||
|  |         userTom.setFirstName("Tom"); | ||||||
|  |         userTom.setLastName("Doe"); | ||||||
|  |         userTom.setEmail("tom@doe.com"); | ||||||
|  |         userTom.setAge(26); | ||||||
|  |         repository.save(userTom); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public void givenFirstAndLastName_whenGettingListOfUsers_thenCorrect() { | ||||||
|  |         final Response response = givenAuth().get(URL_PREFIX + "firstName:john,lastName:doe"); | ||||||
|  |         final String result = response.body().asString(); | ||||||
|  | 
 | ||||||
|  |         assertTrue(result.contains(userJohn.getEmail())); | ||||||
|  |         assertFalse(result.contains(userTom.getEmail())); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public void givenFirstNameInverse_whenGettingListOfUsers_thenCorrect() { | ||||||
|  |         final Response response = givenAuth().get(URL_PREFIX + "firstName!john"); | ||||||
|  |         final String result = response.body().asString(); | ||||||
|  | 
 | ||||||
|  |         assertTrue(result.contains(userTom.getEmail())); | ||||||
|  |         assertFalse(result.contains(userJohn.getEmail())); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public void givenMinAge_whenGettingListOfUsers_thenCorrect() { | ||||||
|  |         final Response response = givenAuth().get(URL_PREFIX + "age>25"); | ||||||
|  |         final String result = response.body().asString(); | ||||||
|  | 
 | ||||||
|  |         assertTrue(result.contains(userTom.getEmail())); | ||||||
|  |         assertFalse(result.contains(userJohn.getEmail())); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public void givenFirstNamePrefix_whenGettingListOfUsers_thenCorrect() { | ||||||
|  |         final Response response = givenAuth().get(URL_PREFIX + "firstName:jo*"); | ||||||
|  |         final String result = response.body().asString(); | ||||||
|  | 
 | ||||||
|  |         assertTrue(result.contains(userJohn.getEmail())); | ||||||
|  |         assertFalse(result.contains(userTom.getEmail())); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public void givenFirstNameSuffix_whenGettingListOfUsers_thenCorrect() { | ||||||
|  |         final Response response = givenAuth().get(URL_PREFIX + "firstName:*n"); | ||||||
|  |         final String result = response.body().asString(); | ||||||
|  | 
 | ||||||
|  |         assertTrue(result.contains(userJohn.getEmail())); | ||||||
|  |         assertFalse(result.contains(userTom.getEmail())); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public void givenFirstNameSubstring_whenGettingListOfUsers_thenCorrect() { | ||||||
|  |         final Response response = givenAuth().get(URL_PREFIX + "firstName:*oh*"); | ||||||
|  |         final String result = response.body().asString(); | ||||||
|  | 
 | ||||||
|  |         assertTrue(result.contains(userJohn.getEmail())); | ||||||
|  |         assertFalse(result.contains(userTom.getEmail())); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     public void givenAgeRange_whenGettingListOfUsers_thenCorrect() { | ||||||
|  |         final Response response = givenAuth().get(URL_PREFIX + "age>20,age<25"); | ||||||
|  |         final String result = response.body().asString(); | ||||||
|  | 
 | ||||||
|  |         assertTrue(result.contains(userJohn.getEmail())); | ||||||
|  |         assertFalse(result.contains(userTom.getEmail())); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     private final RequestSpecification givenAuth() { | ||||||
|  |         return RestAssured.given().auth().preemptive().basic("user1", "user1Pass"); | ||||||
|  |     } | ||||||
|  | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user