HtmlUnit остается в системе после удаления файла cookie JSESSIONID - PullRequest
0 голосов
/ 28 декабря 2018

Я настраиваю проверку подлинности "помни меня" для своего приложения Spring Boot и хочу написать тест HtmlUnit.Проблема заключается в том, что удаление файла cookie JSESSIONID не приводит к выходу веб-клиента из системы.Тест с использованием аутентификации запомнить меня работает нормально, но тест, в котором не должно быть аутентификации и, следовательно, не работает перенаправление на страницу входа (последнее утверждение не выполняется).

@Test
void NoRememberMeLogin() throws IOException {
    HtmlPage loginPage = webClient.getPage(baseURL + "login");
    HtmlForm loginForm = loginPage.getFormByName("loginForm");
    HtmlInput username = loginForm.getInputByName("username");
    HtmlInput password = loginForm.getInputByName("password");
    HtmlCheckBoxInput rememberMe = loginForm.getInputByName("remember-me");

    username.setValueAttribute("user");
    password.setValueAttribute("password");
    rememberMe.setChecked(false);

    // login
    HtmlElement submit = loginForm.getOneHtmlElementByAttribute("input", "type", "submit");
    HtmlPage afterLogin = submit.click();
    // login successful?
    assertThat(afterLogin.getUrl().toString(), is(baseURL + "securedPage"));

    // checkl cookies
    Cookie sessionCookie = webClient.getCookieManager().getCookie("JSESSIONID");
    Cookie rememberMeCookie = webClient.getCookieManager().getCookie("remember-me");
    assertNotNull(sessionCookie);
    assertNull(rememberMeCookie);

    // delete the Session cookie
    webClient.getCookieManager().removeCookie(sessionCookie);
    sessionCookie = webClient.getCookieManager().getCookie("JSESSIONID");
    // session cookie really is deleted
    assertNull(sessionCookie);

    // refresh tha page (works in browser)
    afterLogin.refresh();
    // check that we were redirected to login page (not working)
    assertThat(afterLogin.getUrl().toString(), is(baseURL + "login"));
}

Надеюсь, вы поможетемне спасибо!

...