Я определил этот метод в своем Spring MVC Controller:
@RequestMapping(value = "{id}/content", method=RequestMethod.POST)
@PreAuthorize("principal.user.userAccount instanceof T(com.anonym.model.identity.PedagoAccount) AND principal.user.userAccount.userId == #object.pedago.userId AND #form.id == #object.id")
public String modifyContent(@PathVariable("id") Project object, @Valid @ModelAttribute("form") ProjectContentForm form) {
....
}
Затем в моем тесте JUnit я хотел бы вызвать этот метод и убедитесь, что условие PreAuthorize проверено. Но когда я устанавливаю принципала пользователя в моем тесте JUnit с плохой учетной записью, ошибки не возникает, и метод завершается. Кажется, что аннотация игнорируется.
Но когда я вызываю этот метод обычным способом (не тестируя), PreAuthorize проверяется.
Если возможно, как проверить эту аннотацию в тесте junit и как перехватить исключение, если оно выдает одно?
Спасибо,
Николас