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

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

Introduction

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

Prototype

public void addParameter(String name, @Nullable String value) 

Source Link

Document

Add a single value for the specified HTTP parameter.

Usage

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);/*w  ww . jav  a 2  s  .  c  o m*/
    request.addFile(new MockMultipartFile("FrenchScrum.odp", content));
    assertNotNull(content);
}

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);/* w  ww  .ja  v a 2 s . c  om*/

    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./*from  w  w  w.  ja  v  a2  s  . c o  m*/
 */
@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  av a2s  .  c o m
 */
@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:alpha.portal.webapp.controller.CardFileUploadControllerTest.java

/**
 * Test on submit.//from   w ww .ja v  a 2s  . 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.liferay.portal.osgi.web.portlet.container.upload.test.UploadPortletTest.java

protected Response testUpload(byte[] bytes) throws Exception {
    LiferayServletRequest liferayServletRequest = PortletContainerTestUtil
            .getMultipartRequest(TestUploadPortlet.PARAMETER_NAME, bytes);

    setUp(liferayServletRequest, layout);

    ServletRequest servletRequest = liferayServletRequest.getRequest();

    MockMultipartHttpServletRequest mockServletRequest = (MockMultipartHttpServletRequest) servletRequest;

    PortletURL portletURL = PortletURLFactoryUtil.create(mockServletRequest, TestUploadPortlet.PORTLET_NAME,
            layout.getPlid(), PortletRequest.ACTION_PHASE);

    portletURL.setParameter(ActionRequest.ACTION_NAME, TestUploadPortlet.MVC_COMMAND_NAME);
    portletURL.setParameter("randomId", RandomTestUtil.randomString());

    String url = portletURL.toString();

    mockServletRequest.addParameter("Cookie", new String[] { "test" });

    return PortletContainerTestUtil.postMultipart(url, mockServletRequest, TestUploadPortlet.PARAMETER_NAME);
}

From source file:au.com.gaiaresources.bdrs.controller.test.TestDataCreator.java

public void createTaxonProfile() throws Exception {
    log.info(String.format("Creating Taxon Profiles"));

    TaxonomyManagementController controller = appContext.getBean(TaxonomyManagementController.class);

    Preference testDataDirPref = prefDAO.getPreferenceByKey(TEST_DATA_IMAGE_DIR);

    MockMultipartHttpServletRequest request;
    MockHttpServletResponse response;/*from  w w  w. ja v  a2s  .  c  om*/

    List<SpeciesProfile> profileList;
    for (IndicatorSpecies species : taxaDAO.getIndicatorSpecies()) {
        profileList = controller.loadSpeciesProfileTemplate(species.getTaxonGroup(), species.getInfoItems());

        request = new MockMultipartHttpServletRequest();
        response = new MockHttpServletResponse();

        request.setMethod("POST");
        request.setRequestURI("/bdrs/admin/taxonomy/edit.htm");

        request.setParameter("taxonPk", species.getId().toString());
        request.setParameter("scientificName", species.getScientificName());
        request.setParameter("commonName", species.getCommonName());
        request.setParameter("taxonRank", species.getTaxonRank().toString());
        request.setParameter("parentPk",
                species.getParent() == null ? "" : species.getParent().getId().toString());
        request.setParameter("taxonGroupPk", species.getTaxonGroup().getId().toString());
        request.setParameter("author", species.getAuthor() == null ? "" : species.getAuthor());
        request.setParameter("year", species.getYear() == null ? "" : species.getYear());

        int index = 0;
        int weight = 0;
        File speciesImage = getRandomFile(testDataDirPref, new WebImageFileFilter());
        for (SpeciesProfile profile : profileList) {
            request.addParameter("new_profile", String.valueOf(index));
            request.setParameter(String.format("new_profile_type_%d", index), profile.getType());
            request.setParameter(String.format("new_profile_content_%d", index),
                    generateSpeciesProfileData(profile, testDataDirPref, speciesImage, request));
            request.setParameter(String.format("new_profile_description_%d", index), profile.getDescription());
            request.setParameter(String.format("new_profile_header_%d", index), profile.getHeader());
            request.setParameter(String.format("new_profile_weight_%d", index), String.valueOf(weight));

            weight = weight + 100;
            index = index + 1;
        }

        handle(request, response);
    }
}

From source file:au.com.gaiaresources.bdrs.controller.test.TestDataCreator.java

private void createTaxonAttributes(MockMultipartHttpServletRequest request, TaxonGroup taxonGroup)
        throws ParseException, IOException {

    String name;/*from   ww w  . j  a  v  a2  s .c  o  m*/
    IndicatorSpeciesAttribute taxonAttr;
    Preference testDataDirPref = prefDAO.getPreferenceByKey(TEST_DATA_IMAGE_DIR);
    for (Attribute attr : taxonGroup.getAttributes()) {
        if (attr.isTag()) {

            name = String.format(AttributeParser.ATTRIBUTE_NAME_TEMPLATE, AttributeParser.DEFAULT_PREFIX,
                    attr.getId());

            taxonAttr = new IndicatorSpeciesAttribute();
            taxonAttr.setAttribute(attr);

            if (AttributeType.IMAGE.equals(attr.getType()) || AttributeType.FILE.equals(attr.getType())) {
                byte[] data;
                String contentType;
                String filename;
                if (AttributeType.IMAGE.equals(attr.getType())) {
                    data = getRandomImage(testDataDirPref, 640, 480);
                    data = data == null ? createImage(640, 480, attr.getDescription()) : data;
                    contentType = "image/png";
                    filename = String.format("%s.png", attr.getName());
                } else {
                    data = generateDataFile();
                    contentType = "text/plain";
                    filename = String.format("%s.txt", attr.getName());
                }

                String attrFileKey = String.format(AttributeParser.ATTRIBUTE_FILE_NAME_TEMPLATE,
                        AttributeParser.DEFAULT_PREFIX, attr.getId());

                MockMultipartFile mockFileFile = new MockMultipartFile(attrFileKey, filename, contentType,
                        data);
                request.addFile(mockFileFile);
                taxonAttr.setStringValue(filename);

            } else {
                setValueForTaxonAttribute(taxonAttr);
            }
            request.addParameter(name, taxonAttr.getStringValue());
        }
    }
}

From source file:au.com.gaiaresources.bdrs.controller.test.TestDataCreator.java

public void createTaxonGroups(int count, int rand, boolean createAttributes) throws Exception {
    if (rand > 0) {
        count = count + (random.nextBoolean() ? random.nextInt(rand) : -random.nextInt(rand));
    }/*from  w  w w  . jav a 2 s. c om*/
    log.info(String.format("Creating %d Taxon Groups", count));

    // Look for the directory of images, if found we will use that 
    // otherwise we will use a generated set of images.
    byte[] defaultThumbnail = createImage(250, 140, "Test Taxon Group Thumb");
    byte[] defaultImage = createImage(640, 480, "Test Taxon Group Image");
    Map<String, byte[]> defaultImageMap = new HashMap<String, byte[]>();
    defaultImageMap.put("image", defaultImage);
    defaultImageMap.put("thumbNail", defaultThumbnail);

    Preference testDataDirPref = prefDAO.getPreferenceByKey(TEST_DATA_IMAGE_DIR);

    MockMultipartHttpServletRequest request;
    MockHttpServletResponse response;
    for (int i = 0; i < count; i++) {
        request = new MockMultipartHttpServletRequest();
        response = new MockHttpServletResponse();

        request.setMethod("POST");
        request.setRequestURI("/bdrs/admin/taxongroup/edit.htm");

        request.setParameter("name", TEST_GROUPS[random.nextInt(TEST_GROUPS.length)]);
        request.setParameter("behaviourIncluded", String.valueOf(random.nextBoolean()));
        request.setParameter("firstAppearanceIncluded", String.valueOf(random.nextBoolean()));
        request.setParameter("lastAppearanceIncluded", String.valueOf(random.nextBoolean()));
        request.setParameter("habitatIncluded", String.valueOf(random.nextBoolean()));
        request.setParameter("weatherIncluded", String.valueOf(random.nextBoolean()));
        request.setParameter("numberIncluded", String.valueOf(random.nextBoolean()));

        // Image and Thumbnail
        for (String propertyName : new String[] { "image", "thumbNail" }) {
            String key = String.format("%s_file", propertyName);
            String image_filename = String.format("%s_filename.png", propertyName);

            byte[] imageData = getRandomImage(testDataDirPref, 250, 140);
            imageData = imageData == null ? defaultImageMap.get(propertyName) : imageData;

            MockMultipartFile mockImageFile = new MockMultipartFile(key, image_filename, "image/png",
                    imageData);
            ((MockMultipartHttpServletRequest) request).addFile(mockImageFile);

            request.setParameter(propertyName, image_filename);
        }

        // Attributes
        if (createAttributes) {
            int curWeight = 0;
            String attributeOptions = "Option A, Option B, Option C, Option D";
            String rangeIntOptions = "0, 50";

            int index = 0;
            for (Boolean isTag : new Boolean[] { true, false }) {
                for (AttributeType attrType : AttributeType.values()) {

                    request.addParameter("add_attribute", String.valueOf(index));
                    request.setParameter(String.format("add_weight_%d", index), String.valueOf(curWeight));
                    request.setParameter(String.format("add_name_%d", index),
                            String.format("%s name%s", attrType.getName(), isTag ? " Tag" : ""));
                    request.setParameter(String.format("add_description_%d", index),
                            String.format("%s description%s", attrType.getName(), isTag ? " Tag" : ""));
                    request.setParameter(String.format("add_typeCode_%d", index), attrType.getCode());
                    request.setParameter(String.format("add_tag_%d", index), isTag.toString().toLowerCase());
                    //request.setParameter(String.format("add_scope_%d", index), scope.toString());

                    if (AttributeType.STRING_WITH_VALID_VALUES.equals(attrType)) {
                        request.setParameter(String.format("add_option_%d", index), attributeOptions);
                    } else if (AttributeType.INTEGER_WITH_RANGE.equals(attrType)) {
                        request.setParameter(String.format("add_option_%d", index), rangeIntOptions);
                    }

                    index = index + 1;
                    curWeight = curWeight + 100;
                }
            }
        }

        handle(request, response);
    }
}