Ищете способ издеваться над весенней безопасностью в некоторых модульных/интеграционных тестах.
Контроллер имеет следующее:
// some action
def index(){
def user = getLoggedInUser()
render....
}
...
private getLoggedInUser(){
return User.get(springSecurityService.principal.id)
}
Я пробовал следующие и другие способы, но не вижу, как заставить его работать:
void testSomething(){
def dc = new SomeController()
dc.springSecurityService = [
encodePassword: 'password',
reauthenticate: { String u -> true},
loggedIn: true,
principal: [username:"Bob"]]
dc.index()
... assertion....
Кажется, что пользователь не создается и не может получить principal.id
. Любые предложения или лучшие альтернативы?