Example usage for org.springframework.mock.web MockMultipartHttpServletRequest addFile

List of usage examples for org.springframework.mock.web MockMultipartHttpServletRequest addFile

Introduction

In this page you can find the example usage for org.springframework.mock.web MockMultipartHttpServletRequest addFile.

Prototype

public void addFile(MultipartFile file) 

Source Link

Document

Add a file to this request.

Usage

From source file:org.openmrs.module.radiology.test.RadiologyTestData.java

/**
 * Convenience method constructing a multipart http servlet request for the tests
 *//*from www.ja  v  a2 s.co m*/
public static MockMultipartHttpServletRequest getMockMultipartHttpServletRequestForMockObsWithComplexConcept() {
    MockMultipartHttpServletRequest mockRequest = new MockMultipartHttpServletRequest();
    mockRequest.addFile(getMockMultipartFileForMockObsWithComplexConcept());

    return mockRequest;
}

From source file:org.openmrs.module.webservices.rest.web.v1_0.controller.openmrs1_9.ObsController1_9Test.java

@Test
public void shouldUploadFileAndFetchComplexObs() throws Exception {
    ConceptComplex conceptComplex = newConceptComplex();

    InputStream in = getClass().getClassLoader().getResourceAsStream("customTestDataset.xml");

    ByteArrayOutputStream out = new ByteArrayOutputStream();
    IOUtils.copy(in, out);//from  w  w  w  .  ja  v a2s.c  o  m

    String json = "{\"concept\":\"" + conceptComplex.getUuid()
            + "\", \"person\":\"5946f880-b197-400b-9caa-a3c661d23041\","
            + "\"obsDatetime\":\"2015-09-07T00:00:00.000+0530\"}";

    MockMultipartHttpServletRequest request = newUploadRequest(getURI());
    request.addFile(new MockMultipartFile("file", "customTestDataset.xml", null, out.toByteArray()));
    request.addParameter("json", json);

    SimpleObject response = deserialize(handle(request));

    MockHttpServletResponse rawResponse = handle(
            newGetRequest(getURI() + "/" + response.get("uuid") + "/value"));

    assertThat(out.toByteArray(), is(equalTo(rawResponse.getContentAsByteArray())));
}

From source file:alpha.portal.webapp.controller.CardFileUploadControllerTest.java

/**
 * Test on cancel.//  ww w . java  2s .  c  om
 */
@Test
public void testOnCancel() {
    final String caseId = "550e4713-e22b-11d4-a716-446655440000";
    final String cardId = "440e4816-e01b-74d4-a716-449955440092";
    final String fileName = "doesnotcompute.file";
    final String mimeType = "text/plain";
    final byte[] content = "roflcopter".getBytes();

    final MockHttpServletRequest request = this.newGet("/cardfileupload");
    request.setRemoteUser("admin");
    request.addParameter("case", caseId);
    request.addParameter("card", cardId);
    final FileUpload fileUpload = this.ctrl.showForm(request);
    fileUpload.setFile(content);

    final MockMultipartHttpServletRequest upload = new MockMultipartHttpServletRequest();
    upload.setRemoteUser("admin");
    final MockMultipartFile file = new MockMultipartFile("file", fileName, mimeType, content);
    upload.addFile(file);
    upload.addParameter("case", caseId);
    upload.addParameter("card", cardId);
    upload.addParameter("cancel", "Abbrechen");

    final BindingResult errors = new DataBinder(fileUpload).getBindingResult();
    String result = "";
    try {
        result = this.ctrl.onSubmit(fileUpload, errors, upload);
    } catch (final IOException e) {
        Assert.fail("Should not fail on fail upload");
    }
    Assert.assertFalse(errors.hasErrors());
    Assert.assertNull(upload.getSession().getAttribute("successMessages"));

    Assert.assertEquals("redirect:/caseform?caseId=" + caseId + "&activeCardId=" + cardId, result);
}

From source file:alpha.portal.webapp.controller.CardFileUploadControllerTest.java

/**
 * Test zero file./*  w ww  .  j a va 2  s  .com*/
 */
@Test
public void testZeroFile() {
    final String caseId = "550e4713-e22b-11d4-a716-446655440000";
    final String cardId = "440e4816-e01b-74d4-a716-449955440092";
    final String fileName = "doesnotcompute.file";
    final String mimeType = "text/plain";
    final byte[] content = "".getBytes();

    final MockHttpServletRequest request = this.newGet("/cardfileupload");
    request.setRemoteUser("admin");
    request.addParameter("case", caseId);
    request.addParameter("card", cardId);
    final FileUpload fileUpload = this.ctrl.showForm(request);
    fileUpload.setFile(content);

    final MockMultipartHttpServletRequest upload = new MockMultipartHttpServletRequest();
    upload.setRemoteUser("user");
    final MockMultipartFile file = new MockMultipartFile("file", fileName, mimeType, content);
    upload.addFile(file);
    upload.addParameter("case", caseId);
    upload.addParameter("card", cardId);

    final BindingResult errors = new DataBinder(fileUpload).getBindingResult();
    String result = "";
    try {
        result = this.ctrl.onSubmit(fileUpload, errors, upload);
    } catch (final IOException e) {
        Assert.fail("Should not fail on fail upload");
    }
    Assert.assertTrue(errors.hasErrors());
    final List<ObjectError> errorList = errors.getAllErrors();
    Assert.assertEquals(1, errorList.size());
    Assert.assertEquals("errors.required", errorList.get(0).getCode());
    Assert.assertNull(upload.getSession().getAttribute("successMessages"));

    Assert.assertEquals("redirect:/cardfileupload?card=" + cardId + "&case=" + caseId, result);
}

From source file:org.openmrs.module.webservices.rest.web.v1_0.controller.openmrs1_8.ModuleController1_8Test.java

@Test
public void shouldUploadModule() throws Exception {
    byte[] fileData = IOUtils.toByteArray(getClass().getClassLoader().getResourceAsStream("mockModule.omod"));

    MockMultipartFile toUpload = new MockMultipartFile("file", "mockModule.omod", "archive/zip", fileData);

    MockMultipartHttpServletRequest request = new MockMultipartHttpServletRequest();
    request.setRequestURI(getBaseRestURI() + getURI());
    request.setMethod(RequestMethod.POST.name());
    request.addHeader("Content-Type", "multipart/form-data");

    request.addFile(toUpload);//w  ww  .ja  v  a 2  s  .  c  om

    mockModuleFactory.loadModuleMock = mockModuleToLoad;

    MockHttpServletResponse response = handle(request);
    assertThat(mockModuleFactory.loadedModules, hasItem(mockModuleToLoad));
    assertThat(mockModuleFactory.startedModules, hasItem(mockModuleToLoad));
}

From source file:alpha.portal.webapp.controller.CardFileUploadControllerTest.java

/**
 * Test on submit.//from   w  w  w .  jav  a 2 s  .  co m
 */
@Test
public void testOnSubmit() {
    final String caseId = "550e4713-e22b-11d4-a716-446655440000";
    final String cardId = "440e4816-e01b-74d4-a716-449955440092";
    final String fileName = "doesnotcompute.file";
    final String mimeType = "text/plain";
    final byte[] content = "roflcopter".getBytes();

    final MockHttpServletRequest request = this.newGet("/cardfileupload");
    request.setRemoteUser("admin");
    request.addParameter("case", caseId);
    request.addParameter("card", cardId);
    final FileUpload fileUpload = this.ctrl.showForm(request);
    fileUpload.setFile(content);

    final MockMultipartHttpServletRequest upload = new MockMultipartHttpServletRequest();
    upload.setRemoteUser("admin");
    final MockMultipartFile file = new MockMultipartFile("file", fileName, mimeType, content);
    upload.addFile(file);
    upload.addParameter("case", caseId);
    upload.addParameter("card", cardId);

    /*
     * Sadly enough we would need a flush() within the
     * PayloadManagerImpl.saveNewPayload() function for this test to succeed
     * since we moved to saving the payload via its own manager/dao.
     */

    // BindingResult errors = new DataBinder(fileUpload).getBindingResult();
    // String result = "";
    // try {
    // result = ctrl.onSubmit(fileUpload, errors, upload);
    // } catch (IOException e) {
    // fail("Should not fail on fail upload");
    // }
    //
    // assertFalse(errors.hasErrors());
    // assertNotNull(upload.getSession().getAttribute("successMessages"));
    //
    // AlphaCard myCard = alphaCardManager.get(new
    // AlphaCardIdentifier(caseId, cardId));
    // assertNotNull(myCard);
    // assertNotNull(myCard.getPayload());
    // Assert.assertArrayEquals(content, myCard.getPayload().getContent());
    // Assert.assertEquals(fileName, myCard.getPayload().getFilename());
    // Assert.assertEquals(mimeType, myCard.getPayload().getMimeType());

    // Assert.assertEquals("redirect:/caseform?caseId=" + caseId +
    // "&activeCardId=" + cardId, result);
}

From source file:com.silverpeas.util.web.servlet.FileUploadUtilTest.java

@Test
public void testGetFile() throws Exception {
    MockMultipartHttpServletRequest request = new MockMultipartHttpServletRequest();
    request.setMethod("POST");
    request.setContentType(FileUploadBase.MULTIPART_FORM_DATA);
    request.addParameter("champ1", "valeur1");
    byte[] content = IOUtils
            .toByteArray(this.getClass().getClassLoader().getResourceAsStream("FrenchScrum.odp"));
    assertNotNull(content);/*from   ww w .j  a v  a  2 s .  c o m*/
    request.addFile(new MockMultipartFile("FrenchScrum.odp", content));
    assertNotNull(content);
}

From source file:org.zht.framework.web.bind.resolver.FormModelMethodArgumentResolver.java

private ServletRequest prepareServletRequest(Object target, NativeWebRequest request,
        MethodParameter parameter) {/*from w ww  .j  av  a2s.  c  om*/

    String modelPrefixName = parameter.getParameterAnnotation(FormModel.class).value();

    HttpServletRequest nativeRequest = (HttpServletRequest) request.getNativeRequest();
    MultipartRequest multipartRequest = WebUtils.getNativeRequest(nativeRequest, MultipartRequest.class);

    MockHttpServletRequest mockRequest = null;
    if (multipartRequest != null) {
        MockMultipartHttpServletRequest mockMultipartRequest = new MockMultipartHttpServletRequest();
        for (MultipartFile file : multipartRequest.getFileMap().values()) {
            mockMultipartRequest.addFile(
                    new MultipartFileWrapper(getNewParameterName(file.getName(), modelPrefixName), file));
        }
        mockRequest = mockMultipartRequest;
    } else {
        mockRequest = new MockHttpServletRequest();
    }

    for (Entry<String, String> entry : getUriTemplateVariables(request).entrySet()) {
        String parameterName = entry.getKey();
        String value = entry.getValue();
        if (isFormModelAttribute(parameterName, modelPrefixName)) {
            mockRequest.setParameter(getNewParameterName(parameterName, modelPrefixName), value);
        }
    }

    for (Object parameterEntry : nativeRequest.getParameterMap().entrySet()) {
        Entry<String, String[]> entry = (Entry<String, String[]>) parameterEntry;
        String parameterName = entry.getKey();
        String[] value = entry.getValue();
        if (isFormModelAttribute(parameterName, modelPrefixName)) {
            mockRequest.setParameter(getNewParameterName(parameterName, modelPrefixName), value);
        }
    }

    return mockRequest;
}

From source file:com.mmj.app.common.component.FormModelMethodArgumentResolver.java

private ServletRequest prepareServletRequest(Object target, NativeWebRequest request,
        MethodParameter parameter) {//from   ww  w  .  ja  va2s.  c o m

    String modelPrefixName = parameter.getParameterAnnotation(FormBean.class).value();

    HttpServletRequest nativeRequest = (HttpServletRequest) request.getNativeRequest();
    MultipartRequest multipartRequest = WebUtils.getNativeRequest(nativeRequest, MultipartRequest.class);

    MockHttpServletRequest mockRequest = null;
    if (multipartRequest != null) {
        MockMultipartHttpServletRequest mockMultipartRequest = new MockMultipartHttpServletRequest();
        for (MultipartFile file : multipartRequest.getFileMap().values()) {
            mockMultipartRequest.addFile(
                    new MultipartFileWrapper(getNewParameterName(file.getName(), modelPrefixName), file));
        }
        mockRequest = mockMultipartRequest;
    } else {
        mockRequest = new MockHttpServletRequest();
    }

    for (Entry<String, String> entry : getUriTemplateVariables(request).entrySet()) {
        String parameterName = entry.getKey();
        String value = entry.getValue();
        if (isFormModelAttribute(parameterName, modelPrefixName)) {
            mockRequest.setParameter(getNewParameterName(parameterName, modelPrefixName), value);
        }
    }

    for (Object parameterEntry : nativeRequest.getParameterMap().entrySet()) {
        Entry<String, String[]> entry = (Entry<String, String[]>) parameterEntry;
        String parameterName = entry.getKey();
        String[] value = entry.getValue();
        if (isFormModelAttribute(parameterName, modelPrefixName)) {
            mockRequest.setParameter(getNewParameterName(parameterName, modelPrefixName), value);
        }
    }

    return mockRequest;
}

From source file:com.fengduo.bee.commons.component.FormModelMethodArgumentResolver.java

@SuppressWarnings("unused")
private ServletRequest prepareServletRequest(Object target, NativeWebRequest request,
        MethodParameter parameter) {//from  w ww  . j  ava  2  s.com

    String modelPrefixName = parameter.getParameterAnnotation(FormBean.class).value();

    HttpServletRequest nativeRequest = (HttpServletRequest) request.getNativeRequest();
    MultipartRequest multipartRequest = WebUtils.getNativeRequest(nativeRequest, MultipartRequest.class);

    MockHttpServletRequest mockRequest = null;
    if (multipartRequest != null) {
        MockMultipartHttpServletRequest mockMultipartRequest = new MockMultipartHttpServletRequest();
        for (MultipartFile file : multipartRequest.getFileMap().values()) {
            mockMultipartRequest.addFile(
                    new MultipartFileWrapper(getNewParameterName(file.getName(), modelPrefixName), file));
        }
        mockRequest = mockMultipartRequest;
    } else {
        mockRequest = new MockHttpServletRequest();
    }

    for (Entry<String, String> entry : getUriTemplateVariables(request).entrySet()) {
        String parameterName = entry.getKey();
        String value = entry.getValue();
        if (isFormModelAttribute(parameterName, modelPrefixName)) {
            mockRequest.setParameter(getNewParameterName(parameterName, modelPrefixName), value);
        }
    }

    for (Object parameterEntry : nativeRequest.getParameterMap().entrySet()) {
        Entry<String, String[]> entry = (Entry<String, String[]>) parameterEntry;
        String parameterName = entry.getKey();
        String[] value = entry.getValue();
        if (isFormModelAttribute(parameterName, modelPrefixName)) {
            mockRequest.setParameter(getNewParameterName(parameterName, modelPrefixName), value);
        }
    }

    return mockRequest;
}