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

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

Introduction

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

Prototype

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

Source Link

Document

Add an array of values for the specified HTTP parameter.

Usage

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

@Test
public void shouldSearchAndReturnAListOfPersonsMatchingTheQueryString() throws Exception {
    MockHttpServletRequest req = request(RequestMethod.GET, getURI());
    req.addParameter("q", "Horatio");
    SimpleObject result = deserialize(handle(req));
    assertEquals(1, Util.getResultsSize(result));
    assertEquals(getUuid(), PropertyUtils.getProperty(Util.getResultsList(result).get(0), "uuid"));
}

From source file:org.araneaframework.tests.FormControlTest.java

/**
 * Tests that {@link NumberControl} lets only valid integers through.
 *//*from  www. j a  v a 2  s  .  c  o  m*/
public void testNumberControlSimpleValidation() throws Exception {
    MockHttpServletRequest correctValueRequest = new MockHttpServletRequest();
    correctValueRequest.addParameter("myNumberInput", "108");

    NumberControl nc = new NumberControl();
    nc._getComponent().init(new MockEnviroment());
    MockUiLibUtil.emulateHandleRequest(nc, "myNumberInput", correctValueRequest);
    nc.convertAndValidate();

    assertTrue("Number control must be valid.", nc.isValid());
    assertTrue("Number control value must be a 'BigInteger'.", nc.getRawValue() instanceof BigInteger);
    assertTrue("Number control value must be '108'.", ((BigInteger) nc.getRawValue()).longValue() == 108L);

    MockHttpServletRequest incorrectValueRequest = new MockHttpServletRequest();
    incorrectValueRequest.addParameter("myNumberInput", "abcd");

    MockUiLibUtil.emulateHandleRequest(nc, "myNumberInput", incorrectValueRequest);
    nc.convertAndValidate();

    assertTrue("Number control mustn't be valid.", !nc.isValid());

    nc._getComponent().destroy();
}

From source file:org.araneaframework.tests.FormControlTest.java

/**
 * Tests that {@link FloatControl} lets only valid decimals through.
 *///  w  w  w.j  av a2s. c  o m
public void testFloatControlSimpleValidation() throws Exception {
    MockHttpServletRequest correctValueRequest = new MockHttpServletRequest();
    correctValueRequest.addParameter("myFloatInput", "28.012");

    FloatControl nc = new FloatControl();
    nc._getComponent().init(new MockEnviroment());
    MockUiLibUtil.emulateHandleRequest(nc, "myFloatInput", correctValueRequest);
    nc.convertAndValidate();

    assertTrue("Float control must be valid.", nc.isValid());
    assertTrue("Float control value must be a 'BigDecimal'.", nc.getRawValue() instanceof BigDecimal);
    assertTrue("Float control value must be '28.012'.",
            ((BigDecimal) nc.getRawValue()).doubleValue() == 28.012);

    MockHttpServletRequest incorrectValueRequest = new MockHttpServletRequest();
    incorrectValueRequest.addParameter("myFloatInput", "abcd");

    MockUiLibUtil.emulateHandleRequest(nc, "myFloatInput", incorrectValueRequest);
    nc.convertAndValidate();

    assertTrue("Float control mustn't be valid.", !nc.isValid());

    nc._getComponent().destroy();
}

From source file:org.araneaframework.tests.FormControlTest.java

/**
 * Tests that {@link TextControl} with content type set to personal id
 * lets only valid Estonian personal ids through. 
 *///w  w w  .  j  a va2  s  .  c  o  m
public void testPersonalIdControlSimpleValidation() throws Exception {
    MockHttpServletRequest correctValueRequest = new MockHttpServletRequest();
    correctValueRequest.addParameter("myPersonalIdInput", "38304280235");

    TextControl pic = new TextControl(TextType.EST_PERSONAL_ID);
    pic._getComponent().init(new MockEnviroment());
    MockUiLibUtil.emulateHandleRequest(pic, "myPersonalIdInput", correctValueRequest);
    pic.convertAndValidate();

    assertTrue("Personal id control must be valid.", pic.isValid());
    assertTrue("Personal id control value must be a 'String'.", pic.getRawValue() instanceof String);
    assertTrue("Personal id control value must be '38304280235'.",
            ((String) pic.getRawValue()).equals("38304280235"));

    MockHttpServletRequest incorrectValueRequest = new MockHttpServletRequest();
    incorrectValueRequest.addParameter("myPersonalIdInput", "abcd");

    MockUiLibUtil.emulateHandleRequest(pic, "myPersonalIdInput", incorrectValueRequest);
    pic.convertAndValidate();

    assertTrue("Personal id control mustn't be valid.", !pic.isValid());

    pic._getComponent().destroy();
}

From source file:org.hdiv.web.validator.EditableParameterValidatorTest.java

@SuppressWarnings("unchecked")
public void testEditableValidator() {

    MockHttpServletRequest request = (MockHttpServletRequest) HDIVUtil.getHttpServletRequest();

    this.dataComposer.beginRequest(this.targetName);
    this.dataComposer.compose("paramName", "", true, "text");

    String pageState = this.dataComposer.endRequest();
    this.dataComposer.endPage();

    request.addParameter(hdivParameter, pageState);
    request.addParameter("paramName", "<script>storeCookie()</script>");

    RequestWrapper requestWrapper = new RequestWrapper(request);
    boolean result = helper.validate(requestWrapper).isValid();
    assertTrue(result);//  w  w w. j av a 2s. c  o m

    // Editable errors in request?
    Hashtable<String, String[]> parameters = (Hashtable<String, String[]>) requestWrapper
            .getAttribute(Constants.EDITABLE_PARAMETER_ERROR);
    assertEquals(1, parameters.size());

    // Set request attributes on threadlocal
    RequestContextHolder.setRequestAttributes(new ServletRequestAttributes(requestWrapper));

    // New Editable instance
    EditableParameterValidator validator = new EditableParameterValidator();
    Errors errors = new MapBindingResult(new HashMap<String, String>(), "");
    assertFalse(errors.hasErrors());

    // move errors to Errors instance
    validator.validate("anyObject", errors);
    assertTrue(errors.hasErrors());

}

From source file:org.araneaframework.tests.FormControlTest.java

/**
 * Tests that {@link FloatControl} uses the min/max value parameters
 * for validation. //w  w  w.  j a va 2s  .  c  om
 */
public void testFloatControlMinMaxValidation() throws Exception {
    MockHttpServletRequest correctValueRequest = new MockHttpServletRequest();
    correctValueRequest.addParameter("myFloatInput", "50.0018");

    FloatControl nc = new FloatControl();
    nc._getComponent().init(new MockEnviroment());

    nc.setMinValue(new BigDecimal("25.001"));
    nc.setMaxValue(new BigDecimal("75.002"));

    MockUiLibUtil.emulateHandleRequest(nc, "myFloatInput", correctValueRequest);
    nc.convertAndValidate();

    assertTrue("Float control must be valid.", nc.isValid());
    assertTrue("Float control value must be '50.0018'.",
            ((BigDecimal) nc.getRawValue()).doubleValue() == 50.0018);

    MockHttpServletRequest tooLittleValueRequest = new MockHttpServletRequest();
    tooLittleValueRequest.addParameter("myFloatInput", "20.1");

    MockUiLibUtil.emulateHandleRequest(nc, "myFloatInput", tooLittleValueRequest);
    nc.convertAndValidate();

    assertTrue("Float control mustn't be valid.", !nc.isValid());

    MockHttpServletRequest tooBigValueRequest = new MockHttpServletRequest();
    tooBigValueRequest.addParameter("myFloatInput", "80.2");

    MockUiLibUtil.emulateHandleRequest(nc, "myFloatInput", tooBigValueRequest);
    nc.convertAndValidate();

    assertTrue("Float control mustn't be valid.", !nc.isValid());
}

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

/**
 * If a user enters 4 username requests, the 5th one should reset the lockout and they should be
 * allowed 5 attempts at the secret answer
 *
 * @throws Exception//from  w  w  w.j  a  va  2  s .  c  o m
 */
@Test
public void shouldGiveUserFiveSecretAnswerAttemptsAfterLessThanFiveFailedUsernameAttempts() throws Exception {
    ForgotPasswordFormController controller = new ForgotPasswordFormController();

    for (int x = 1; x <= 4; x++) {
        MockHttpServletRequest request = new MockHttpServletRequest();
        request.setMethod("POST");

        request.addParameter("uname", "invaliduser");

        controller.handleRequest(request, new MockHttpServletResponse());
    }

    // those were the first four, now the fifth is a valid username
    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setMethod("POST");

    request.addParameter("uname", "validuser");

    controller.handleRequest(request, new MockHttpServletResponse());

    Assert.assertNotNull(request.getAttribute("secretQuestion"));

    // now the user has 5 chances at the secret answer

    // fifth request
    MockHttpServletRequest request5 = new MockHttpServletRequest();
    request5.setMethod("POST");

    request5.addParameter("uname", "validuser");
    request5.addParameter("secretAnswer", "invalid answer");
    controller.handleRequest(request5, new MockHttpServletResponse());
    Assert.assertNotNull(request5.getAttribute("secretQuestion"));

    // sixth request (should not lock out because is after valid username)
    MockHttpServletRequest request6 = new MockHttpServletRequest();
    request6.setMethod("POST");

    request6.addParameter("uname", "validuser");
    request6.addParameter("secretAnswer", "invalid answer");
    request.setMethod("POST");
    controller.handleRequest(request6, new MockHttpServletResponse());
    Assert.assertNotNull(request6.getAttribute("secretQuestion"));

    // seventh request (should Accept with valid answer)
    MockHttpServletRequest request7 = new MockHttpServletRequest();
    request7.setMethod("POST");

    request7.addParameter("uname", "validuser");
    request7.addParameter("secretAnswer", "valid secret answer");
    controller.handleRequest(request7, new MockHttpServletResponse());

    Assert.assertTrue(Context.isAuthenticated());
}

From source file:org.araneaframework.tests.FormControlTest.java

/**
 * Tests that {@link NumberControl} uses the min/max value parameters
 * for validation. // w  w w  .  j a  v  a  2 s.c o  m
 */
public void testNumberControlMinMaxValidation() throws Exception {
    MockHttpServletRequest correctValueRequest = new MockHttpServletRequest();
    correctValueRequest.addParameter("myNumberInput", "50");

    NumberControl nc = new NumberControl();
    nc._getComponent().init(new MockEnviroment());

    nc.setMinValue(new BigInteger("25"));
    nc.setMaxValue(new BigInteger("75"));

    MockUiLibUtil.emulateHandleRequest(nc, "myNumberInput", correctValueRequest);
    nc.convertAndValidate();

    assertTrue("Number control must be valid.", nc.isValid());
    assertTrue("Number control value must be '50'.", ((BigInteger) nc.getRawValue()).longValue() == 50L);

    MockHttpServletRequest tooLittleValueRequest = new MockHttpServletRequest();
    tooLittleValueRequest.addParameter("myNumberInput", "20");

    MockUiLibUtil.emulateHandleRequest(nc, "myNumberInput", tooLittleValueRequest);
    nc.convertAndValidate();

    assertTrue("Number control mustn't be valid.", !nc.isValid());

    MockHttpServletRequest tooBigValueRequest = new MockHttpServletRequest();
    tooBigValueRequest.addParameter("myNumberInput", "80");

    MockUiLibUtil.emulateHandleRequest(nc, "myNumberInput", tooBigValueRequest);
    nc.convertAndValidate();

    assertTrue("Number control mustn't be valid.", !nc.isValid());

    nc._getComponent().destroy();
}

From source file:org.araneaframework.tests.FormTest.java

/**
 * Testing reading from invalid request.
 *//*ww w  .j a v  a 2  s  .  c  o m*/
public void testFormInvalidRequestReading() throws Exception {
    FormWidget testForm = makeUsualForm();

    MockHttpServletRequest invalidRequest = new MockHttpServletRequest();

    invalidRequest.addParameter("testForm.__present", "true");
    invalidRequest.addParameter("testForm.myCheckBox", "ksjf");
    invalidRequest.addParameter("testForm.myDateTime.date", "HA-HA");
    invalidRequest.addParameter("testForm.myDateTime.time", "BLAH");
    invalidRequest.addParameter("testForm.hierarchyTest.myTextarea", "");

    //Testing that invalid requests are read right
    StandardServletInputData input = new StandardServletInputData(invalidRequest);
    input.pushScope("testForm");
    testForm._getWidget().update(input);

    assertTrue("Test form must not be valid after reading from request", !testForm.convertAndValidate());
}

From source file:org.araneaframework.tests.FormControlTest.java

/**
 * Tests that {@link TextControl} return <code>null</code> on empty request.
 * @throws Exception//from w w w  .j  a va  2  s .  com
 */
public void testControlRequestDataSaving() throws Exception {
    MockHttpServletRequest valueRequest = new MockHttpServletRequest();

    String DEV_NULL = "/dev/null";

    valueRequest.addParameter("myTextBox", DEV_NULL);

    TextControl tb = new TextControl();
    tb._getComponent().init(new MockEnviroment());
    MockUiLibUtil.emulateHandleRequest(tb, "myTextBox", valueRequest);
    StringArrayRequestControl.ViewModel vm = (StringArrayRequestControl.ViewModel) tb._getViewable()
            .getViewModel();

    assertEquals("TextBox must contain the value from request!", DEV_NULL, vm.getSimpleValue());

    tb._getComponent().destroy();
}