Java Code Examples for com.gargoylesoftware.htmlunit.html.HtmlPage#getBaseURL()
The following examples show how to use
com.gargoylesoftware.htmlunit.html.HtmlPage#getBaseURL() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: DemoApplicationTests.java From keycloak-springsecurity5-sample with GNU General Public License v3.0 | 5 votes |
@Test public void requestAuthorizationCodeGrantWhenNoMatchingAuthorizationRequestThenDisplayLoginPageWithError() throws Exception { HtmlPage page = this.webClient.getPage("/"); URL loginPageUrl = page.getBaseURL(); URL loginErrorPageUrl = new URL(loginPageUrl.toString() + "?error"); ClientRegistration clientRegistration = this.clientRegistrationRepository.findByRegistrationId("google"); String code = "auth-code"; String state = "state"; String redirectUri = AUTHORIZE_BASE_URL + "/" + clientRegistration.getRegistrationId(); String authorizationResponseUri = UriComponentsBuilder.fromHttpUrl(redirectUri) .queryParam(OAuth2ParameterNames.CODE, code) .queryParam(OAuth2ParameterNames.STATE, state) .build().encode().toUriString(); // Clear session cookie will ensure the 'session-saved' // Authorization Request (from previous request) is not found this.webClient.getCookieManager().clearCookies(); page = this.webClient.getPage(new URL(authorizationResponseUri)); assertThat(page.getBaseURL()).isEqualTo(loginErrorPageUrl); HtmlElement errorElement = page.getBody().getFirstByXPath("p"); assertThat(errorElement).isNotNull(); assertThat(errorElement.asText()).contains("authorization_request_not_found"); }
Example 2
Source File: DemoApplicationTests.java From keycloak-springsecurity5-sample with GNU General Public License v3.0 | 5 votes |
@Test public void requestAuthorizationCodeGrantWhenInvalidStateParamThenDisplayLoginPageWithError() throws Exception { HtmlPage page = this.webClient.getPage("/"); URL loginPageUrl = page.getBaseURL(); URL loginErrorPageUrl = new URL(loginPageUrl.toString() + "?error"); ClientRegistration clientRegistration = this.clientRegistrationRepository.findByRegistrationId("google"); HtmlAnchor clientAnchorElement = this.getClientAnchorElement(page, clientRegistration); assertThat(clientAnchorElement).isNotNull(); this.followLinkDisableRedirects(clientAnchorElement); String code = "auth-code"; String state = "invalid-state"; String redirectUri = AUTHORIZE_BASE_URL + "/" + clientRegistration.getRegistrationId(); String authorizationResponseUri = UriComponentsBuilder.fromHttpUrl(redirectUri) .queryParam(OAuth2ParameterNames.CODE, code) .queryParam(OAuth2ParameterNames.STATE, state) .build().encode().toUriString(); page = this.webClient.getPage(new URL(authorizationResponseUri)); assertThat(page.getBaseURL()).isEqualTo(loginErrorPageUrl); HtmlElement errorElement = page.getBody().getFirstByXPath("p"); assertThat(errorElement).isNotNull(); assertThat(errorElement.asText()).contains("invalid_state_parameter"); }
Example 3
Source File: DemoApplicationTests.java From keycloak-springsecurity5-sample with GNU General Public License v3.0 | 5 votes |
@Test public void requestAuthorizationCodeGrantWhenInvalidRedirectUriThenDisplayLoginPageWithError() throws Exception { HtmlPage page = this.webClient.getPage("/"); URL loginPageUrl = page.getBaseURL(); URL loginErrorPageUrl = new URL(loginPageUrl.toString() + "?error"); ClientRegistration clientRegistration = this.clientRegistrationRepository.findByRegistrationId("google"); HtmlAnchor clientAnchorElement = this.getClientAnchorElement(page, clientRegistration); assertThat(clientAnchorElement).isNotNull(); WebResponse response = this.followLinkDisableRedirects(clientAnchorElement); UriComponents authorizeRequestUriComponents = UriComponentsBuilder.fromUri( URI.create(response.getResponseHeaderValue("Location"))).build(); Map<String, String> params = authorizeRequestUriComponents.getQueryParams().toSingleValueMap(); String code = "auth-code"; String state = URLDecoder.decode(params.get(OAuth2ParameterNames.STATE), "UTF-8"); String redirectUri = URLDecoder.decode(params.get(OAuth2ParameterNames.REDIRECT_URI), "UTF-8"); redirectUri += "-invalid"; String authorizationResponseUri = UriComponentsBuilder.fromHttpUrl(redirectUri) .queryParam(OAuth2ParameterNames.CODE, code) .queryParam(OAuth2ParameterNames.STATE, state) .build().encode().toUriString(); page = this.webClient.getPage(new URL(authorizationResponseUri)); assertThat(page.getBaseURL()).isEqualTo(loginErrorPageUrl); HtmlElement errorElement = page.getBody().getFirstByXPath("p"); assertThat(errorElement).isNotNull(); assertThat(errorElement.asText()).contains("invalid_redirect_uri_parameter"); }