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:com.ideabase.repository.test.webservice.RESTfulControllerTest.java

/**
 * Test search request for findout a list of items.
 * @throws Exception//from www . jav a 2 s  .  c  o m
 */
public void testFindOperation() throws Exception {
    // Create dummy user object
    final Integer dummyUserId = TestCaseRepositoryHelper.fixCreateUser(mUserService, "hasan", "hasankhan");

    // Create fixture data
    final List<Integer> createdItemIdList = TestCaseRepositoryHelper.fixCreateItems(mRepositoryService, 5);
    // Set dummy user with the deletable list of items
    createdItemIdList.add(dummyUserId);

    try {
        // Execute successful login request
        final Subject subject = getSubjectFromASuccessfulRequest();

        // Create a new servlet request
        final MockHttpServletRequest request = new MockHttpServletRequest();
        request.setRequestURI("/service/find/q.xml");
        final Query query = new Query();
        query.and("email", "hasan@somewherein.net");
        LOG.debug("New query - " + query.buildQuery());
        request.addParameter("q", query.buildQuery().toString());
        // set pagination
        request.addParameter(WebConstants.PARAM_OFFSET, String.valueOf(0));
        request.addParameter(WebConstants.PARAM_MAX, String.valueOf(2));
        request.setMethod(METHOD_GET);

        // set session id
        final MockHttpSession session = new MockHttpSession();
        session.setAttribute(WebConstants.SESSION_ATTR_USER_SUBJECT, subject);
        request.setSession(session);
        final MockHttpServletResponse response = new MockHttpServletResponse();

        // Execute controller
        final ModelAndView modelAndView = mRestfulController.handleRequest(request, response);

        // Verify response
        assertNull("Model or view is returned", modelAndView);
        final String responseContent = response.getContentAsString();
        assertTrue("Response content is empty.", responseContent.indexOf("true") != -1);
        assertEquals("Resonse status is not 200", RESTfulControllerImpl.STATUS_OK_200, response.getStatus());
        LOG.debug("Response content - " + responseContent);

    } finally {
        // clean up all fixed items.
        TestCaseRepositoryHelper.fixRemoveAllItems(mRepositoryService);
    }
}

From source file:fragment.web.AuthenticationControllerTest.java

@Test
public void testLandingRouting() throws Exception {
    logger.debug("Testing routing....");
    DispatcherTestServlet servlet = getServletInstance();
    Method expected = locateMethod(controller.getClass(), "login",
            new Class[] { HttpServletRequest.class, ModelMap.class, HttpSession.class });
    Method handler = servlet.recognize(getRequestTemplate(HttpMethod.GET, "/login"));
    Assert.assertEquals(expected, handler);

    expected = locateMethod(controller.getClass(), "loggedout", new Class[] { java.lang.String.class,
            ModelMap.class, HttpSession.class, HttpServletResponse.class, HttpServletRequest.class });
    handler = servlet.recognize(getRequestTemplate(HttpMethod.GET, "/userParam/loggedout"));
    Assert.assertEquals(expected, handler);

    MockHttpServletRequest request = getRequestTemplate(HttpMethod.GET, "/reset_password");

    expected = locateMethod(controller.getClass(), "requestReset", new Class[] { ModelMap.class, });
    handler = servlet.recognize(request);
    Assert.assertEquals(expected, handler);

    request.removeAllParameters();/*from   w w  w. j a va  2s .c  o  m*/
    request.addParameter("username", "value");
    request.setMethod(HttpMethod.POST.name());
    expected = locateMethod(controller.getClass(), "requestReset",
            new Class[] { String.class, HttpServletRequest.class, ModelMap.class });
    handler = servlet.recognize(request);
    Assert.assertEquals(expected, handler);

    request.removeAllParameters();
    request.setMethod(HttpMethod.GET.name());
    request.addParameter("a", "value");
    request.addParameter("t", "0");
    request.addParameter("i", "value");
    expected = locateMethod(controller.getClass(), "reset",
            new Class[] { String.class, Long.TYPE, String.class, HttpSession.class, ModelMap.class });
    handler = servlet.recognize(request);
    Assert.assertEquals(expected, handler);

    request.removeAllParameters();
    request.addParameter("password", "password");
    request.setMethod(HttpMethod.POST.name());
    expected = locateMethod(controller.getClass(), "reset",
            new Class[] { String.class, HttpSession.class, HttpServletRequest.class });
    handler = servlet.recognize(request);
    Assert.assertEquals(expected, handler);

    request.removeAllParameters();
    expected = locateMethod(controller.getClass(), "requestCall",
            new Class[] { String.class, String.class, HttpServletRequest.class });
    handler = servlet.recognize(getRequestTemplate(HttpMethod.POST, "/request_call_by_user"));
    Assert.assertEquals(expected, handler);

    request.removeAllParameters();
    expected = locateMethod(controller.getClass(), "requestSMS",
            new Class[] { String.class, String.class, HttpServletRequest.class });
    handler = servlet.recognize(getRequestTemplate(HttpMethod.POST, "/request_sms_by_user"));
    Assert.assertEquals(expected, handler);

    request.removeAllParameters();
    expected = locateMethod(controller.getClass(), "verifyAdditionalEmail", new Class[] { String.class,
            String.class, String.class, HttpServletRequest.class, ModelMap.class, HttpSession.class });
    handler = servlet.recognize(getRequestTemplate(HttpMethod.GET, "/verify_additional_email"));
    Assert.assertEquals(expected, handler);

    request.removeAllParameters();
    expected = locateMethod(controller.getClass(), "getGoogleAnalytics", new Class[] {});
    handler = servlet.recognize(getRequestTemplate(HttpMethod.GET, "/getGoogleAnalytics"));
    Assert.assertEquals(expected, handler);

}

From source file:org.hdiv.filter.ValidatorHelperTest.java

/**
 * Test for cookies integrity.// w w w . j a v  a  2 s  .com
 */
public void testValidateCookiesIntegrity() {

    MockHttpServletRequest request = (MockHttpServletRequest) HDIVUtil.getHttpServletRequest();
    RequestWrapper requestWrapper = new RequestWrapper(request);

    MockHttpServletResponse response = new MockHttpServletResponse();
    ResponseWrapper responseWrapper = new ResponseWrapper(response);

    responseWrapper.addCookie(new Cookie("name", "value"));

    this.dataComposer.beginRequest(this.targetName);
    this.dataComposer.compose("param1", "value1", false);
    String pageState = this.dataComposer.endRequest();
    assertNotNull(pageState);
    request.addParameter(hdivParameter, pageState);

    this.dataComposer.endPage();

    // Modify cookie value on client
    request.setCookies(new Cookie[] { new Cookie("name", "changedValue") });

    requestWrapper = new RequestWrapper(request);
    boolean result = helper.validate(requestWrapper).isValid();
    assertFalse(result);
}

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

@Test
public void shouldNotOverwriteUserSecretQuestionOrAnswerWhenChangingPassword() throws Exception {
    LoginCredential loginCredential = userDao.getLoginCredential(user);
    HttpServletResponse response = new MockHttpServletResponse();
    MockHttpServletRequest request = new MockHttpServletRequest("POST", "");

    request.setParameter("secretQuestionPassword", "test");
    request.setParameter("secretQuestionNew", "easy question");
    request.setParameter("secretAnswerNew", "easy answer");
    request.setParameter("secretAnswerConfirm", "easy answer");

    controller.handleRequest(request, response);
    Assert.assertEquals("easy question", loginCredential.getSecretQuestion());
    String hashedAnswer = Security.encodeString("easy answer" + loginCredential.getSalt());
    Assert.assertEquals(hashedAnswer, loginCredential.getSecretAnswer());
    String oldPassword = loginCredential.getHashedPassword();

    request.removeAllParameters();/*  ww  w  .j a va  2  s.c  o m*/
    request.addParameter("secretQuestionNew", "easy question");
    request.setParameter("oldPassword", "test");
    request.setParameter("newPassword", "OpenMRS1");
    request.setParameter("confirmPassword", "OpenMRS1");
    ModelAndView mav = controller.handleRequest(request, response);

    if (oldPassword == loginCredential.getHashedPassword()) {
        request.setParameter("secretQuestionNew", "");
        mav = controller.handleRequest(request, response);
    }
    Assert.assertEquals(hashedAnswer, loginCredential.getSecretAnswer());
    Assert.assertEquals("easy question", loginCredential.getSecretQuestion());
}

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

@Test(expected = InvalidSearchException.class)
public void shouldThrowExceptionWhenSearchTypeParameterIsInvalid() throws Exception {

    MockHttpServletRequest req = request(RequestMethod.GET, getURI());
    SimpleObject result;//  ww  w  .  j  a  v a2 s . c  o m

    String conceptClassUuid = "3d065ed4-b0b9-4710-9a17-6d8c4fd259b7"; // DRUG
    String name = "Aspirin"; //ASPIRIN
    String searchType = "equalz";

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

    result = deserialize(handle(req));
}

From source file:org.openmrs.module.htmlformentry.ObsTagTest.java

@Test
public void dynamicAutocomplete_shouldSubmitObs() throws Exception {
    new RegressionTestHelper() {

        @Override/*from ww w. j a va 2s .c  o m*/
        public String getFormName() {
            return "singleObsFormWithMultiAutocomplete";
        }

        public Patient getPatient() {
            return patient;
        }

        @Override
        public String[] widgetLabels() {
            return new String[] { "Date:", "Location:", "Provider:", "Coded:" };
        }

        @Override
        public void setupRequest(MockHttpServletRequest request, Map<String, String> widgets) {
            request.addParameter(widgets.get("Date:"), dateAsString(new Date()));
            request.addParameter(widgets.get("Location:"), "2");
            request.addParameter(widgets.get("Provider:"), "502");
            request.addParameter(widgets.get("Coded:"), "2"); // in the dynamic autocomplete, the widget value is just the count of the number of entries
            request.addParameter("w8span_0_hid", "1001");
            request.addParameter("w8span_1_hid", "1002");
        }

        @Override
        public void testResults(SubmissionResults results) {
            results.assertNoErrors();
            results.assertEncounterCreated();
            results.assertProvider(502);
            results.assertLocation(2);
            results.assertObsCreatedCount(2);
            results.assertObsCreated(1000, "PENICILLIN");
            results.assertObsCreated(1000, "CATS");
        }

    }.run();
}

From source file:org.openmrs.module.htmlformentry.ObsTagTest.java

@Test
public void testObsDrug() throws Exception {
    new RegressionTestHelper() {
        @Override/*from w  ww .j  a v  a  2 s .  c om*/
        public String getFormName() {
            return "obsDrugForm";
        }

        @Override
        public void testBlankFormHtml(String html) {
            System.out.println(html);
            assertTrue(html.contains("autocomplete"));
            assertTrue(html.contains("source: '/openmrs/module/htmlformentry/drugSearch.form'"));
        }

        @Override
        public String[] widgetLabels() {
            return new String[] { "Date:", "Location:", "Provider:", "Allergic to drug:" };
        }

        @Override
        public void setupRequest(MockHttpServletRequest request, Map<String, String> widgets) {
            request.addParameter(widgets.get("Date:"), dateAsString(new Date()));
            request.addParameter(widgets.get("Location:"), "2");
            request.addParameter(widgets.get("Provider:"), "502");
            request.addParameter(widgets.get("Allergic to drug:"), "Drug:3");
        }

        @Override
        public void testResults(SubmissionResults results) {
            results.assertNoErrors();
            results.assertEncounterCreated();
            results.assertProvider(502);
            results.assertLocation(2);
            results.assertObsCreatedCount(1);
            results.assertObsCreated(1000, Context.getConceptService().getDrug(3));
        }

        @Override
        public void testViewingEncounter(Encounter encounter, String html) {
            assertThat(html, containsString("Allergic to drug: Aspirin"));
        }
    }.run();
}

From source file:org.openmrs.module.htmlformentry.ObsTagTest.java

@Test
public void shouldSubmitObsWithNumericValueCheckbox() throws Exception {
    new RegressionTestHelper() {

        @Override//from   www .  j av  a2s . co m
        public String getFormName() {
            return "SingleObsFormWithNumericCheckbox";
        }

        public Patient getPatient() {
            return patient;
        }

        @Override
        public String[] widgetLabels() {
            return new String[] { "Date:", "Location:", "Provider:", "NumericValue:" };
        }

        @Override
        public void setupRequest(MockHttpServletRequest request, Map<String, String> widgets) {
            request.addParameter(widgets.get("Date:"), dateAsString(new Date()));
            request.addParameter(widgets.get("Location:"), "2");
            request.addParameter(widgets.get("Provider:"), "502");
            request.addParameter(widgets.get("NumericValue:"), "8");
        }

        @Override
        public void testResults(SubmissionResults results) {
            results.assertNoErrors();
            results.assertEncounterCreated();
            results.assertProvider(502);
            results.assertLocation(2);
            results.assertObsCreatedCount(1);
            results.assertObsCreated(1, "8.0");
        }

        public boolean doViewEncounter() {
            return true;
        }

        public void testViewingEncounter(Encounter encounter, String html) {
            assertTrue("View should contain checked numeric value: " + html,
                    html.contains("NumericValue: <span class=\"value\">[X]&#160;"));
        }
    }.run();
}

From source file:org.openmrs.module.htmlformentry.ObsTagTest.java

@Test
public void shouldSubmitObsWithAutocomplete() throws Exception {
    new RegressionTestHelper() {

        @Override//from  w  w w  .j ava  2  s.  c o m
        public String getFormName() {
            return "singleObsFormWithAutocomplete";
        }

        public Patient getPatient() {
            return patient;
        }

        @Override
        public String[] widgetLabels() {
            return new String[] { "Date:", "Location:", "Provider:", "Coded:!!1" };
        }

        @Override
        public void setupRequest(MockHttpServletRequest request, Map<String, String> widgets) {
            request.addParameter(widgets.get("Date:"), dateAsString(new Date()));
            request.addParameter(widgets.get("Location:"), "2");
            request.addParameter(widgets.get("Provider:"), "502");
            request.addParameter(widgets.get("Coded:!!1"), "1001");
        }

        @Override
        public void testResults(SubmissionResults results) {
            results.assertNoErrors();
            results.assertEncounterCreated();
            results.assertProvider(502);
            results.assertLocation(2);
            results.assertObsCreatedCount(1);
            results.assertObsCreated(1000, "PENICILLIN");
        }

        public boolean doViewEncounter() {
            return true;
        }

        public void testViewingEncounter(Encounter encounter, String html) {
            assertTrue("View should contain coded value: " + html,
                    html.contains("Coded: <span class=\"value\">PENICILLIN</span>"));
        }
    }.run();
}

From source file:org.openmrs.module.htmlformentry.ObsTagTest.java

@Test
public void shouldEditObsWithAutocomplete() throws Exception {
    new RegressionTestHelper() {

        @Override//from w w  w  .jav a 2 s .  c om
        public String getFormName() {
            return "singleObsFormWithAutocomplete";
        }

        public Patient getPatient() {
            return patient;
        }

        @Override
        public String[] widgetLabels() {
            return new String[] { "Date:", "Location:", "Provider:", "Coded:!!1" };
        }

        @Override
        public void setupRequest(MockHttpServletRequest request, Map<String, String> widgets) {
            request.addParameter(widgets.get("Date:"), dateAsString(new Date()));
            request.addParameter(widgets.get("Location:"), "2");
            request.addParameter(widgets.get("Provider:"), "502");
            request.addParameter(widgets.get("Coded:!!1"), "1001");
        }

        @Override
        public boolean doEditEncounter() {
            return true;
        }

        @Override
        public String[] widgetLabelsForEdit() {
            return new String[] { "Coded:!!1" };
        }

        @Override
        public void setupEditRequest(MockHttpServletRequest request, Map<String, String> widgets) {
            request.setParameter(widgets.get("Coded:!!1"), "1002");
        }

        @Override
        public void testEditedResults(SubmissionResults results) {
            results.assertNoErrors();
            results.assertObsCreatedCount(1);
            results.assertObsVoided(1000, "PENICILLIN");
            results.assertObsCreated(1000, "CATS");
        }

    }.run();
}