1
私はそれを行う権限がないことをテストしたいと思います。 ここに私のコード:春のセキュリティを使ったJUnitテスト
/* imports */
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
@WebAppConfiguration
public class AuthenticationTest {
private UsernamePasswordAuthenticationToken authentication;
@Autowired
private AuthenticationManager authManager;
public void before() throws Exception {
this.authentication = new UsernamePasswordAuthenticationToken("username", "password");
SecurityContextHolder.getContext().setAuthentication(manager.authenticate(authentication));
}
@Test(expected = AccessDeniedException.class)
public void postExperience() throws Exception {
ExperienceEntity experience = new ExperienceEntity();
experience.setExperience("Test");
experience.setExperienceEng("Test");
mockMvc.perform(
post(URL_EXPERIENCES).principal(authentication).content(json(experience)).contentType(CONTENT_TYPE))
.andExpect(status().isForbidden());
}
エラーログ:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.security.access.AccessDeniedException: Access is denied
このテストが動作しない理由を私は理解していません。私は、私が期待したこれらのエラーを取得します。
ありがとうございます。できます! – Paddy3108