Merge pull request #1180 from khatwaniNikhil/Changes_for_BAEL-552-Update_SpringDataREST_article

Changes for BAEL-552 Update SpringDataREST article
This commit is contained in:
pedja4 2017-02-21 14:05:04 +01:00 committed by GitHub
commit b80265392c

View File

@ -1,100 +1,86 @@
package com.baeldung.validator; package com.baeldung.validator;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.redirectedUrl;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.redirectedUrl; import static org.springframework.test.web.servlet.setup.MockMvcBuilders.webAppContextSetup;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import static org.springframework.test.web.servlet.setup.MockMvcBuilders.webAppContextSetup; import org.junit.Before;
import org.junit.Test;
import org.junit.Before; import org.junit.runner.RunWith;
import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired;
import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType;
import org.springframework.boot.test.SpringApplicationConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.http.MediaType; import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.web.context.WebApplicationContext;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.ResultActions; import com.baeldung.SpringDataRestApplication;
import org.springframework.test.web.servlet.ResultMatcher; import com.baeldung.models.WebsiteUser;
import org.springframework.web.context.WebApplicationContext; import com.fasterxml.jackson.databind.ObjectMapper;
import com.baeldung.SpringDataRestApplication; @RunWith(SpringJUnit4ClassRunner.class)
import com.baeldung.models.WebsiteUser; @SpringBootTest(classes = SpringDataRestApplication.class)
import com.fasterxml.jackson.databind.ObjectMapper; @WebAppConfiguration
public class SpringDataRestValidatorTest {
@RunWith(SpringJUnit4ClassRunner.class) public static final String URL = "http://localhost";
@SpringApplicationConfiguration(classes = SpringDataRestApplication.class)
@WebAppConfiguration private MockMvc mockMvc;
public class SpringDataRestValidatorTest {
public static final String URL = "http://localhost"; @Autowired
protected WebApplicationContext wac;
private MockMvc mockMvc;
@Before
@Autowired public void setup() {
protected WebApplicationContext wac; mockMvc = webAppContextSetup(wac).build();
}
@Before
public void setup() { @Test
mockMvc = webAppContextSetup(wac).build(); public void whenStartingApplication_thenCorrectStatusCode() throws Exception {
} mockMvc.perform(get("/users")).andExpect(status().is2xxSuccessful());
};
@Test
public void whenStartingApplication_thenCorrectStatusCode() throws Exception { @Test
mockMvc.perform(get("/users")).andExpect(status().is2xxSuccessful()); public void whenAddingNewCorrectUser_thenCorrectStatusCodeAndResponse() throws Exception {
}; WebsiteUser user = new WebsiteUser();
user.setEmail("john.doe@john.com");
@Test user.setName("John Doe");
public void whenAddingNewCorrectUser_thenCorrectStatusCodeAndResponse() throws Exception {
WebsiteUser user = new WebsiteUser(); mockMvc.perform(post("/users", user).contentType(MediaType.APPLICATION_JSON).content(new ObjectMapper().writeValueAsString(user))).andExpect(status().is2xxSuccessful()).andExpect(redirectedUrl("http://localhost/users/1"));
user.setEmail("john.doe@john.com"); }
user.setName("John Doe");
@Test
mockMvc.perform(post("/users", user).contentType(MediaType.APPLICATION_JSON).content(new ObjectMapper().writeValueAsString(user))) public void whenAddingNewUserWithoutName_thenErrorStatusCodeAndResponse() throws Exception {
.andExpect(status().is2xxSuccessful()) WebsiteUser user = new WebsiteUser();
.andExpect(redirectedUrl("http://localhost/users/1")); user.setEmail("john.doe@john.com");
}
mockMvc.perform(post("/users", user).contentType(MediaType.APPLICATION_JSON).content(new ObjectMapper().writeValueAsString(user))).andExpect(status().isNotAcceptable()).andExpect(redirectedUrl(null));
@Test }
public void whenAddingNewUserWithoutName_thenErrorStatusCodeAndResponse() throws Exception {
WebsiteUser user = new WebsiteUser(); @Test
user.setEmail("john.doe@john.com"); public void whenAddingNewUserWithEmptyName_thenErrorStatusCodeAndResponse() throws Exception {
WebsiteUser user = new WebsiteUser();
mockMvc.perform(post("/users", user).contentType(MediaType.APPLICATION_JSON).content(new ObjectMapper().writeValueAsString(user))) user.setEmail("john.doe@john.com");
.andExpect(status().isNotAcceptable()) user.setName("");
.andExpect(redirectedUrl(null)); mockMvc.perform(post("/users", user).contentType(MediaType.APPLICATION_JSON).content(new ObjectMapper().writeValueAsString(user))).andExpect(status().isNotAcceptable()).andExpect(redirectedUrl(null));
} }
@Test @Test
public void whenAddingNewUserWithEmptyName_thenErrorStatusCodeAndResponse() throws Exception { public void whenAddingNewUserWithoutEmail_thenErrorStatusCodeAndResponse() throws Exception {
WebsiteUser user = new WebsiteUser(); WebsiteUser user = new WebsiteUser();
user.setEmail("john.doe@john.com"); user.setName("John Doe");
user.setName("");
mockMvc.perform(post("/users", user).contentType(MediaType.APPLICATION_JSON).content(new ObjectMapper().writeValueAsString(user))) mockMvc.perform(post("/users", user).contentType(MediaType.APPLICATION_JSON).content(new ObjectMapper().writeValueAsString(user))).andExpect(status().isNotAcceptable()).andExpect(redirectedUrl(null));
.andExpect(status().isNotAcceptable()) }
.andExpect(redirectedUrl(null));
} @Test
public void whenAddingNewUserWithEmptyEmail_thenErrorStatusCodeAndResponse() throws Exception {
@Test WebsiteUser user = new WebsiteUser();
public void whenAddingNewUserWithoutEmail_thenErrorStatusCodeAndResponse() throws Exception { user.setName("John Doe");
WebsiteUser user = new WebsiteUser(); user.setEmail("");
user.setName("John Doe"); mockMvc.perform(post("/users", user).contentType(MediaType.APPLICATION_JSON).content(new ObjectMapper().writeValueAsString(user))).andExpect(status().isNotAcceptable()).andExpect(redirectedUrl(null));
}
mockMvc.perform(post("/users", user).contentType(MediaType.APPLICATION_JSON).content(new ObjectMapper().writeValueAsString(user)))
.andExpect(status().isNotAcceptable()) }
.andExpect(redirectedUrl(null));
}
@Test
public void whenAddingNewUserWithEmptyEmail_thenErrorStatusCodeAndResponse() throws Exception {
WebsiteUser user = new WebsiteUser();
user.setName("John Doe");
user.setEmail("");
mockMvc.perform(post("/users", user).contentType(MediaType.APPLICATION_JSON).content(new ObjectMapper().writeValueAsString(user)))
.andExpect(status().isNotAcceptable())
.andExpect(redirectedUrl(null));
}
}