List of usage examples for org.springframework.mock.web MockHttpServletRequest addParameter
public void addParameter(String name, String... values)
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(); }