Тестирование контроллера входа Grails Spring Security - PullRequest
0 голосов
/ 07 января 2019

У меня есть следующий код в контроллере входа в систему, и я должен проверить, вошел ли пользователь в систему. Как мне написать контрольный пример?

def index() {
    if (springSecurityService.isLoggedIn()) {
        redirect uri: '/'
    }
    else {
        redirect action: 'auth', params: params
    }
}

1 Ответ

0 голосов
/ 07 января 2019

Примерно так:

import grails.plugin.springsecurity.SpringSecurityService
import grails.test.mixin.TestFor
import spock.lang.Specification

@TestFor(YourController)
class YourControllerSpec extends Specification {

    def springSecurityService = Mock( SpringSecurityService )

    void setup() {
        controller.springSecurityService = springSecurityService
    }

    void "test index"() {
        when:
            controller.index()
        then:
            1 * springSecurityService.isLoggedIn() >> true
            response.redirectedUrl == '/'
        when:
            controller.response.reset()
            controller.index()
        then:
            1 * springSecurityService.isLoggedIn() >> false
            response.redirectedUrl == '/auth'
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...