Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 757169d

Browse files
Security_part_11_3: add WmkAdminControllerIT.java
1 parent 3cb15c3 commit 757169d

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
package me.oldboy.integration.controllers.api_mock_aouth_scenario;
2+
3+
import com.fasterxml.jackson.core.type.TypeReference;
4+
import com.fasterxml.jackson.databind.ObjectMapper;
5+
import lombok.SneakyThrows;
6+
import me.oldboy.config.test_data_source.TestContainerInit;
7+
import me.oldboy.dto.client_dto.ClientReadDto;
8+
import me.oldboy.integration.annotation.IT;
9+
import me.oldboy.integration.annotation.WithMockOAuth2User;
10+
import org.junit.jupiter.api.BeforeEach;
11+
import org.junit.jupiter.api.Test;
12+
import org.springframework.beans.factory.annotation.Autowired;
13+
import org.springframework.test.web.servlet.MockMvc;
14+
import org.springframework.test.web.servlet.MvcResult;
15+
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
16+
import org.springframework.web.context.WebApplicationContext;
17+
18+
import java.util.List;
19+
20+
import static me.oldboy.test_constant.TestConstantFields.EXIST_EMAIL;
21+
import static org.assertj.core.api.Assertions.assertThat;
22+
import static org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.springSecurity;
23+
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
24+
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
25+
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
26+
27+
@IT
28+
class WmkAdminControllerIT extends TestContainerInit {
29+
30+
@Autowired
31+
private WebApplicationContext webApplicationContext;
32+
33+
private MockMvc mockMvc;
34+
35+
@BeforeEach
36+
void setUp(){
37+
mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext)
38+
.apply(springSecurity())
39+
.build();
40+
}
41+
42+
@Test
43+
@SneakyThrows
44+
@WithMockOAuth2User(username = EXIST_EMAIL, email = EXIST_EMAIL, authorities = {"ROLE_ADMIN"})
45+
void getAllClient_ShouldReturnDtoList_AuthAdmin_Test() {
46+
MvcResult result = mockMvc.perform(get("/api/admin/getAllClient"))
47+
.andExpect(status().isOk())
48+
.andReturn();
49+
50+
String strResult = result.getResponse().getContentAsString();
51+
52+
List<ClientReadDto> listFromResponse =
53+
new ObjectMapper().readValue(strResult, new TypeReference<List<ClientReadDto>>() {});
54+
55+
assertThat(listFromResponse.size()).isGreaterThan(1);
56+
}
57+
58+
@Test
59+
@SneakyThrows
60+
@WithMockOAuth2User(username = "user3@test.com", email = "user3@test.com", authorities = {"ROLE_USER"})
61+
void getAllClient_ShouldReturnForbidden_AuthNotAdminOrRead_Test() {
62+
mockMvc.perform(get("/api/admin/getAllClient"))
63+
.andExpect(status().isForbidden())
64+
.andExpect(content().string(""));
65+
}
66+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /