List of usage examples for org.springframework.mock.web MockHttpServletRequest setServerName
public void setServerName(String serverName)
From source file:org.artifactory.util.HttpUtilsTest.java
public void getServletContextUrlWithBaseUrl() throws EncoderException { String requestUrl = "http://lala.land.com"; setBaseUrl("https://custombaseurl.net"); MockHttpServletRequest request = new MockHttpServletRequest("GET", requestUrl); request.setServerName("lala.land.com"); String servletContextUrl = HttpUtils.getServletContextUrl(request); assertEquals(servletContextUrl, "https://custombaseurl.net"); }
From source file:org.artifactory.util.HttpUtilsTest.java
public void getServletContextUrlWithBaseUrlAndOverridingHeader() throws EncoderException { String requestUrl = "http://lala.land.com"; setBaseUrl("https://custombaseurl.net"); MockHttpServletRequest request = new MockHttpServletRequest("GET", requestUrl); request.setServerName("lala.land.com"); request.addHeader(ArtifactoryRequest.ARTIFACTORY_OVERRIDE_BASE_URL, "http://originartifactory.net"); String servletContextUrl = HttpUtils.getServletContextUrl(request); assertEquals(servletContextUrl, "http://originartifactory.net"); }
From source file:org.cloudfoundry.identity.uaa.login.EmailChangeEmailServiceTest.java
public void testBeginEmailChangeInOtherZone(String zoneName) throws Exception { IdentityZone zone = MultitenancyFixture.identityZone("test-zone-id", "test"); zone.setName(zoneName);//from w ww.j a va 2s .c om IdentityZoneHolder.set(zone); MockHttpServletRequest request = new MockHttpServletRequest(); request.setScheme("http"); request.setServerName("test.localhost"); request.setContextPath("/login"); ServletRequestAttributes attrs = new ServletRequestAttributes(request); RequestContextHolder.setRequestAttributes(attrs); ScimUser user = new ScimUser("user-001", "user-name", "test-name", "test-name"); user.setPrimaryEmail("user@example.com"); Map<String, String> codeData = new HashMap<>(); codeData.put("user_id", "user-001"); codeData.put("client_id", "app"); codeData.put("redirect_uri", "http://app.com"); codeData.put("email", "new@example.com"); String zoneId = IdentityZoneHolder.get().getId(); when(scimUserProvisioning.retrieve("user-001", zoneId)).thenReturn(user); when(scimUserProvisioning.query(anyString(), eq(zoneId))) .thenReturn(Collections.singletonList(new ScimUser())); String data = JsonUtils.writeValueAsString(codeData); when(codeStore.generateCode(eq(data), any(Timestamp.class), eq(EMAIL.name()), anyString())).thenReturn( new ExpiringCode("the_secret_code", new Timestamp(System.currentTimeMillis()), data, EMAIL.name())); emailChangeEmailService.beginEmailChange("user-001", "user@example.com", "new@example.com", "app", "http://app.com"); verify(codeStore).generateCode(eq(JsonUtils.writeValueAsString(codeData)), any(Timestamp.class), eq(EMAIL.name()), eq(zoneId)); ArgumentCaptor<String> emailBodyArgument = ArgumentCaptor.forClass(String.class); Mockito.verify(messageService).sendMessage(eq("new@example.com"), eq(MessageType.CHANGE_EMAIL), eq(zoneName + " Email change verification"), emailBodyArgument.capture()); String emailBody = emailBodyArgument.getValue(); assertThat(emailBody, containsString(String.format("A request has been made to change the email for %s from %s to %s", zoneName, "user@example.com", "new@example.com"))); assertThat(emailBody, containsString( "<a href=\"http://test.localhost/login/verify_email?code=the_secret_code\">Verify your email</a>")); assertThat(emailBody, containsString("Thank you,<br />\n " + zoneName)); }
From source file:org.cloudfoundry.identity.uaa.mock.token.TokenMvcMockTests.java
@Test public void test_saml_bearer_grant() throws Exception { String subdomain = generator.generate().toLowerCase(); //all our SAML defaults use :8080/uaa/ so we have to use that here too String host = subdomain + ".localhost"; String fullPath = "/uaa/oauth/token/alias/" + subdomain + ".cloudfoundry-saml-login"; String origin = subdomain + ".cloudfoundry-saml-login"; MockMvcUtils.IdentityZoneCreationResult zone = MockMvcUtils .createOtherIdentityZoneAndReturnResult(subdomain, getMockMvc(), getWebApplicationContext(), null); //create an actual IDP, so we can fetch metadata String idpMetadata = MockMvcUtils.getIDPMetaData(getMockMvc(), subdomain); //create an IDP in the default zone SamlIdentityProviderDefinition idpDef = createLocalSamlIdpDefinition(origin, zone.getIdentityZone().getId(), idpMetadata);//from www . j a v a 2 s . c o m IdentityProvider provider = new IdentityProvider(); provider.setConfig(idpDef); provider.setActive(true); provider.setIdentityZoneId(zone.getIdentityZone().getId()); provider.setName(origin); provider.setOriginKey(origin); IdentityZoneHolder.set(zone.getIdentityZone()); getWebApplicationContext().getBean(JdbcIdentityProviderProvisioning.class).create(provider); getWebApplicationContext().getBean(ZoneAwareIdpMetadataManager.class).refreshAllProviders(); IdentityZoneHolder.clear(); String assertion = samlTestUtils.mockAssertionEncoded(subdomain + ".cloudfoundry-saml-login", "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", "Saml2BearerIntegrationUser", "http://" + subdomain + ".localhost:8080/uaa/oauth/token/alias/" + subdomain + ".cloudfoundry-saml-login", subdomain + ".cloudfoundry-saml-login"); //create client in default zone String clientId = "testclient" + generator.generate(); setUpClients(clientId, "uaa.none", "uaa.user,openid", GRANT_TYPE_SAML2_BEARER + ",password", true, TEST_REDIRECT_URI, null, 600, zone.getIdentityZone()); //String fullPath = "/uaa/oauth/token"; MockHttpServletRequestBuilder post = post(fullPath).with(new RequestPostProcessor() { @Override public MockHttpServletRequest postProcessRequest(MockHttpServletRequest request) { request.setServerPort(8080); request.setRequestURI(fullPath); request.setServerName(host); return request; } }).contextPath("/uaa").accept(APPLICATION_JSON).header(HOST, host).contentType(APPLICATION_FORM_URLENCODED) .param("grant_type", "urn:ietf:params:oauth:grant-type:saml2-bearer").param("client_id", clientId) .param("client_secret", "secret").param("assertion", assertion); getMockMvc().perform(post).andDo(print()).andExpect(status().isOk()) .andExpect(jsonPath("$.access_token").exists()) .andExpect(jsonPath("$.scope").value("openid uaa.user")); getMockMvc().perform(post.param("scope", "uaa.admin")).andDo(print()).andExpect(status().isUnauthorized()); }
From source file:org.cloudfoundry.identity.uaa.mock.token.TokenMvcMockTests.java
@Test public void test_two_zone_saml_bearer_grant() throws Exception { String subdomain = generator.generate().toLowerCase(); //all our SAML defaults use :8080/uaa/ so we have to use that here too String spInvocationEndpoint = "/uaa/oauth/token/alias/cloudfoundry-saml-login"; String idpOrigin = subdomain + ".cloudfoundry-saml-login"; //create an zone - that zone will be our IDP MockMvcUtils.IdentityZoneCreationResult zone = MockMvcUtils .createOtherIdentityZoneAndReturnResult(subdomain, getMockMvc(), getWebApplicationContext(), null); //create an actual IDP, so we can fetch metadata String spMetadata = MockMvcUtils.getSPMetadata(getMockMvc(), null); String idpMetadata = MockMvcUtils.getIDPMetaData(getMockMvc(), subdomain); //create an IDP in the default zone SamlIdentityProviderDefinition idpDef = createLocalSamlIdpDefinition(idpOrigin, IdentityZone.getUaa().getId(), idpMetadata); IdentityProvider provider = new IdentityProvider(); provider.setConfig(idpDef);// w w w . ja va2 s. c om provider.setActive(true); provider.setIdentityZoneId(IdentityZone.getUaa().getId()); provider.setName(idpOrigin); provider.setOriginKey(idpOrigin); IdentityZoneHolder.clear(); getWebApplicationContext().getBean(JdbcIdentityProviderProvisioning.class).create(provider); getWebApplicationContext().getBean(ZoneAwareIdpMetadataManager.class).refreshAllProviders(); IdentityZoneHolder.clear(); String assertion = samlTestUtils.mockAssertionEncoded(subdomain + ".cloudfoundry-saml-login", "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified", "Saml2BearerIntegrationUser", "http://localhost:8080/uaa/oauth/token/alias/cloudfoundry-saml-login", "cloudfoundry-saml-login"); //create client in default zone String clientId = "testclient" + generator.generate(); setUpClients(clientId, "uaa.none", "uaa.user,openid", GRANT_TYPE_SAML2_BEARER + ",password", true, TEST_REDIRECT_URI, null, 600, null); MockHttpServletRequestBuilder post = post(spInvocationEndpoint).with(new RequestPostProcessor() { @Override public MockHttpServletRequest postProcessRequest(MockHttpServletRequest request) { request.setServerPort(8080); request.setRequestURI(spInvocationEndpoint); request.setServerName("localhost"); return request; } }).contextPath("/uaa").accept(APPLICATION_JSON).header(HOST, "localhost") .contentType(APPLICATION_FORM_URLENCODED) .param("grant_type", "urn:ietf:params:oauth:grant-type:saml2-bearer").param("client_id", clientId) .param("client_secret", "secret").param("assertion", assertion); String json = getMockMvc().perform(post).andDo(print()).andExpect(status().isOk()) .andExpect(jsonPath("$.access_token").exists()) .andExpect(jsonPath("$.scope").value("openid uaa.user")).andReturn().getResponse() .getContentAsString(); System.out.println("json = " + json); getMockMvc().perform(post.param("scope", "uaa.admin")).andDo(print()).andExpect(status().isUnauthorized()); }
From source file:org.geogig.geoserver.functional.GeoServerTestSupport.java
/** * Issue a POST request to the provided URL with the given file passed as form data. * * @param resourceUri the url to issue the request to * @param formFieldName the form field name for the file to be posted * @param file the file to post/*from w w w. j ava2 s. c o m*/ * * @return the response to the request */ public MockHttpServletResponse postFile(String resourceUri, String formFieldName, File file) throws Exception { try (FileInputStream fis = new FileInputStream(file)) { MockMultipartFile mFile = new MockMultipartFile(formFieldName, fis); MockMultipartHttpServletRequestBuilder requestBuilder = MockMvcRequestBuilders .fileUpload(new URI(resourceUri)).file(mFile); MockHttpServletRequest request = requestBuilder.buildRequest(applicationContext.getServletContext()); /** * Duplicated from GeoServerSystemTestSupport#createRequest to do the same work on the * MockMultipartHttpServletRequest */ request.setScheme("http"); request.setServerName("localhost"); request.setServerPort(8080); request.setContextPath("/geoserver"); request.setRequestURI( ResponseUtils.stripQueryString(ResponseUtils.appendPath("/geoserver/", resourceUri))); // request.setRequestURL(ResponseUtils.appendPath("http://localhost:8080/geoserver", // path ) ); request.setQueryString(ResponseUtils.getQueryString(resourceUri)); request.setRemoteAddr("127.0.0.1"); request.setServletPath(ResponseUtils.makePathAbsolute(ResponseUtils.stripRemainingPath(resourceUri))); request.setPathInfo(ResponseUtils.makePathAbsolute( ResponseUtils.stripBeginningPath(ResponseUtils.stripQueryString(resourceUri)))); request.addHeader("Host", "localhost:8080"); // deal with authentication if (username != null) { String token = username + ":"; if (password != null) { token += password; } request.addHeader("Authorization", "Basic " + new String(Base64.encodeBase64(token.getBytes()))); } kvp(request, resourceUri); request.setUserPrincipal(null); /** * End duplication */ return dispatch(request); } }
From source file:org.jtalks.jcommune.service.nontransactional.MentionedUsersTest.java
private void setupRequestAttributes() { MockHttpServletRequest request = new MockHttpServletRequest(); request.setScheme("http"); request.setServerName("localhost"); request.setServerPort(8080);//w w w . j a v a2 s. c o m request.setContextPath("/forum"); RequestContextHolder.setRequestAttributes(new ServletWebRequest(request)); }
From source file:org.jtalks.jcommune.service.transactional.TransactionalUserServiceTest.java
private void boundMockHttpRequestToThread(String contextPath) { MockHttpServletRequest request = new MockHttpServletRequest(); request.setScheme("http"); request.setServerName("testing.com"); request.setServerPort(1234);// w ww .j av a 2s. c o m request.setContextPath(contextPath); RequestContextHolder.setRequestAttributes(new ServletWebRequest(request)); }
From source file:org.jtalks.jcommune.web.exception.PrettyLogExceptionResolverTest.java
@Test public void testLogExceptionWithIncomingAccessDeniedException() throws Exception { Log mockLog = replaceLoggerWithMock(prettyLogExceptionResolver); AccessDeniedException accessDeniedException = new AccessDeniedException("Access denied"); MockHttpServletRequest request = new MockHttpServletRequest("POST", "/testing/url/42"); request.setServerName("testserver.com"); request.setServerPort(8080);/*ww w .j av a 2s . co m*/ request.setContent("12345".getBytes()); request.setUserPrincipal(new UsernamePasswordAuthenticationToken("username", "password")); prettyLogExceptionResolver.logException(accessDeniedException, request); verify(mockLog).info( "Access was denied for user [username] trying to POST http://testserver.com:8080/testing/url/42"); }
From source file:org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilterTests.java
private MockHttpServletRequest createMockAuthenticationRequest() { MockHttpServletRequest request = new MockHttpServletRequest(); request.setServletPath("/j_mock_post"); request.setScheme("http"); request.setServerName("www.example.com"); request.setRequestURI("/mycontext/j_mock_post"); request.setContextPath("/mycontext"); return request; }