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

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

Introduction

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

Prototype

public int getContentLength() 

Source Link

Usage

From source file:net.node42.filter.SimpleTimeoutLoadLimitingFilterTest.java

@Test
public void testDestroy() throws Exception {
    final SimpleTimeoutLoadLimitingFilter target = new SimpleTimeoutLoadLimitingFilter();
    final MockFilterConfig filterConfig = new MockFilterConfig(new MockServletContext());
    filterConfig.addInitParameter("request_count_concurrent_max", "0");
    filterConfig.addInitParameter("request_count_check_interval", "200");
    filterConfig.addInitParameter("request_timeout", "10000");

    target.init(filterConfig);//  w  ww. j  a  va  2  s.  co m
    assertThat(target.maxConcurrentRequests).isEqualTo(0);
    assertThat(target.requestCountCheckInterval).isEqualTo(200L);
    assertThat(target.requestTimeoutMillis).isEqualTo(10000);

    final MockHttpServletRequest request = new MockHttpServletRequest();
    final MockHttpServletResponse response = new MockHttpServletResponse();
    response.setWriterAccessAllowed(true);
    final FilterChain filterChain = mock(FilterChain.class);

    runLoadLimitingFilter(target, request, response, filterChain);
    assertThat(response.getContentLength()).isEqualTo(0); // Verify we haven't written a timeout message

    target.destroy();
    assertThat(target.DESTROY.get()).isEqualTo(true);
    await().atMost(5, TimeUnit.SECONDS).until(new Callable<Boolean>() {
        @Override
        public Boolean call() throws Exception {
            return !response.getContentAsString().isEmpty();
        }
    });
    assertThat(response.getContentAsString()).isNotEmpty()
            .isEqualTo(SimpleTimeoutLoadLimitingFilter.CONTENT_TIMEOUT_DEFAULT);
}

From source file:com.baidu.jprotobuf.rpc.client.ProxyFactoryBeanTestBase.java

protected HttpServer createServer() throws Exception {

    servlet.init();/*from  w  ww  .ja va  2  s  .co  m*/

    HttpServerProvider provider = HttpServerProvider.provider();
    HttpServer httpserver = provider.createHttpServer(new InetSocketAddress(8080), 10);

    httpserver.createContext(getPathInfo(), new HttpHandler() {

        @Override
        public void handle(HttpExchange httpExchange) throws IOException {

            MockHttpServletRequest request = new MockHttpServletRequest();
            request.setPathInfo(getPathInfo());

            String queryString = httpExchange.getRequestURI().getRawQuery();

            if (queryString != null) {
                if (queryString.indexOf(ServiceExporter.INPUT_IDL_PARAMETER) != -1) {
                    request.addParameter(ServiceExporter.INPUT_IDL_PARAMETER, "");
                }
                if (queryString.indexOf(ServiceExporter.OUTPUT_IDL_PARAMETER) != -1) {
                    request.addParameter(ServiceExporter.OUTPUT_IDL_PARAMETER, "");
                }
            }

            request.setQueryString(queryString);
            InputStream requestBody = httpExchange.getRequestBody();
            request.setContent(IOUtils.toByteArray(requestBody));

            MockHttpServletResponse response = new MockHttpServletResponse();
            response.setOutputStreamAccessAllowed(true);

            try {
                servlet.service(request, response);
            } catch (ServletException e) {
                e.printStackTrace();
            }
            httpExchange.sendResponseHeaders(200, response.getContentLength());
            OutputStream out = httpExchange.getResponseBody(); // ?
            out.write(response.getContentAsByteArray());
            out.flush();
            httpExchange.close();
        }
    });
    httpserver.setExecutor(null);
    httpserver.start();

    return httpserver;
}

From source file:ch.ralscha.extdirectspring.util.ExtDirectSpringUtilTest.java

@Test
public void testHandleCacheableResponseWithoutIfNoneMatch() throws IOException {
    MockHttpServletRequest request = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();
    byte[] data = "the response data".getBytes();
    String etag = "\"0" + DigestUtils.md5DigestAsHex(data) + '"';
    String contentType = "application/javascript;charset=UTF-8";
    ExtDirectSpringUtil.handleCacheableResponse(request, response, data, contentType);

    assertThat(response.getStatus()).isEqualTo(200);
    assertResponse(response, 5, etag, 6);
    assertThat(response.getContentLength()).isEqualTo(data.length);
    assertThat(response.getContentType()).isEqualTo(contentType);
    assertThat(response.getContentAsByteArray()).isEqualTo(data);
}

From source file:ch.ralscha.extdirectspring.bean.ExtDirectResponseBuilderTest.java

@Test
public void testBuilderUploadResponse() throws IOException {

    MockMultipartHttpServletRequest request = new MockMultipartHttpServletRequest();
    request.setAttribute(DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE, wac);

    request.setParameter("extAction", "action");
    request.setParameter("extMethod", "method");
    request.setParameter("extType", "type");
    request.setParameter("extTID", "1");

    MockHttpServletResponse servletResponse = new MockHttpServletResponse();
    ExtDirectResponseBuilder.create(request, servletResponse)
            .addResultProperty("additionalProperty", Boolean.FALSE)
            .addResultProperty("text", "a lot of &quot;text&quot;").buildAndWrite();

    assertThat(servletResponse.getContentType()).isEqualTo("text/html;charset=UTF-8");
    String content = servletResponse.getContentAsString();
    assertThat(servletResponse.getContentLength()).isEqualTo(content.getBytes("UTF-8").length);

    assertThat(content).startsWith("<html><body><textarea>");
    assertThat(content).endsWith("</textarea></body></html>");

    String json = content.substring(content.indexOf("{"), content.lastIndexOf("}") + 1);
    assertThat(json).contains("\\&quot;");
    json = json.replace("\\&quot;", "\'");
    ObjectMapper mapper = new ObjectMapper();

    Map<String, Object> header = mapper.readValue(json, Map.class);

    assertThat(header.get("action")).isEqualTo("action");
    assertThat(header.get("method")).isEqualTo("method");
    assertThat(header.get("type")).isEqualTo("type");
    assertThat(header.get("tid")).isEqualTo(1);

    @SuppressWarnings("unchecked")
    Map<String, Object> result = (Map<String, Object>) header.get("result");
    assertThat(result).hasSize(3);/*from w w  w. j  a v a2 s.  com*/
    assertThat((Boolean) result.get("success")).isTrue();
    assertThat(result.get("text")).isEqualTo("a lot of 'text'");
    assertThat(result.get("additionalProperty")).isEqualTo(Boolean.FALSE);
}

From source file:org.openmrs.module.atomfeed.web.AtomFeedDownloadServletTest.java

/**
 * @see AtomFeedDownloadServlet#doHead(javax.servlet.http.HttpServletRequest,
 *      javax.servlet.http.HttpServletResponse)
 * @verifies send valid headers if atom feed has changed
 *///from   w  ww .jav a 2s  . c o m
@Test
public void doHead_shouldSendValidHeadersIfAtomFeedHasChanged() throws Exception {
    // create servlet and corresponding request and response object to be sent
    AtomFeedDownloadServlet atomFeedDownloadServlet = new AtomFeedDownloadServlet();
    MockHttpServletRequest request = new MockHttpServletRequest("HEAD", "/atomfeed");
    request.setContextPath("/somecontextpath");
    MockHttpServletResponse response = new MockHttpServletResponse();

    // intentionally change atom feed in order to not depend from other tests
    AtomFeedUtil.objectCreated(new Encounter());

    String etagToken = "somevalue";
    Date lastModified = new Date();
    // set request headers 
    request.addHeader("If-None-Match", '"' + etagToken + '"');
    request.addHeader("If-Modified-Since", lastModified);

    atomFeedDownloadServlet.service(request, response);
    // check response headers
    Assert.assertNotSame(0, response.getContentLength());
    Assert.assertEquals("application/atom+xml", response.getContentType());
    Assert.assertNotSame(HttpServletResponse.SC_NOT_MODIFIED, response.getStatus());
    Assert.assertNotSame('"' + etagToken + '"', response.getHeader("Etag"));
    Assert.assertNotNull(response.getHeader("Last-Modified"));
}

From source file:ch.ralscha.extdirectspring.util.ExtDirectSpringUtilTest.java

@Test
public void testHandleCacheableResponseWithIfNoneMatch() throws IOException {
    byte[] data = "the response data".getBytes();
    String etag = "\"0" + DigestUtils.md5DigestAsHex(data) + '"';
    String contentType = "application/javascript;charset=UTF-8";

    MockHttpServletRequest request = new MockHttpServletRequest();
    request.addHeader("If-None-Match", etag);
    MockHttpServletResponse response = new MockHttpServletResponse();

    ExtDirectSpringUtil.handleCacheableResponse(request, response, data, contentType);
    assertThat(response.getStatus()).isEqualTo(304);

    request = new MockHttpServletRequest();
    request.addHeader("If-None-Match", etag);
    response = new MockHttpServletResponse();
    data = "new response data".getBytes();
    etag = "\"0" + DigestUtils.md5DigestAsHex(data) + '"';
    ExtDirectSpringUtil.handleCacheableResponse(request, response, data, contentType);
    assertThat(response.getStatus()).isEqualTo(200);
    assertResponse(response, 5, etag, 6);
    assertThat(response.getContentLength()).isEqualTo(data.length);
    assertThat(response.getContentType()).isEqualTo(contentType);
    assertThat(response.getContentAsByteArray()).isEqualTo(data);
}

From source file:org.wrml.server.WrmlServletTest.java

@Test
public void requestWithBadHostHeader() throws ServletException, IOException {

    MockHttpServletRequest request = new MockHttpServletRequest();
    initMockHttpRequest(request, CAPRICA_SIX_ENDPOINT);
    request.setMethod(Method.Get.getProtocolGivenName());
    //request.addHeader(HttpHeaders.ACCEPT, JSON_MEDIA_TYPE);
    request.addHeader(WrmlServlet.WRML_HOST_HEADER_NAME, BAD_HOST_1);

    MockHttpServletResponse response = new MockHttpServletResponse();

    initMockWrmlRequest(request, Method.Get, CAPRICA_SIX_ENDPOINT, CAPRICA_SCHEMA_URI);

    _Servlet.service(request, response);

    // Verify Model Write
    Assert.assertTrue(response.getContentType().contains("text/plain"));
    Assert.assertEquals(HttpServletResponse.SC_BAD_REQUEST, response.getStatus());
    Assert.assertTrue(response.getContentLength() > 0);
    Assert.assertTrue(response.getContentAsString().contains("moose::/squirrel:"));
}

From source file:org.wrml.server.WrmlServletTest.java

@Test
public void requestWithoutEntityButWithContentType() throws ServletException, IOException {

    MockHttpServletRequest request = new MockHttpServletRequest();
    initMockHttpRequest(request, DOCROOT_ENDPOINT);
    request.setMethod(Method.Save.getProtocolGivenName());
    request.setContentType(DEFAULT_CONTENT_TYPE);
    request.setContent(new byte[] {});

    MockHttpServletResponse response = new MockHttpServletResponse();

    initMockWrmlRequest(request, Method.Save, DOCROOT_ENDPOINT, CAPRICA_SCHEMA_URI);

    _Servlet.service(request, response);

    // Verify Model Write
    Assert.assertEquals(DEFAULT_CONTENT_TYPE, response.getContentType());
    Assert.assertEquals(HttpServletResponse.SC_OK, response.getStatus());
    Assert.assertEquals(response.getContentAsByteArray().length, response.getContentLength());
}

From source file:org.wrml.server.WrmlServletTest.java

@Test
public void requestPostNoData() throws ServletException, IOException {

    MockHttpServletRequest request = new MockHttpServletRequest();

    initMockHttpRequest(request, DOCROOT_ENDPOINT);
    request.setMethod(Method.Save.getProtocolGivenName());
    request.setContentType(DEFAULT_CONTENT_TYPE);
    request.setContent(new byte[] {});

    MockHttpServletResponse response = new MockHttpServletResponse();

    initMockWrmlRequest(request, Method.Save, DOCROOT_ENDPOINT, CAPRICA_SCHEMA_URI);

    _Servlet.service(request, response);

    // Verify Model Write
    Assert.assertEquals(DEFAULT_CONTENT_TYPE, response.getContentType());
    Assert.assertEquals(HttpServletResponse.SC_OK, response.getStatus());
    Assert.assertEquals(response.getContentAsByteArray().length, response.getContentLength());
}

From source file:org.wrml.server.WrmlServletTest.java

@Test
public void requestWithHostHeader() throws ServletException, IOException {

    MockHttpServletRequest request = new MockHttpServletRequest();
    initMockHttpRequest(request, CAPRICA_SIX_SPOOF_1_ENDPOINT);
    request.setMethod(Method.Get.getProtocolGivenName());
    request.addHeader(WrmlServlet.WRML_HOST_HEADER_NAME, LOCALHOST);

    MockHttpServletResponse response = new MockHttpServletResponse();

    initMockWrmlRequest(request, Method.Get, CAPRICA_SIX_SPOOF_1_ENDPOINT, CAPRICA_SCHEMA_URI);

    _Servlet.service(request, response);

    // Verify Model Write
    Assert.assertEquals(HttpServletResponse.SC_OK, response.getStatus());
    Assert.assertEquals(DEFAULT_CONTENT_TYPE, response.getContentType());
    Assert.assertEquals(response.getContentAsByteArray().length, response.getContentLength());
}