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

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

Introduction

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

Prototype

public void setParameter(String name, String... values) 

Source Link

Document

Set an array of values for the specified HTTP parameter.

Usage

From source file:org.openmrs.web.controller.ConceptFormControllerTest.java

/**
 * @see ConceptFormController#onSubmit(HttpServletRequest,HttpServletResponse,Object,BindException)
 *//*from w  w w  . j a  v  a  2s  .  c  om*/
@Test
@Verifies(value = "should add a new Concept map when creating a concept", method = "onSubmit(HttpServletRequest,HttpServletResponse,Object,BindException)")
public void onSubmit_shouldAddANewConceptMapWhenCreatingAConcept() throws Exception {
    ConceptService cs = Context.getConceptService();
    final String conceptName = "new concept";
    // make sure the concept doesn't already exist
    Concept newConcept = cs.getConceptByName(conceptName);
    assertNull(newConcept);

    ConceptFormController conceptFormController = (ConceptFormController) applicationContext
            .getBean("conceptForm");

    MockHttpServletRequest mockRequest = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();

    mockRequest.setMethod("POST");
    mockRequest.setParameter("action", "");
    mockRequest.setParameter("namesByLocale[en_GB].name", conceptName);
    mockRequest.setParameter("descriptionsByLocale[en_GB].description", "some description");
    mockRequest.setParameter("concept.datatype", "1");
    mockRequest.setParameter("conceptMappings[0].conceptReferenceTerm", "1");
    mockRequest.setParameter("conceptMappings[0].conceptMapType", "3");

    ModelAndView mav = conceptFormController.handleRequest(mockRequest, response);
    assertNotNull(mav);
    assertTrue(mav.getModel().isEmpty());

    Concept createdConcept = cs.getConceptByName(conceptName);
    assertNotNull(createdConcept);
    Assert.assertEquals(1, createdConcept.getConceptMappings().size());
}

From source file:org.openmrs.web.controller.ConceptFormControllerTest.java

/**
 * @verifies set attributes to void if the values is not set
 *///ww w  .  jav a 2 s  .c o m
@Test
public void shouldSetAttributesToVoidIfTheValueIsNotSet() throws Exception {
    executeDataSet(CONCEPT_ATTRIBUTES_XML);
    Concept concept = Context.getConceptService().getConcept(3);
    final int existingConceptAttributeId = 1;
    ConceptAttributeType conceptAttributeType = Context.getConceptService()
            .getConceptAttributeType(existingConceptAttributeId);
    conceptAttributeType.setName("concept type");
    MockHttpServletRequest mockHttpServletRequest = new MockHttpServletRequest();
    //If value is not set then void all the attributes.
    mockHttpServletRequest.setMethod("POST");
    mockHttpServletRequest.setParameter("action", "");
    mockHttpServletRequest.setParameter("conceptId", "3");
    mockHttpServletRequest.setParameter(
            "attribute." + conceptAttributeType.getId() + ".existing[" + existingConceptAttributeId + "]", "");
    BindException errors = new BindException(concept, "concept");
    ConceptFormController conceptFormController = (ConceptFormController) applicationContext
            .getBean("conceptForm");
    conceptFormController.handleRequest(mockHttpServletRequest, new MockHttpServletResponse());

    Assert.assertEquals(1, concept.getAttributes().size());
    Assert.assertTrue(((ConceptAttribute) (concept.getAttributes().toArray()[0])).getVoided());
    Assert.assertFalse(errors.hasErrors());
}

From source file:org.openmrs.web.controller.ConceptFormControllerTest.java

@Test
public void shouldRemoveConceptDescriptionIfRemovedFromUI() throws Exception {
    ConceptService cs = Context.getConceptService();
    final String espaniol = "es";
    AdministrationService as = Context.getAdministrationService();
    GlobalProperty gp = as.getGlobalPropertyObject(OpenmrsConstants.GLOBAL_PROPERTY_LOCALE_ALLOWED_LIST);
    gp.setPropertyValue("en_GB, " + espaniol);
    as.saveGlobalProperty(gp);//from  www.j  av a 2 s .  co m
    // make sure the concept already exists
    Concept concept = cs.getConcept(3);
    assertNotNull(concept);
    Locale spanish = LocaleUtility.fromSpecification(espaniol);
    assertNotNull(concept.getDescription(britishEn, true));
    assertNull(concept.getDescription(spanish, true));

    ConceptFormController conceptFormController = (ConceptFormController) applicationContext
            .getBean("conceptForm");

    MockHttpServletRequest mockRequest = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();

    mockRequest.setMethod("POST");
    mockRequest.setParameter("action", "");
    mockRequest.setParameter("conceptId", concept.getConceptId().toString());
    mockRequest.setParameter("descriptionsByLocale[en_GB].description", "");
    mockRequest.setParameter("descriptionsByLocale[es].description", "new spanish description");

    ModelAndView mav = conceptFormController.handleRequest(mockRequest, response);
    assertNotNull(mav);
    assertTrue(mav.getModel().isEmpty());

    Concept actualConcept = cs.getConcept(3);
    assertNotNull(actualConcept);
    assertNull(concept.getDescription(britishEn, true));
    assertNotNull(concept.getDescription(spanish, true));
}

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

@Test
public void shouldNotReturnAnythingWhenConceptDoesntMatchClass() throws Exception {
    service.updateConceptIndex(service.getConceptByUuid("a09ab2c5-878e-4905-b25d-5784167d0216"));
    MockHttpServletRequest req = request(RequestMethod.GET, getURI());
    SimpleObject result;/*from  w w w. j  av a  2 s  .  c om*/
    List<Object> hits;

    String conceptClassUuid = "97097dd9-b092-4b68-a2dc-e5e5be961d42"; // TEST
    String name = "CD4 COU"; //CD4 COUNT
    String searchType = "fuzzy";

    req.addParameter("class", conceptClassUuid);
    req.addParameter("name", name);
    req.addParameter("searchType", searchType);

    result = deserialize(handle(req));
    hits = result.get("results");

    assertThat(hits, contains(hasUuid("a09ab2c5-878e-4905-b25d-5784167d0216")));

    //Should not find it when it has partial name:
    conceptClassUuid = "3d065ed4-b0b9-4710-9a17-6d8c4fd259b7"; // DRUG
    req.setParameter("class", conceptClassUuid);

    result = deserialize(handle(req));
    hits = result.get("results");

    assertThat(hits, is(empty()));
}

From source file:org.openmrs.web.controller.ConceptFormControllerTest.java

/**
 * Test removing short name by adding a blank short name
 *
 * @throws Exception/* www.j a v a  2  s .  co  m*/
 */
@Test
public void shouldVoidShortName() throws Exception {
    final String CONCEPT_NAME = "default concept name";

    ConceptService cs = Context.getConceptService();

    final Concept concept = new Concept();
    concept.addName(new ConceptName(CONCEPT_NAME, britishEn));
    concept.setShortName(new ConceptName("shortname", britishEn));
    concept.addDescription(new ConceptDescription("some description", null));
    cs.saveConcept(concept);

    Concept actualConcept = cs.getConceptByName(CONCEPT_NAME);
    assertThat(actualConcept.getShortNameInLocale(britishEn), is(notNullValue()));
    assertThat(actualConcept.getShortNames().size(), greaterThan(0));
    assertThat(actualConcept.getNames().size(), is(2));

    ConceptFormController conceptFormController = (ConceptFormController) applicationContext
            .getBean("conceptForm");

    MockHttpServletRequest mockRequest = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();

    mockRequest.setMethod("POST");
    mockRequest.setParameter("action", "");
    mockRequest.setParameter("conceptId", concept.getConceptId().toString());
    mockRequest.setParameter("shortNamesByLocale[en_GB].name", " ");
    mockRequest.setParameter("concept.datatype", "1");

    ModelAndView mav = conceptFormController.handleRequest(mockRequest, response);
    assertNotNull(mav);

    actualConcept = cs.getConceptByName(CONCEPT_NAME);
    assertThat(actualConcept.getShortNameInLocale(britishEn), is(nullValue()));
    assertThat(actualConcept.getShortNames().size(), is(0));
    assertThat(actualConcept.getNames().size(), is(1));
}

From source file:org.openmrs.web.controller.ConceptFormControllerTest.java

/**
 * Tests a concept form being submitted with name/shortname/description all filled in
 * /*from   w  w  w.java  2 s.co  m*/
 * @throws Exception
 */
@Test
public void shouldAddConceptWithNameAndShortNameAndDescriptionSpecifiedToCodeConcepts() throws Exception {
    final String EXPECTED_PREFERRED_NAME = "no such concept";
    final String EXPECTED_SHORT_NAME = "nonesuch";
    final String EXPECTED_DESCRIPTION = "this is not really a concept";

    ConceptService cs = Context.getConceptService();

    // make sure the concept doesn't already exist
    Concept conceptToAdd = cs.getConceptByName(EXPECTED_PREFERRED_NAME);
    assertNull(conceptToAdd);

    ConceptFormController conceptFormController = (ConceptFormController) applicationContext
            .getBean("conceptForm");

    MockHttpServletRequest mockRequest = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();

    mockRequest.setMethod("POST");
    mockRequest.setParameter("action", "");
    mockRequest.setParameter("shortNamesByLocale[en_GB].name", EXPECTED_SHORT_NAME);
    mockRequest.setParameter("descriptionsByLocale[en_GB].description", EXPECTED_DESCRIPTION);
    mockRequest.setParameter("namesByLocale[en_GB].name", EXPECTED_PREFERRED_NAME);
    mockRequest.setParameter("concept.datatype", "4");

    ModelAndView mav = conceptFormController.handleRequest(mockRequest, response);
    assertNotNull(mav);
    assertTrue(mav.getModel().isEmpty());

    Concept actualConcept = cs.getConceptByName(EXPECTED_PREFERRED_NAME);
    assertNotNull(actualConcept);
    Collection<ConceptName> actualNames = actualConcept.getNames();
    assertEquals(2, actualNames.size());
    assertEquals(EXPECTED_PREFERRED_NAME, actualConcept.getFullySpecifiedName(britishEn).getName());
    assertNotNull(actualConcept.getShortNameInLocale(britishEn));
    assertEquals(EXPECTED_SHORT_NAME, actualConcept.getShortNameInLocale(britishEn).getName());

    assertNotNull(actualConcept.getDescription(britishEn));
    assertEquals(EXPECTED_DESCRIPTION, actualConcept.getDescription(britishEn).getDescription());
}

From source file:org.openmrs.web.controller.ConceptFormControllerTest.java

/**
 * Tests a concept form being submitted with a name and description for numeric type of concepts
 * //w w w  .j av  a  2  s  .c om
 * @throws Exception
 */
@Test
public void shouldAddConceptWithNameAndShortNameAndDescriptionSpecifiedToNumericConcepts() throws Exception {
    final String EXPECTED_PREFERRED_NAME = "no such concept";
    final String EXPECTED_SHORT_NAME = "nonesuch";
    final String EXPECTED_DESCRIPTION = "this is not really a concept";

    ConceptService cs = Context.getConceptService();

    // make sure the concept doesn't already exist
    Concept conceptToAdd = cs.getConceptByName(EXPECTED_PREFERRED_NAME);
    assertNull(conceptToAdd);

    ConceptFormController conceptFormController = (ConceptFormController) applicationContext
            .getBean("conceptForm");

    MockHttpServletRequest mockRequest = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();

    mockRequest.setMethod("POST");
    mockRequest.setParameter("action", "");
    mockRequest.setParameter("shortNamesByLocale[en_GB].name", EXPECTED_SHORT_NAME);
    mockRequest.setParameter("descriptionsByLocale[en_GB].description", EXPECTED_DESCRIPTION);
    mockRequest.setParameter("namesByLocale[en_GB].name", EXPECTED_PREFERRED_NAME);
    mockRequest.setParameter("concept.datatype", "1");

    ModelAndView mav = conceptFormController.handleRequest(mockRequest, response);
    assertNotNull(mav);
    assertTrue(mav.getModel().isEmpty());

    Concept actualConcept = cs.getConceptByName(EXPECTED_PREFERRED_NAME);
    assertNotNull(actualConcept);
    Collection<ConceptName> actualNames = actualConcept.getNames();
    assertEquals(2, actualNames.size());
    assertEquals(EXPECTED_PREFERRED_NAME, actualConcept.getFullySpecifiedName(britishEn).getName());
    assertNotNull(actualConcept.getShortNameInLocale(britishEn));
    assertEquals(EXPECTED_SHORT_NAME, actualConcept.getShortNameInLocale(britishEn).getName());

    assertNotNull(actualConcept.getDescription(britishEn));
    assertEquals(EXPECTED_DESCRIPTION, actualConcept.getDescription(britishEn).getDescription());
}

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

private ServletRequest prepareServletRequest(Object target, NativeWebRequest request,
        MethodParameter parameter) {//  www.j ava  2  s .c om

    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:org.openmrs.web.controller.ConceptFormControllerTest.java

/**
 * Test adding a concept with a preferred name, short name, description and synonyms.
 * // w  ww . j  a v a2  s .c  o m
 * @throws Exception
 */
@Test
public void shouldUpdateConceptWithNameAlreadyInSynonymList() throws Exception {
    final String EXPECTED_PREFERRED_NAME = "no such concept";
    final String EXPECTED_SHORT_NAME = "nonesuch";
    final String EXPECTED_DESCRIPTION = "this is not really a concept";
    final String EXPECTED_SYNONYM_A = "phantom";
    final String EXPECTED_SYNONYM_B = EXPECTED_PREFERRED_NAME;
    final String EXPECTED_SYNONYM_C = "mock";

    ConceptService cs = Context.getConceptService();

    // make sure the concept doesn't already exist
    Concept conceptToAdd = cs.getConceptByName(EXPECTED_PREFERRED_NAME);
    assertNull(conceptToAdd);

    ConceptFormController conceptFormController = (ConceptFormController) applicationContext
            .getBean("conceptForm");

    MockHttpServletRequest mockRequest = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();

    mockRequest.setMethod("POST");
    mockRequest.setParameter("action", "");
    mockRequest.setParameter("synonymsByLocale[en_GB][0].name", EXPECTED_SYNONYM_A);
    mockRequest.setParameter("synonymsByLocale[en_GB][1].name", EXPECTED_SYNONYM_B);
    mockRequest.setParameter("synonymsByLocale[en_GB][2].name", EXPECTED_SYNONYM_C);
    mockRequest.setParameter("shortNamesByLocale[en_GB].name", EXPECTED_SHORT_NAME);
    mockRequest.setParameter("descriptionsByLocale[en_GB].description", EXPECTED_DESCRIPTION);
    mockRequest.setParameter("namesByLocale[en_GB].name", EXPECTED_PREFERRED_NAME);
    mockRequest.setParameter("concept.datatype", "1");

    ModelAndView mav = conceptFormController.handleRequest(mockRequest, response);
    assertNotNull(mav);
    assertTrue(mav.getModel().isEmpty());

    Concept actualConcept = cs.getConceptByName(EXPECTED_PREFERRED_NAME);
    assertNotNull(actualConcept);
    Collection<ConceptName> actualNames = actualConcept.getNames();
    assertEquals(4, actualNames.size());
    assertEquals(EXPECTED_PREFERRED_NAME, actualConcept.getFullySpecifiedName(britishEn).getName());
    assertNotNull(actualConcept.getShortNameInLocale(britishEn));
    assertEquals(EXPECTED_SHORT_NAME, actualConcept.getShortNameInLocale(britishEn).getName());

}

From source file:org.openmrs.web.controller.ConceptFormControllerTest.java

/**
 * Test adding a concept with a preferred name, short name, description and synonyms.
 * //from   ww w . ja v  a  2s. co m
 * @throws Exception
 */
@Test
public void shouldUpdateConceptWithShortNameAlreadyInSynonymList() throws Exception {
    final String EXPECTED_PREFERRED_NAME = "no such concept";
    final String EXPECTED_SHORT_NAME = "nonesuch";
    final String EXPECTED_DESCRIPTION = "this is not really a concept";
    final String EXPECTED_SYNONYM_A = "phantom";
    final String EXPECTED_SYNONYM_B = EXPECTED_SHORT_NAME;
    final String EXPECTED_SYNONYM_C = "mock";

    ConceptService cs = Context.getConceptService();

    // make sure the concept doesn't already exist
    Concept conceptToAdd = cs.getConceptByName(EXPECTED_PREFERRED_NAME);
    assertNull(conceptToAdd);

    ConceptFormController conceptFormController = (ConceptFormController) applicationContext
            .getBean("conceptForm");

    MockHttpServletRequest mockRequest = new MockHttpServletRequest();
    MockHttpServletResponse response = new MockHttpServletResponse();

    mockRequest.setMethod("POST");
    mockRequest.setParameter("action", "");
    mockRequest.setParameter("synonymsByLocale[en_GB][0].name", EXPECTED_SYNONYM_A);
    mockRequest.setParameter("synonymsByLocale[en_GB][1].name", EXPECTED_SYNONYM_B);
    mockRequest.setParameter("synonymsByLocale[en_GB][2].name", EXPECTED_SYNONYM_C);
    mockRequest.setParameter("shortNamesByLocale[en_GB].name", EXPECTED_SHORT_NAME);
    mockRequest.setParameter("descriptionsByLocale[en_GB].description", EXPECTED_DESCRIPTION);
    mockRequest.setParameter("namesByLocale[en_GB].name", EXPECTED_PREFERRED_NAME);
    mockRequest.setParameter("concept.datatype", "1");

    ModelAndView mav = conceptFormController.handleRequest(mockRequest, response);
    assertNotNull(mav);
    assertTrue(mav.getModel().isEmpty());

    Concept actualConcept = cs.getConceptByName(EXPECTED_PREFERRED_NAME);
    assertNotNull(actualConcept);
    Collection<ConceptName> actualNames = actualConcept.getNames();
    assertEquals(4, actualNames.size());
    assertEquals(EXPECTED_PREFERRED_NAME, actualConcept.getFullySpecifiedName(britishEn).getName());
    assertNotNull(actualConcept.getShortNameInLocale(britishEn));
    assertEquals(EXPECTED_SHORT_NAME, actualConcept.getShortNameInLocale(britishEn).getName());

}