Example usage for org.springframework.mock.web MockHttpServletRequest setContent

List of usage examples for org.springframework.mock.web MockHttpServletRequest setContent

Introduction

In this page you can find the example usage for org.springframework.mock.web MockHttpServletRequest setContent.

Prototype

public void setContent(@Nullable byte[] content) 

Source Link

Document

Set the content of the request body as a byte array.

Usage

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

@Test
public void testPutWithValidUserWithWriteAccess() throws Exception {
    assertTrue(repoRootInternal.getRoot().exists());

    MockHttpServletRequest mockHttpServletRequest = new MockHttpServletRequest();
    String putUrl = "http://machine.com/repository/internal/path/to/artifact.jar";
    InputStream is = getClass().getResourceAsStream("/artifact.jar");
    assertNotNull("artifact.jar inputstream", is);

    servlet.setDavSessionProvider(davSessionProvider);

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

    TestAuditListener listener = new TestAuditListener();
    archivaDavResourceFactory.addAuditListener(listener);
    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);

    User user = new SimpleUser();
    user.setUsername("admin");

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

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

    EasyMock.expect(httpAuth.getSecuritySession(mockHttpServletRequest.getSession())).andReturn(session);

    EasyMock.expect(httpAuth.getSessionUser(mockHttpServletRequest.getSession())).andReturn(user);

    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_UPLOAD))).andReturn(true);

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

    mockHttpServletRequest.addHeader("User-Agent", "foo");
    mockHttpServletRequest.setMethod("PUT");
    mockHttpServletRequest.setRequestURI("/repository/internal/path/to/artifact.jar");
    mockHttpServletRequest.setContent(IOUtils.toByteArray(is));
    mockHttpServletRequest.setContentType("application/octet-stream");

    MockHttpServletResponse mockHttpServletResponse = new MockHttpServletResponse();

    servlet.service(mockHttpServletRequest, mockHttpServletResponse);

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

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

    assertEquals("admin", listener.getEvents().get(0).getUserId());
}

From source file:org.apache.struts2.interceptor.FileUploadInterceptorTest.java

public void testNoContentMultipartRequest() throws Exception {
    MockHttpServletRequest req = new MockHttpServletRequest();

    req.setCharacterEncoding("text/html");
    req.setContentType("multipart/form-data; boundary=---1234");
    req.setContent(null); // there is no content

    MyFileupAction action = new MyFileupAction();
    MockActionInvocation mai = new MockActionInvocation();
    mai.setAction(action);//from w  ww.j a  v a2s .  co m
    mai.setResultCode("success");
    mai.setInvocationContext(ActionContext.getContext());

    Map param = new HashMap();
    ActionContext.getContext().setParameters(param);
    ActionContext.getContext().put(ServletActionContext.HTTP_REQUEST,
            createMultipartRequest((HttpServletRequest) req, 2000));

    interceptor.intercept(mai);

    assertTrue(action.hasErrors());
}

From source file:org.apache.struts2.interceptor.FileUploadInterceptorTest.java

public void testSuccessUploadOfATextFileMultipartRequest() throws Exception {
    MockHttpServletRequest req = new MockHttpServletRequest();
    req.setCharacterEncoding("text/html");
    req.setContentType("multipart/form-data; boundary=---1234");
    req.addHeader("Content-type", "multipart/form-data");

    // inspired by the unit tests for jakarta commons fileupload
    String content = ("-----1234\r\n"
            + "Content-Disposition: form-data; name=\"file\"; filename=\"deleteme.txt\"\r\n"
            + "Content-Type: text/html\r\n" + "\r\n" + "Unit test of FileUploadInterceptor" + "\r\n"
            + "-----1234--\r\n");
    req.setContent(content.getBytes("US-ASCII"));

    MyFileupAction action = new MyFileupAction();

    MockActionInvocation mai = new MockActionInvocation();
    mai.setAction(action);/*from w  w  w. ja  v a  2 s  . co  m*/
    mai.setResultCode("success");
    mai.setInvocationContext(ActionContext.getContext());
    Map<String, Object> param = new HashMap<String, Object>();
    ActionContext.getContext().setParameters(param);
    ActionContext.getContext().put(ServletActionContext.HTTP_REQUEST, createMultipartRequest(req, 2000));

    interceptor.intercept(mai);

    assertTrue(!action.hasErrors());

    assertTrue(param.size() == 3);
    File[] files = (File[]) param.get("file");
    String[] fileContentTypes = (String[]) param.get("fileContentType");
    String[] fileRealFilenames = (String[]) param.get("fileFileName");

    assertNotNull(files);
    assertNotNull(fileContentTypes);
    assertNotNull(fileRealFilenames);
    assertTrue(files.length == 1);
    assertTrue(fileContentTypes.length == 1);
    assertTrue(fileRealFilenames.length == 1);
    assertEquals("text/html", fileContentTypes[0]);
    assertNotNull("deleteme.txt", fileRealFilenames[0]);
}

From source file:org.apache.struts2.interceptor.FileUploadInterceptorTest.java

/**
 * tests whether with multiple files sent with the same name, the ones with forbiddenTypes (see
 * FileUploadInterceptor.setAllowedTypes(...) ) are sorted out.
 *
 * @throws Exception//  ww  w .  j av a2  s.com
 */
public void testMultipleAccept() throws Exception {
    final String htmlContent = "<html><head></head><body>html content</body></html>";
    final String plainContent = "plain content";
    final String bondary = "simple boundary";
    final String endline = "\r\n";

    MockHttpServletRequest req = new MockHttpServletRequest();
    req.setCharacterEncoding("text/html");
    req.setMethod("POST");
    req.setContentType("multipart/form-data; boundary=" + bondary);
    req.addHeader("Content-type", "multipart/form-data");
    StringBuilder content = new StringBuilder(128);
    content.append(encodeTextFile(bondary, endline, "file", "test.html", "text/plain", plainContent));
    content.append(encodeTextFile(bondary, endline, "file", "test1.html", "text/html", htmlContent));
    content.append(encodeTextFile(bondary, endline, "file", "test2.html", "text/html", htmlContent));
    content.append(endline);
    content.append(endline);
    content.append(endline);
    content.append("--");
    content.append(bondary);
    content.append("--");
    content.append(endline);
    req.setContent(content.toString().getBytes());

    assertTrue(ServletFileUpload.isMultipartContent(req));

    MyFileupAction action = new MyFileupAction();
    MockActionInvocation mai = new MockActionInvocation();
    mai.setAction(action);
    mai.setResultCode("success");
    mai.setInvocationContext(ActionContext.getContext());
    Map<String, Object> param = new HashMap<String, Object>();
    ActionContext.getContext().setParameters(param);
    ActionContext.getContext().put(ServletActionContext.HTTP_REQUEST, createMultipartRequest(req, 2000));

    interceptor.setAllowedTypes("text/html");
    interceptor.intercept(mai);

    assertEquals(3, param.size());
    File[] files = (File[]) param.get("file");
    String[] fileContentTypes = (String[]) param.get("fileContentType");
    String[] fileRealFilenames = (String[]) param.get("fileFileName");

    assertNotNull(files);
    assertNotNull(fileContentTypes);
    assertNotNull(fileRealFilenames);
    assertEquals("files accepted ", 2, files.length);
    assertEquals(2, fileContentTypes.length);
    assertEquals(2, fileRealFilenames.length);
    assertEquals("text/html", fileContentTypes[0]);
    assertNotNull("test1.html", fileRealFilenames[0]);
}

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

private MockHttpServletRequest createMockPostRequest(final String requestUri, final String contentAsJson) {
    final MockHttpServletRequest request = new MockHttpServletRequest();
    request.setRequestURI(requestUri);/* w w  w .  ja  v a 2s  .c  o m*/
    request.setMethod("POST");
    request.setContentType("application/json");

    if (StringUtils.isNotBlank(contentAsJson)) {
        request.setContent(contentAsJson.getBytes());
    }

    return request;
}

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

private MockHttpServletRequest createMockPostRequest(final String requestUri, final String contentAsJson) {
    final MockHttpServletRequest request = new MockHttpServletRequest();
    request.setRequestURI(requestUri);//from w w  w .j  a  v  a 2 s.co m
    request.setMethod("POST");
    request.setContentType(MediaType.APPLICATION_JSON);

    if (StringUtils.isNotBlank(contentAsJson)) {
        request.setContent(contentAsJson.getBytes());
    }

    return request;
}

From source file:org.datacleaner.monitor.server.controllers.DatastoresFolderControllerTest.java

public void testSimpleScenario() throws Exception {
    FileUtils.copyDirectory(new File("src/test/resources/example_repo/tenant3"),
            new File("target/repo_datastore_registration/dc"));

    final FileRepository repository = new FileRepository("target/repo_datastore_registration");
    final TenantContextFactory contextFactory = new TenantContextFactoryImpl(repository,
            new DataCleanerEnvironmentImpl(), new MockJobEngineManager());

    DatastoresFolderController controller = new DatastoresFolderController();
    controller._contextFactory = contextFactory;
    controller._datastoreDao = new DatastoreDaoImpl();

    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setContent("<foo><bar>baz</bar></foo>".getBytes());

    MockHttpServletResponse response = new MockHttpServletResponse();
    controller.registerDatastore("dc", request, response);

    RepositoryFile file = repository.getFolder("dc").getFile("conf.xml");
    file.readFile(new Action<InputStream>() {
        @Override/*from  ww  w  . java 2 s  .c  o m*/
        public void run(InputStream in) throws Exception {
            String str = FileHelper.readInputStreamAsString(in, "UTF8");
            String errorMsg = "generated: " + str;
            assertTrue(errorMsg, str.indexOf("<foo>") != -1);
            assertTrue(errorMsg, str.indexOf("baz") != -1);
            assertTrue(errorMsg, str.indexOf("</bar>") != -1);
            assertTrue(errorMsg, str.indexOf("<datastore-catalog>") != -1);
            assertTrue(errorMsg, str.indexOf("<csv-datastore name=\"SomeCSV\">") != -1);
        }
    });
}

From source file:org.eobjects.datacleaner.monitor.server.controllers.DatastoresFolderControllerTest.java

public void testSimpleScenario() throws Exception {
    FileUtils.copyDirectory(new File("src/test/resources/example_repo/tenant3"),
            new File("target/repo_datastore_registration/dc"));

    final FileRepository repository = new FileRepository("target/repo_datastore_registration");
    final TenantContextFactory contextFactory = new TenantContextFactoryImpl(repository,
            new InjectionManagerFactoryImpl(), new MockJobEngineManager());

    DatastoresFolderController controller = new DatastoresFolderController();
    controller._contextFactory = contextFactory;
    controller._datastoreDao = new DatastoreDaoImpl();

    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setContent("<foo><bar>baz</bar></foo>".getBytes());

    MockHttpServletResponse response = new MockHttpServletResponse();
    controller.registerDatastore("dc", request, response);

    RepositoryFile file = repository.getFolder("dc").getFile("conf.xml");
    file.readFile(new Action<InputStream>() {
        @Override/*  ww  w  .  j  a v a  2 s  . c om*/
        public void run(InputStream in) throws Exception {
            String str = FileHelper.readInputStreamAsString(in, "UTF8");
            String errorMsg = "generated: " + str;
            assertTrue(errorMsg, str.indexOf("<foo>") != -1);
            assertTrue(errorMsg, str.indexOf("baz") != -1);
            assertTrue(errorMsg, str.indexOf("</bar>") != -1);
            assertTrue(errorMsg, str.indexOf("<datastore-catalog>") != -1);
            assertTrue(errorMsg, str.indexOf("<csv-datastore name=\"SomeCSV\">") != -1);
        }
    });
}

From source file:org.finra.dm.ui.RequestLoggingFilterTest.java

@Test
public void testDoFilterNoPayload() throws Exception {
    MockHttpServletRequest request = createServletRequest();
    request.setContent(null);

    // Run the filter.
    createFilter().doFilter(request, createServletResponse(), createFilterChain());
}

From source file:org.finra.dm.ui.RequestLoggingFilterTest.java

private MockHttpServletRequest createServletRequest() {
    MockHttpServletRequest request = new MockHttpServletRequest(null, "/test");
    request.setQueryString("param=value");
    request.setMethod("POST");
    MockHttpSession session = new MockHttpSession();
    request.setContent(PAYLOAD_CONTENT.getBytes());
    request.setSession(session);/*  w ww.j  a va2s  . c o  m*/
    request.setRemoteUser("Test Remote User");
    return request;
}