Comment JUnit tests @exiger une autorisation préalable de l'annotation et de ses printemps EL spécifié par un Contrôleur spring MVC?

J'ai défini cette méthode dans mon Contrôleur Spring MVC :

@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) {
    ....
}

Ensuite dans mon test JUnit je tiens à appeler cette méthode et de s'assurer que les exiger une autorisation préalable de la condition est vérifiée. Mais quand j'ai mis le nom d'utilisateur principal dans mon test JUnit avec un mauvais compte, il n'y a pas d'erreur et que la méthode est terminée. Il semble que l'annotation est court-circuité.
Mais quand j'ai appeler cette méthode dans des conditions normales (pas de test), le exiger une autorisation préalable est vérifiée.

Si c'est possible, comment faire pour tester cette annotation dans un test unitaire et comment attraper l'exception si il jette un ?

Merci,
Nicolas

Juste une remarque pour les autres à l'aide de "capital" à exiger une autorisation préalable, ceci ne fonctionnera pas avec un nullpointerexcpetion, et de ne pas déclencher une reconduction, à moins que vous comprennent quelque chose à l'effet de isAuthenticated() soit dans le exiger une autorisation préalable de l'annotation ou dans le security.xml

OriginalL'auteur Nico | 2011-03-23