diff --git a/restservice/src/main/java/com/plannaplan/App.java b/restservice/src/main/java/com/plannaplan/App.java index 7f8c652..da176fa 100755 --- a/restservice/src/main/java/com/plannaplan/App.java +++ b/restservice/src/main/java/com/plannaplan/App.java @@ -29,10 +29,17 @@ public class App { @EventListener(ApplicationReadyEvent.class) public void importData() { User testUser = new User(); - testUser.setEmail("filizy@st.amu.edu.pl"); - testUser.setName("Filip"); - testUser.setSurname("Izydorczyk"); - testUser.setRole(UserRoles.STUDENT); + testUser.setEmail("notexisting@mail.comain"); + testUser.setName("Tom"); + testUser.setSurname("Riddle"); + testUser.setRole(UserRoles.TEST_USER); this.userService.save(testUser); + + User filip = new User(); + filip.setEmail("filizy@st.amu.edu.pl"); + filip.setName("Filip"); + filip.setSurname("Izydorczyk"); + filip.setRole(UserRoles.STUDENT); + this.userService.save(filip); } } diff --git a/restservice/src/test/java/com/plannaplan/controllers/ConfigControllerTest.java b/restservice/src/test/java/com/plannaplan/controllers/ConfigControllerTest.java index 42d2804..760f8e2 100755 --- a/restservice/src/test/java/com/plannaplan/controllers/ConfigControllerTest.java +++ b/restservice/src/test/java/com/plannaplan/controllers/ConfigControllerTest.java @@ -6,6 +6,8 @@ import static org.springframework.security.test.web.servlet.setup.SecurityMockMv import java.io.InputStream; +import com.plannaplan.services.UserService; + import org.junit.Test; import org.junit.runner.RunWith; @@ -29,6 +31,9 @@ public class ConfigControllerTest { @Autowired private WebApplicationContext webApplicationContext; + @Autowired + private UserService service; + @Test public void shouldReturnOK() throws Exception { final InputStream inputStream = getClass().getClassLoader().getResourceAsStream(FILE_NAME); @@ -48,4 +53,17 @@ public class ConfigControllerTest { mockMvc.perform(multipart(CONFIG_ENDPOINT).file(file)).andExpect(status().is4xxClientError()); } + + @Test + public void shouldReturnOKAuthorized() throws Exception { + final InputStream inputStream = getClass().getClassLoader().getResourceAsStream(FILE_NAME); + final MockMultipartFile file = new MockMultipartFile("file", inputStream); + final String token = this.service.login("notexisting@mail.comain"); + + MockMvc mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).apply(springSecurity()).build(); + mockMvc.perform(multipart(CONFIG_ENDPOINT).file(file).header("Bearer ", token)) + .andExpect(status().is4xxClientError()); + + } + } diff --git a/restservice/src/test/java/com/plannaplan/controllers/CoursesControllerTest.java b/restservice/src/test/java/com/plannaplan/controllers/CoursesControllerTest.java new file mode 100755 index 0000000..67af08f --- /dev/null +++ b/restservice/src/test/java/com/plannaplan/controllers/CoursesControllerTest.java @@ -0,0 +1,41 @@ +package com.plannaplan.controllers; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +@RunWith(SpringRunner.class) +@SpringBootTest +@ContextConfiguration +public class CoursesControllerTest { + + private static final String COURSES_ENDPOINT = "/api/v1/courses/getCourses"; + private static final String COURSESGROUPS_ENDPOINT = "/api/v1/courses/getCoursesWithGroups"; + + @Autowired + private WebApplicationContext webApplicationContext; + + @Test + public void shouldReturnAllCoursesOk() throws Exception { + + MockMvc mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + mockMvc.perform(get(COURSES_ENDPOINT)).andExpect(status().isOk()); + } + + @Test + public void shouldReturnAllCoursesWithGroupsOk() throws Exception { + + MockMvc mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + mockMvc.perform(get(COURSESGROUPS_ENDPOINT)).andExpect(status().isOk()); + } + +} diff --git a/restservice/src/test/java/com/plannaplan/controllers/GroupControllerTest.java b/restservice/src/test/java/com/plannaplan/controllers/GroupControllerTest.java new file mode 100755 index 0000000..4698bdc --- /dev/null +++ b/restservice/src/test/java/com/plannaplan/controllers/GroupControllerTest.java @@ -0,0 +1,36 @@ +package com.plannaplan.controllers; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +@RunWith(SpringRunner.class) +@SpringBootTest +@ContextConfiguration +public class GroupControllerTest { + private static final String GROUPS_BY_COURSE_ENDPOINT = "/api/v1/groups/getCourseGroups"; + + @Autowired + private WebApplicationContext webApplicationContext; + + @Test + public void shouldFailWithNoParaeter() throws Exception { + MockMvc mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + mockMvc.perform(get(GROUPS_BY_COURSE_ENDPOINT)).andExpect(status().isBadRequest()); + } + + @Test + public void shouldReturnGroupsOk() throws Exception { + MockMvc mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + mockMvc.perform(get(GROUPS_BY_COURSE_ENDPOINT).param("id", "2")).andExpect(status().isOk()); + } +} diff --git a/restservice/src/test/java/com/plannaplan/controllers/TokenControllerTest.java b/restservice/src/test/java/com/plannaplan/controllers/TokenControllerTest.java new file mode 100755 index 0000000..79ee95b --- /dev/null +++ b/restservice/src/test/java/com/plannaplan/controllers/TokenControllerTest.java @@ -0,0 +1,46 @@ +package com.plannaplan.controllers; + +import org.junit.Ignore; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.setup.MockMvcBuilders; +import org.springframework.web.context.WebApplicationContext; + +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +@RunWith(SpringRunner.class) +@SpringBootTest +@ContextConfiguration +public class TokenControllerTest { + private final String TOKEN_ENDPOINT = "/token"; + @Autowired + private WebApplicationContext webApplicationContext; + + @Test + public void shouldFailWithNoParameter() throws Exception { + MockMvc mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + mockMvc.perform(get(TOKEN_ENDPOINT)).andExpect(status().isBadRequest()); + } + + @Test + public void shouldFailWithWrongTicket() throws Exception { + MockMvc mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + mockMvc.perform(get(TOKEN_ENDPOINT).param("ticket", "totaly-wrong-ticket")) + .andExpect(status().is4xxClientError()); + } + + @Test + @Ignore + public void shouldReturnToken() throws Exception { + // have no idea how to make this test independent from user that run this + String ticket = ""; + MockMvc mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); + mockMvc.perform(get(TOKEN_ENDPOINT).param("ticket", ticket)).andExpect(status().isOk()); + } +}