Я использую подключаемый модуль Spring Security Core (1.2.7) с Grails 2.0
Допустим, у меня есть контроллер с методом, который использует аннотацию @Secured.
class ArticleController {
def springSecurityService
@Secured(['ROLE_PREMIUM_USER'])
def listPremium() {
render 'premium content'
}
}
В своем модульном тесте я хотел бы проверить, может ли пользователь с ролью 'ROLE_PREMIUM_USER' видеть содержимое метода listPremium. Как я могу это сделать?
Я знаю, что это должно начинаться следующим образом:
@TestFor(ArticleController)
@Mock([SpringSecurityService])
class ArticleControllerTests {
void testListPremium() {
defineBeans {
springSecurityService(SpringSecurityService)
}
//but how to login the user here in order to see premium content?
controller.listPremium()
assert response.text() == 'premium content'
}
}
Я не уверен, как я могу аутентифицировать пользователя или имитировать действие, которое проверяет ROLE_PREMIUM_USER. Любая помощь?