Example usage for org.springframework.mock.web MockHttpServletResponse getContentAsString

List of usage examples for org.springframework.mock.web MockHttpServletResponse getContentAsString

Introduction

In this page you can find the example usage for org.springframework.mock.web MockHttpServletResponse getContentAsString.

Prototype

public String getContentAsString() throws UnsupportedEncodingException 

Source Link

Document

Get the content of the response body as a String , using the charset specified for the response by the application, either through HttpServletResponse methods or through a charset parameter on the Content-Type .

Usage

From source file:org.apache.archiva.webdav.AbstractRepositoryServletTestCase.java

protected WebResponse getWebResponse(WebRequest webRequest) //, boolean followRedirect )
        throws Exception {

    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setRequestURI(webRequest.getUrl().getPath());
    request.addHeader("User-Agent", "Apache Archiva unit test");

    request.setMethod(webRequest.getHttpMethod().name());

    if (webRequest.getHttpMethod() == HttpMethod.PUT) {
        PutMethodWebRequest putRequest = PutMethodWebRequest.class.cast(webRequest);
        request.setContentType(putRequest.contentType);
        request.setContent(IOUtils.toByteArray(putRequest.inputStream));
    }/*from   w  w w  . j a v  a 2 s.co  m*/

    if (webRequest instanceof MkColMethodWebRequest) {
        request.setMethod("MKCOL");
    }

    final MockHttpServletResponse response = execute(request);

    if (response.getStatus() == HttpServletResponse.SC_MOVED_PERMANENTLY
            || response.getStatus() == HttpServletResponse.SC_MOVED_TEMPORARILY) {
        String location = response.getHeader("Location");
        log.debug("follow redirect to {}", location);
        return getWebResponse(new GetMethodWebRequest(location));
    }

    return new WebResponse(null, null, 1) {
        @Override
        public String getContentAsString() {
            try {
                return response.getContentAsString();
            } catch (UnsupportedEncodingException e) {
                throw new RuntimeException(e.getMessage(), e);
            }
        }

        @Override
        public int getStatusCode() {
            return response.getStatus();
        }

        @Override
        public String getResponseHeaderValue(String headerName) {
            return response.getHeader(headerName);
        }
    };
}

From source file:org.apache.archiva.webdav.RepositoryServletSecurityTest.java

@Test
public void testGetWithInvalidUserAndGuestHasReadAccess() throws Exception {
    String commonsLangJar = "commons-lang/commons-lang/2.1/commons-lang-2.1.jar";
    String expectedArtifactContents = "dummy-commons-lang-artifact";

    File artifactFile = new File(repoRootInternal.getRoot(), commonsLangJar);
    artifactFile.getParentFile().mkdirs();

    FileUtils.writeStringToFile(artifactFile, expectedArtifactContents, Charset.defaultCharset());

    servlet.setDavSessionProvider(davSessionProvider);

    ArchivaDavResourceFactory archivaDavResourceFactory = (ArchivaDavResourceFactory) servlet
            .getResourceFactory();/* w ww .  j a v  a  2 s.c  o  m*/
    archivaDavResourceFactory.setHttpAuth(httpAuth);
    archivaDavResourceFactory.setServletAuth(servletAuth);

    servlet.setResourceFactory(archivaDavResourceFactory);

    AuthenticationResult result = new AuthenticationResult();

    EasyMock.expect(httpAuth.getAuthenticationResult(anyObject(HttpServletRequest.class),
            anyObject(HttpServletResponse.class))).andReturn(result);

    EasyMock.expect(servletAuth.isAuthenticated(anyObject(HttpServletRequest.class),
            anyObject(AuthenticationResult.class)))
            .andThrow(new AuthenticationException("Authentication error"));

    EasyMock.expect(
            servletAuth.isAuthorized("guest", "internal", ArchivaRoleConstants.OPERATION_REPOSITORY_ACCESS))
            .andReturn(true);

    // ArchivaDavResourceFactory#isAuthorized()
    SecuritySession session = new DefaultSecuritySession();

    EasyMock.expect(httpAuth.getAuthenticationResult(anyObject(HttpServletRequest.class),
            anyObject(HttpServletResponse.class))).andReturn(result);

    EasyMock.expect(httpAuth.getSecuritySession(anyObject(HttpSession.class))).andReturn(session);

    EasyMock.expect(httpAuth.getSessionUser(anyObject(HttpSession.class))).andReturn(null);

    EasyMock.expect(servletAuth.isAuthenticated(anyObject(HttpServletRequest.class), eq(result)))
            .andReturn(true);

    EasyMock.expect(servletAuth.isAuthorized(anyObject(HttpServletRequest.class), eq(session), eq("internal"),
            eq(ArchivaRoleConstants.OPERATION_REPOSITORY_ACCESS))).andReturn(true);
    httpAuthControl.replay();
    servletAuthControl.replay();

    MockHttpServletRequest mockHttpServletRequest = new MockHttpServletRequest();
    mockHttpServletRequest.addHeader("User-Agent", "foo");
    mockHttpServletRequest.setMethod("GET");
    mockHttpServletRequest.setRequestURI("/repository/internal/" + commonsLangJar);

    MockHttpServletResponse mockHttpServletResponse = new MockHttpServletResponse();

    servlet.service(mockHttpServletRequest, mockHttpServletResponse);

    httpAuthControl.verify();
    servletAuthControl.verify();

    assertEquals(HttpServletResponse.SC_OK, mockHttpServletResponse.getStatus());

    assertEquals("Expected file contents", expectedArtifactContents,
            mockHttpServletResponse.getContentAsString());
}

From source file:org.apache.archiva.webdav.RepositoryServletSecurityTest.java

@Test
public void testGetWithAValidUserWithReadAccess() throws Exception {
    String commonsLangJar = "commons-lang/commons-lang/2.1/commons-lang-2.1.jar";
    String expectedArtifactContents = "dummy-commons-lang-artifact";

    File artifactFile = new File(repoRootInternal.getRoot(), commonsLangJar);
    artifactFile.getParentFile().mkdirs();

    FileUtils.writeStringToFile(artifactFile, expectedArtifactContents, Charset.defaultCharset());

    servlet.setDavSessionProvider(davSessionProvider);

    ArchivaDavResourceFactory archivaDavResourceFactory = (ArchivaDavResourceFactory) servlet
            .getResourceFactory();/*from   w w w  .  j av a 2s. c om*/
    archivaDavResourceFactory.setHttpAuth(httpAuth);
    archivaDavResourceFactory.setServletAuth(servletAuth);

    servlet.setResourceFactory(archivaDavResourceFactory);

    AuthenticationResult result = new AuthenticationResult();

    EasyMock.expect(httpAuth.getAuthenticationResult(anyObject(HttpServletRequest.class),
            anyObject(HttpServletResponse.class))).andReturn(result);

    EasyMock.expect(servletAuth.isAuthenticated(anyObject(HttpServletRequest.class),
            anyObject(AuthenticationResult.class))).andReturn(true);
    // ArchivaDavResourceFactory#isAuthorized()
    SecuritySession session = new DefaultSecuritySession();

    EasyMock.expect(httpAuth.getAuthenticationResult(anyObject(HttpServletRequest.class),
            anyObject(HttpServletResponse.class))).andReturn(result);

    EasyMock.expect(httpAuth.getSecuritySession(anyObject(HttpSession.class))).andReturn(session);

    EasyMock.expect(httpAuth.getSessionUser(anyObject(HttpSession.class))).andReturn(new SimpleUser());

    EasyMock.expect(servletAuth.isAuthenticated(anyObject(HttpServletRequest.class), eq(result)))
            .andReturn(true);

    EasyMock.expect(servletAuth.isAuthorized(anyObject(HttpServletRequest.class), eq(session), eq("internal"),
            eq(ArchivaRoleConstants.OPERATION_REPOSITORY_ACCESS))).andReturn(true);

    httpAuthControl.replay();
    servletAuthControl.replay();

    MockHttpServletRequest mockHttpServletRequest = new MockHttpServletRequest();
    mockHttpServletRequest.addHeader("User-Agent", "foo");
    mockHttpServletRequest.setMethod("GET");
    mockHttpServletRequest.setRequestURI("/repository/internal/" + commonsLangJar);

    MockHttpServletResponse mockHttpServletResponse = new MockHttpServletResponse();

    servlet.service(mockHttpServletRequest, mockHttpServletResponse);

    httpAuthControl.verify();
    servletAuthControl.verify();

    assertEquals(HttpServletResponse.SC_OK, mockHttpServletResponse.getStatus());
    assertEquals("Expected file contents", expectedArtifactContents,
            mockHttpServletResponse.getContentAsString());
}

From source file:org.apache.hadoop.chukwa.datacollection.agent.rest.TestAdaptorController.java

private String assertJSONResponse(MockHttpServletResponse response, int adaptorCount)
        throws UnsupportedEncodingException {
    String responseContent = response.getContentAsString();
    assertEquals("Unexpected response status", 200, response.getStatus());

    JSONObject json = (JSONObject) JSONValue.parse(responseContent);
    String adaptorClass = (String) json.get("adaptorClass");
    String dataType = (String) json.get("dataType");
    assertEquals("Response text doesn't include adaptor class",
            "org.apache.hadoop.chukwa.datacollection.adaptor.ChukwaTestAdaptor", adaptorClass);
    assertEquals("Response text doesn't include data type", "SomeDataType", dataType);

    return responseContent;
}

From source file:org.apache.hadoop.chukwa.datacollection.agent.rest.TestAdaptorController.java

private String assertXmlResponse(MockHttpServletResponse response, int adaptorCount)
        throws UnsupportedEncodingException {
    String responseContent = response.getContentAsString();

    // assert response
    assertEquals("Unexpected response status", 200, response.getStatus());

    //Content it correct when executed via an HTTP client, but it doesn't seem
    //to get set by the servlet
    assertOccurs("Response XML doesn't include correct adaptor_count", adaptorCount, responseContent,
            "adaptorCount>");
    assertOccurs("Response XML doesn't include adaptorClass", adaptorCount, responseContent,
            "<adaptorClass>org.apache.hadoop.chukwa.datacollection.adaptor.ChukwaTestAdaptor</adaptorClass>");
    assertOccurs("Response XML doesn't include dataType", adaptorCount, responseContent,
            "<dataType>SomeDataType</dataType>");

    return responseContent;
}

From source file:org.cloudfoundry.identity.uaa.mock.token.TokenMvcMockTests.java

@Test
public void validateOldTokenAfterDeleteClientSecret() throws Exception {
    String clientId = "testclient" + generator.generate();
    String scopes = "space.*.developer,space.*.admin,org.*.reader,org.123*.admin,*.*,*";
    setUpClients(clientId, scopes, scopes, GRANT_TYPES, true);

    String body = getMockMvc()/* ww w  . j  ava 2 s. c  o m*/
            .perform(post("/oauth/token").accept(MediaType.APPLICATION_JSON_VALUE)
                    .header("Authorization",
                            "Basic " + new String(Base64.encode((clientId + ":" + SECRET).getBytes())))
                    .param("grant_type", "client_credentials").param("client_id", clientId)
                    .param("client_secret", SECRET))
            .andExpect(status().isOk()).andReturn().getResponse().getContentAsString();

    Map<String, Object> bodyMap = JsonUtils.readValue(body, new TypeReference<Map<String, Object>>() {
    });
    String access_token = (String) bodyMap.get("access_token");
    assertNotNull(access_token);

    clientDetailsService.addClientSecret(clientId, "newSecret");
    clientDetailsService.deleteClientSecret(clientId);

    MockHttpServletResponse response = getMockMvc().perform(post("/check_token")
            .header("Authorization", "Basic " + new String(Base64.encode("app:appclientsecret".getBytes())))
            .param("token", access_token)).andExpect(status().isBadRequest()).andReturn().getResponse();

    InvalidTokenException tokenRevokedException = JsonUtils.readValue(response.getContentAsString(),
            TokenRevokedException.class);
    assertEquals("invalid_token", tokenRevokedException.getOAuth2ErrorCode());
    assertEquals("revocable signature mismatch", tokenRevokedException.getMessage());
}

From source file:org.cloudfoundry.identity.uaa.scim.endpoints.ScimGroupEndpointsTests.java

private void validateView(View view, HttpStatus status) {
    MockHttpServletResponse response = new MockHttpServletResponse();
    try {//from   w w w. j  ava 2  s  . c  om
        view.render(new HashMap<String, Object>(), new MockHttpServletRequest(), response);
        assertNotNull(response.getContentAsString());
    } catch (Exception e) {
        fail("view should render correct status and body");
    }
    assertEquals(status.value(), response.getStatus());
}

From source file:org.cloudifysource.rest.AttributesContollerTest.java

private void testRequest(final MockHttpServletRequest reqeust, final HandlerMethod expectedHandlerMethod,
        final String expectedResponseContent) throws Exception {

    final MockHttpServletResponse response = new MockHttpServletResponse();

    final Object handler = getHandlerToRequest(reqeust);
    Assert.assertEquals("Wrong handler selected for request uri: " + reqeust.getRequestURI(),
            expectedHandlerMethod.toString(), handler.toString());

    // handle the request
    handlerAdapter.handle(reqeust, response, handler);

    // validate the response
    Assert.assertTrue("Wrong response status: " + response.getStatus(),
            response.getStatus() == HttpStatus.OK.value());
    Assert.assertEquals("Wrong content type in response: " + response.getContentType(), JSON_CONTENT_TYPE,
            response.getContentType());/*w  w w . j  ava 2  s.  c o  m*/
    Assert.assertEquals("Wrong response content: " + response.getContentAsString(), expectedResponseContent,
            response.getContentAsString());
}

From source file:org.cloudifysource.rest.ControllerTest.java

private void testRequest(final MockHttpServletRequest reqeust, final HandlerMethod expectedHandlerMethod,
        final String expectedResponseContent) throws Exception {

    final MockHttpServletResponse response = testRequest(reqeust, expectedHandlerMethod);

    // validate the response's content
    Assert.assertEquals("Wrong response content: " + response.getContentAsString(), expectedResponseContent,
            response.getContentAsString());
}

From source file:org.cloudifysource.rest.UploadControllerTest.java

private UploadResponse uploadFile(final File file) throws Exception {
    MockHttpServletResponse response = testPostFile(versionedUploadUri, file);
    ObjectMapper objectMapper = new ObjectMapper();
    Response<UploadResponse> readValue = objectMapper.readValue(response.getContentAsString(),
            new TypeReference<Response<UploadResponse>>() {
            });//from  ww w  .j av a 2s .  com
    UploadResponse uploadResponse = readValue.getResponse();
    return uploadResponse;
}