List of usage examples for org.springframework.mock.web MockHttpServletRequest setParameter
public void setParameter(String name, String... values)
From source file:org.jasig.cas.support.oauth.web.OAuth20AuthorizeCallbackActionControllerTests.java
@Test public void verifyActionDenied() throws Exception { final MockHttpServletRequest mockRequest = new MockHttpServletRequest("GET", CONTEXT + OAuthConstants.CALLBACK_AUTHORIZE_ACTION_URL); final MockHttpSession mockSession = new MockHttpSession(); mockSession.putValue(OAuthConstants.OAUTH20_RESPONSE_TYPE, RESPONSE_TYPE); mockSession.putValue(OAuthConstants.OAUTH20_CLIENT_ID, CLIENT_ID); mockSession.putValue(OAuthConstants.OAUTH20_STATE, STATE); mockSession.putValue(OAuthConstants.OAUTH20_REDIRECT_URI, REDIRECT_URI); mockSession.putValue(OAuthConstants.OAUTH20_TOKEN_TYPE, TokenType.OFFLINE); mockSession.putValue(OAuthConstants.OAUTH20_LOGIN_TICKET_ID, TICKET_GRANTING_TICKET_ID); mockSession.putValue(OAuthConstants.OAUTH20_SCOPE, SCOPE); mockRequest.setSession(mockSession); mockRequest.setParameter(OAuthConstants.OAUTH20_APPROVAL_PROMPT_ACTION, "deny"); final MockHttpServletResponse mockResponse = new MockHttpServletResponse(); final OAuth20WrapperController oauth20WrapperController = new OAuth20WrapperController(); oauth20WrapperController.afterPropertiesSet(); final ModelAndView modelAndView = oauth20WrapperController.handleRequest(mockRequest, mockResponse); assertTrue(modelAndView.getView() instanceof RedirectView); final RedirectView redirectView = (RedirectView) modelAndView.getView(); assertTrue(redirectView.getUrl()/*from www . j a v a 2 s . co m*/ .endsWith(REDIRECT_URI + "?" + OAuthConstants.ERROR + "=" + OAuthConstants.ACCESS_DENIED)); assertNull(mockSession.getAttribute(OAuthConstants.OAUTH20_RESPONSE_TYPE)); assertNull(mockSession.getAttribute(OAuthConstants.OAUTH20_CLIENT_ID)); assertNull(mockSession.getAttribute(OAuthConstants.OAUTH20_STATE)); assertNull(mockSession.getAttribute(OAuthConstants.OAUTH20_REDIRECT_URI)); assertNull(mockSession.getAttribute(OAuthConstants.OAUTH20_TOKEN_TYPE)); assertNull(mockSession.getAttribute(OAuthConstants.OAUTH20_LOGIN_TICKET_ID)); assertNull(mockSession.getAttribute(OAuthConstants.OAUTH20_SCOPE_SET)); }
From source file:com.gisgraphy.addressparser.web.AddressQueryHttpBuilderTest.java
@Test public void buildStructuredFromRequest() { AddressQueryHttpBuilder builder = AddressQueryHttpBuilder.getInstance(); MockHttpServletRequest request = new MockHttpServletRequest(); AddressQuery query;/*from www. ja va 2 s . com*/ //without parameters try { builder.buildFromRequest(request); Assert.fail("without parameters the builder should throws"); } catch (AddressParserException e) { //ignore } //country //without country request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); query = builder.buildFromRequest(request); Assert.assertNull("country parameter is not required", query.getCountry()); Assert.assertEquals("address", query.getAddress()); //with empty country request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, " "); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); query = builder.buildFromRequest(request); Assert.assertNull("with empty country equals to space, the builder should set countrycode to null", query.getCountry()); Assert.assertEquals("address", query.getAddress()); //with empty country request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, ""); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); query = builder.buildFromRequest(request); Assert.assertNull("with empty country , the builder should set countrycode to null", query.getCountry()); Assert.assertEquals("address", query.getAddress()); //address //without address request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "US"); try { builder.buildFromRequest(request); Assert.fail("without address parameter or structured address the builder should throws"); } catch (AddressParserException e) { //ignore } //with empty address request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, " "); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); try { builder.buildFromRequest(request); Assert.fail("with empty country equals to space, the builder should throws"); } catch (AddressParserException e) { //ignore } //with empty country request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, ""); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); try { builder.buildFromRequest(request); Assert.fail("with empty string the builder should throws"); } catch (AddressParserException e) { //ignore } //all ok request = new MockHttpServletRequest(); String city = "city"; String houseNumber = "1"; String streetName = "california street"; request.setParameter(city, city); request.setParameter("houseNumber", houseNumber); request.setParameter("streetName", streetName); request.setParameter("NotExistingFieldName", "foo"); request.setParameter("country", "france"); request.setParameter("zipcode", "");//empty paramter should be ignored request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); StructuredAddressQuery structuredquery = (StructuredAddressQuery) builder.buildFromRequest(request); Address address = structuredquery.getStructuredAddress(); Assert.assertEquals("us", structuredquery.getCountry()); Assert.assertEquals(city, address.getCity()); Assert.assertEquals(houseNumber, address.getHouseNumber()); Assert.assertEquals(streetName, address.getStreetName()); Assert.assertNull("empty paramter should be ignored", address.getZipCode()); Assert.assertNull(address.getCountry()); // test outputFormat // with no value specified request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); query = builder.buildFromRequest(request); assertEquals( "When no " + AbstractAddressServlet.OUTPUT_FORMAT_PARAMETER + " is specified, the parameter should be set to " + OutputFormat.getDefault(), OutputFormat.getDefault(), query.getFormat()); // with wrong value request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.OUTPUT_FORMAT_PARAMETER, "UNK"); query = builder.buildFromRequest(request); assertEquals( "When wrong " + AbstractAddressServlet.OUTPUT_FORMAT_PARAMETER + " is specified, the parameter should be set to " + OutputFormat.getDefault(), OutputFormat.getDefault(), query.getFormat()); // test case sensitive request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.OUTPUT_FORMAT_PARAMETER, "json"); query = builder.buildFromRequest(request); assertEquals(AbstractAddressServlet.OUTPUT_FORMAT_PARAMETER + " should be case insensitive ", OutputFormat.JSON, query.getFormat()); request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.OUTPUT_FORMAT_PARAMETER, "unsupported"); query = builder.buildFromRequest(request); assertEquals(GisgraphyServlet.FORMAT_PARAMETER + " should set default if not supported ", OutputFormat.getDefault(), query.getFormat()); //test indent // with no value specified request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); query = builder.buildFromRequest(request); assertEquals( "When no " + AbstractAddressServlet.INDENT_PARAMETER + " is specified, the parameter should be set to default indentation", AddressQuery.DEFAULT_INDENTATION, query.isIndent()); // with wrong value request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.INDENT_PARAMETER, "unk"); query = builder.buildFromRequest(request); assertEquals( "When wrong " + AbstractAddressServlet.INDENT_PARAMETER + " is specified, the parameter should be set to default value", AddressQuery.DEFAULT_INDENTATION, query.isIndent()); // test case sensitive request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.INDENT_PARAMETER, "TrUe"); query = builder.buildFromRequest(request); assertTrue(AbstractAddressServlet.INDENT_PARAMETER + " should be case insensitive ", query.isIndent()); // test 'on' value request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.INDENT_PARAMETER, "On"); query = builder.buildFromRequest(request); assertTrue(AbstractAddressServlet.INDENT_PARAMETER + " should be true for 'on' value (case insensitive and on value) ", query.isIndent()); //test postal // with no value specified request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); query = builder.buildFromRequest(request); assertFalse("When no " + AbstractAddressServlet.POSTAL_PARAMETER + " is specified, the parameter should be set to false", query.isPostal()); // with wrong value request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.POSTAL_PARAMETER, "unk"); query = builder.buildFromRequest(request); assertFalse("When wrong " + AbstractAddressServlet.POSTAL_PARAMETER + " is specified, the parameter should be set to false", query.isPostal()); // test case sensitive request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.POSTAL_PARAMETER, "TrUe"); query = builder.buildFromRequest(request); assertTrue(AbstractAddressServlet.POSTAL_PARAMETER + " should be case insensitive ", query.isPostal()); // test 'on' value request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.POSTAL_PARAMETER, "On"); query = builder.buildFromRequest(request); assertTrue(AbstractAddressServlet.POSTAL_PARAMETER + " should be true for 'on' value (case insensitive and on value) ", query.isPostal()); //test standardize // with no value specified request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); query = builder.buildFromRequest(request); assertFalse("When no " + AbstractAddressServlet.STANDARDIZE_PARAMETER + " is specified, the parameter should be set to false", query.isStandardize()); // with wrong value request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.STANDARDIZE_PARAMETER, "unk"); query = builder.buildFromRequest(request); assertFalse("When wrong " + AbstractAddressServlet.STANDARDIZE_PARAMETER + " is specified, the parameter should be set to false", query.isStandardize()); // test case sensitive request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.STANDARDIZE_PARAMETER, "TrUe"); query = builder.buildFromRequest(request); assertTrue(AbstractAddressServlet.STANDARDIZE_PARAMETER + " should be case insensitive ", query.isStandardize()); // test 'on' value request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.STANDARDIZE_PARAMETER, "On"); query = builder.buildFromRequest(request); assertTrue( AbstractAddressServlet.STANDARDIZE_PARAMETER + " should be true for 'on' value (case insensitive and on value) ", query.isStandardize()); //callback not set request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); query = builder.buildFromRequest(request); assertNull("callback should be null when not set", query.getCallback()); //callback set with non alpha value request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.CALLBACK_PARAMETER, "doit("); query = builder.buildFromRequest(request); assertNull("callback should not be set when not alphanumeric", query.getCallback()); //callback set with alpha value request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.CALLBACK_PARAMETER, "doit"); query = builder.buildFromRequest(request); assertEquals("callback should not be set when alphanumeric", "doit", query.getCallback()); }
From source file:com.gisgraphy.addressparser.web.AddressQueryHttpBuilderTest.java
@Test public void buildFromRequest() { AddressQueryHttpBuilder builder = AddressQueryHttpBuilder.getInstance(); MockHttpServletRequest request = new MockHttpServletRequest(); AddressQuery query;//w ww . j av a2 s. com //without parameters try { builder.buildFromRequest(request); Assert.fail("without parameters the builder should throws"); } catch (AddressParserException e) { //ignore } //country //without country request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); query = builder.buildFromRequest(request); Assert.assertNull("country parameter is not required", query.getCountry()); //with country=space request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, " "); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); query = builder.buildFromRequest(request); Assert.assertNull("with empty country equals to space, the country should be considered as null", query.getCountry()); //with empty country request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, ""); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); builder.buildFromRequest(request); Assert.assertNull("with empty country, the country should be considered as null", query.getCountry()); //address //without address nor structured request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "US"); try { builder.buildFromRequest(request); Assert.fail("without address parameter or structured the builder should throws"); } catch (AddressParserException e) { //ignore } //with empty address, nor structured request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, " "); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); try { builder.buildFromRequest(request); Assert.fail("with empty country equals to space, the builder should throws"); } catch (AddressParserException e) { //ignore } //with empty country request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, " "); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); try { builder.buildFromRequest(request); Assert.fail("with empty string the builder should throws"); } catch (AddressParserException e) { //ignore } //with too long address request = new MockHttpServletRequest(); String tooLongAddress = RandomStringUtils.random(AbstractAddressServlet.QUERY_MAX_LENGTH + 1); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, tooLongAddress); try { builder.buildFromRequest(request); Assert.fail("with empty string the builder should throws"); } catch (AddressParserException e) { //ignore } //all ok request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); query = builder.buildFromRequest(request); Assert.assertEquals("address", query.getAddress()); Assert.assertEquals("us", query.getCountry()); // test outputFormat // with no value specified request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); query = builder.buildFromRequest(request); assertEquals( "When no " + AbstractAddressServlet.OUTPUT_FORMAT_PARAMETER + " is specified, the parameter should be set to " + OutputFormat.getDefault(), OutputFormat.getDefault(), query.getFormat()); // with wrong value request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.OUTPUT_FORMAT_PARAMETER, "UNK"); query = builder.buildFromRequest(request); assertEquals( "When wrong " + AbstractAddressServlet.OUTPUT_FORMAT_PARAMETER + " is specified, the parameter should be set to " + OutputFormat.getDefault(), OutputFormat.getDefault(), query.getFormat()); // test case sensitive request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.OUTPUT_FORMAT_PARAMETER, "json"); query = builder.buildFromRequest(request); assertEquals(AbstractAddressServlet.OUTPUT_FORMAT_PARAMETER + " should be case insensitive ", OutputFormat.JSON, query.getFormat()); request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.OUTPUT_FORMAT_PARAMETER, "unsupported"); query = builder.buildFromRequest(request); assertEquals(GisgraphyServlet.FORMAT_PARAMETER + " should set default if not supported ", OutputFormat.getDefault(), query.getFormat()); //test indent // with no value specified request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); query = builder.buildFromRequest(request); assertEquals( "When no " + AbstractAddressServlet.INDENT_PARAMETER + " is specified, the parameter should be set to default indentation", AddressQuery.DEFAULT_INDENTATION, query.isIndent()); // with wrong value request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.INDENT_PARAMETER, "unk"); query = builder.buildFromRequest(request); assertEquals( "When wrong " + AbstractAddressServlet.INDENT_PARAMETER + " is specified, the parameter should be set to default value", AddressQuery.DEFAULT_INDENTATION, query.isIndent()); // test case sensitive request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.INDENT_PARAMETER, "TrUe"); query = builder.buildFromRequest(request); assertTrue(AbstractAddressServlet.INDENT_PARAMETER + " should be case insensitive ", query.isIndent()); // test 'on' value request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.INDENT_PARAMETER, "On"); query = builder.buildFromRequest(request); assertTrue(AbstractAddressServlet.INDENT_PARAMETER + " should be true for 'on' value (case insensitive and on value) ", query.isIndent()); //test postal // with no value specified request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); query = builder.buildFromRequest(request); assertFalse("When no " + AbstractAddressServlet.POSTAL_PARAMETER + " is specified, the parameter should be set to false", query.isPostal()); // with wrong value request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.POSTAL_PARAMETER, "unk"); query = builder.buildFromRequest(request); assertFalse("When wrong " + AbstractAddressServlet.POSTAL_PARAMETER + " is specified, the parameter should be set to false", query.isPostal()); // test case sensitive request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.POSTAL_PARAMETER, "TrUe"); query = builder.buildFromRequest(request); assertTrue(AbstractAddressServlet.POSTAL_PARAMETER + " should be case insensitive ", query.isPostal()); // test 'on' value request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.POSTAL_PARAMETER, "On"); query = builder.buildFromRequest(request); assertTrue(AbstractAddressServlet.POSTAL_PARAMETER + " should be true for 'on' value (case insensitive and on value) ", query.isPostal()); //test standardize // with no value specified request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); query = builder.buildFromRequest(request); assertFalse("When no " + AbstractAddressServlet.STANDARDIZE_PARAMETER + " is specified, the parameter should be set to false", query.isStandardize()); // with wrong value request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.STANDARDIZE_PARAMETER, "unk"); query = builder.buildFromRequest(request); assertFalse("When wrong " + AbstractAddressServlet.STANDARDIZE_PARAMETER + " is specified, the parameter should be set to false", query.isStandardize()); // test case sensitive request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.STANDARDIZE_PARAMETER, "TrUe"); query = builder.buildFromRequest(request); assertTrue(AbstractAddressServlet.STANDARDIZE_PARAMETER + " should be case insensitive ", query.isStandardize()); // test 'on' value request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.STANDARDIZE_PARAMETER, "On"); query = builder.buildFromRequest(request); assertTrue( AbstractAddressServlet.STANDARDIZE_PARAMETER + " should be true for 'on' value (case insensitive and on value) ", query.isStandardize()); //callback not set request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); query = builder.buildFromRequest(request); assertNull("callback should be null when not set", query.getCallback()); //callback set with non alpha value request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.CALLBACK_PARAMETER, "doit("); query = builder.buildFromRequest(request); assertNull("callback should not be set when not alphanumeric", query.getCallback()); //callback set with alpha value request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.CALLBACK_PARAMETER, "doit"); query = builder.buildFromRequest(request); assertEquals("callback should not be set when alphanumeric", "doit", query.getCallback()); //callback set with alpha value request = new MockHttpServletRequest(); request.setParameter(AbstractAddressServlet.ADDRESS_PARAMETER, "address"); request.setParameter(AbstractAddressServlet.COUNTRY_PARAMETER, "us"); request.setParameter(AbstractAddressServlet.APIKEY_PARAMETER, "apiKEY"); query = builder.buildFromRequest(request); assertEquals("api key Should Be set", "apiKEY", query.getApikey()); }
From source file:com.alexshabanov.springrestapi.restapitest.RestOperationsTestClient.java
private MockHttpServletRequest toMockHttpServletRequest(URI url, HttpMethod method, ClientHttpRequest clientHttpRequest) throws IOException { final MockHttpServletRequest mockHttpServletRequest = new MockHttpServletRequest(method.name(), url.getPath());// w w w . java2 s . c o m // copy headers final HttpHeaders headers = clientHttpRequest.getHeaders(); for (final String headerKey : headers.toSingleValueMap().keySet()) { final List<String> headerValues = headers.get(headerKey); for (final String headerValue : headerValues) { mockHttpServletRequest.addHeader(headerKey, headerValue); } } // copy query parameters final String query = clientHttpRequest.getURI().getQuery(); if (query != null) { mockHttpServletRequest.setQueryString(query); final String[] queryParameters = query.split("&"); for (String keyValueParam : queryParameters) { final String[] components = keyValueParam.split("="); if (components.length == 1) { continue; // optional parameter } Assert.isTrue(components.length == 2, "Can't split query parameters " + keyValueParam + " by key-value pair"); mockHttpServletRequest.setParameter(components[0], components[1]); } } // copy request body // TODO: another byte copying approach here // TODO: for now we rely to the fact that request body is always presented as byte array output stream final OutputStream requestBodyStream = clientHttpRequest.getBody(); if (requestBodyStream instanceof ByteArrayOutputStream) { mockHttpServletRequest.setContent(((ByteArrayOutputStream) requestBodyStream).toByteArray()); } else { throw new AssertionError("Ooops, client http request has non-ByteArrayOutputStream body"); } return mockHttpServletRequest; }
From source file:com.gisgraphy.fulltext.FulltextQueryHttpBuilderTest.java
@Test public void testFulltextQueryFromAnHttpServletRequest() { MockHttpServletRequest request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); FulltextQuery query = buildQuery(request); // test Point // with empty lat request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.LAT_PARAMETER, ""); try {/*from w w w .jav a2 s . c o m*/ query = buildQuery(request); } catch (RuntimeException e) { fail("When there is empty latitude, query should throw"); } // With wrong lat request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.LAT_PARAMETER, "a"); try { query = buildQuery(request); fail("A null lat should throw"); } catch (RuntimeException e) { } // With too small lat request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.LAT_PARAMETER, "-92"); try { query = buildQuery(request); fail("latitude should not accept latitude < -90"); } catch (RuntimeException e) { } // With too high lat request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.LAT_PARAMETER, "92"); try { query = buildQuery(request); fail("latitude should not accept latitude > 90"); } catch (RuntimeException e) { } // with empty long request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.LONG_PARAMETER, ""); try { query = buildQuery(request); } catch (RuntimeException e) { fail("When there is empty longitude, query should throw"); } // With wrong Long request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.LONG_PARAMETER, "a"); try { query = buildQuery(request); fail("A null lat should throw"); } catch (RuntimeException e) { } // with too small long request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.LONG_PARAMETER, "-182"); try { query = buildQuery(request); fail("longitude should not accept longitude < -180"); } catch (RuntimeException e) { } // with too high long request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.LONG_PARAMETER, "182"); try { query = buildQuery(request); fail("longitude should not accept longitude > 180"); } catch (RuntimeException e) { } // with long with comma request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.LONG_PARAMETER, "10,3"); try { query = buildQuery(request); Assert.assertEquals("request should accept longitude with comma", 10.3D, query.getLongitude().doubleValue(), 0.1); } catch (RuntimeException e) { } // with long with point request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.LONG_PARAMETER, "10.3"); try { query = buildQuery(request); Assert.assertEquals("request should accept longitude with comma", 10.3D, query.getLongitude().doubleValue(), 0.1); } catch (RuntimeException e) { } // with lat with comma request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.LAT_PARAMETER, "10,3"); try { query = buildQuery(request); Assert.assertEquals("request should accept latitude with comma", 10.3D, query.getLatitude().doubleValue(), 0.1); } catch (RuntimeException e) { } // with lat with point request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.LAT_PARAMETER, "10.3"); try { query = buildQuery(request); Assert.assertEquals("request should accept latitude with point", 10.3D, query.getLatitude().doubleValue(), 0.1); } catch (RuntimeException e) { } // test radius // with missing radius request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.removeParameter(FulltextQuery.RADIUS_PARAMETER); query = buildQuery(request); assertEquals("When no " + FulltextQuery.RADIUS_PARAMETER + " is specified, the parameter should be set to " + FulltextQuery.DEFAULT_RADIUS, FulltextQuery.DEFAULT_RADIUS, query.getRadius(), 0.1); // With wrong radius request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.RADIUS_PARAMETER, "a"); query = buildQuery(request); assertEquals("When wrong " + FulltextQuery.RADIUS_PARAMETER + " is specified, the parameter should be set to " + FulltextQuery.DEFAULT_RADIUS, FulltextQuery.DEFAULT_RADIUS, query.getRadius(), 0.1); // radius with comma request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.RADIUS_PARAMETER, "1,4"); query = buildQuery(request); assertEquals("Radius should accept comma as decimal separator", 1.4D, query.getRadius(), 0.1); // radius with point request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.RADIUS_PARAMETER, "1.4"); query = buildQuery(request); assertEquals("Radius should accept point as decimal separator", 1.4D, query.getRadius(), 0.1); request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); query = buildQuery(request); int firstPaginationIndex = 3; assertEquals(firstPaginationIndex, query.getFirstPaginationIndex()); assertEquals(DEFAULT_MAX_RESULTS + firstPaginationIndex - 1, query.getLastPaginationIndex()); assertEquals("the pagination should be limit to " + DEFAULT_MAX_RESULTS, DEFAULT_MAX_RESULTS, query.getMaxNumberOfResults()); assertEquals("FR", query.getCountryCode()); assertEquals(OutputFormat.XML, query.getOutputFormat()); assertEquals("FR", query.getOutputLanguage()); assertEquals(OutputStyle.FULL, query.getOutputStyle()); assertEquals(City.class, query.getPlaceTypes()[0]); assertEquals("query", query.getQuery()); //test trim request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextServlet.FROM_PARAMETER, " " + request.getParameter(FulltextQuery.QUERY_PARAMETER) + " "); query = buildQuery(request); Assert.assertTrue("query parameter shoud be trimed", !query.getQuery().endsWith(" ")); Assert.assertTrue("query parameter shoud be trimed", !query.getQuery().startsWith(" ")); // test first pagination index // with no value specified request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.removeParameter(FulltextServlet.FROM_PARAMETER); query = buildQuery(request); assertEquals("When no " + FulltextServlet.FROM_PARAMETER + " is specified, the parameter should be " + Pagination.DEFAULT_FROM, Pagination.DEFAULT_FROM, query.getFirstPaginationIndex()); // with a wrong value request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextServlet.FROM_PARAMETER, "-1"); query = buildQuery(request); assertEquals("When a wrong " + FulltextServlet.FROM_PARAMETER + " is specified, the parameter should be " + Pagination.DEFAULT_FROM, Pagination.DEFAULT_FROM, query.getFirstPaginationIndex()); // with a non mumeric value request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextServlet.FROM_PARAMETER, "a"); query = buildQuery(request); assertEquals("When a wrong " + FulltextServlet.FROM_PARAMETER + " is specified, the parameter should be " + Pagination.DEFAULT_FROM, Pagination.DEFAULT_FROM, query.getFirstPaginationIndex()); // test last pagination index // with no value specified request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.removeParameter(FulltextServlet.TO_PARAMETER); query = buildQuery(request); int expectedLastPagination = (FulltextQuery.DEFAULT_NB_RESULTS + query.getFirstPaginationIndex() - 1); assertEquals(GisgraphyServlet.TO_PARAMETER + " is wrong when no " + GisgraphyServlet.TO_PARAMETER + " is specified ", expectedLastPagination, query.getLastPaginationIndex()); // with too high value specified request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.removeParameter(FulltextServlet.TO_PARAMETER); request.setParameter(FulltextServlet.TO_PARAMETER, "100"); query = buildQuery(request); expectedLastPagination = (FulltextQuery.DEFAULT_MAX_RESULTS + query.getFirstPaginationIndex() - 1); assertEquals(GisgraphyServlet.TO_PARAMETER + " is too high, to should be limited ", expectedLastPagination, query.getLastPaginationIndex()); assertEquals( "When no " + FulltextServlet.TO_PARAMETER + " is specified, the parameter should be set to limit results to " + FulltextQuery.DEFAULT_MAX_RESULTS, FulltextQuery.DEFAULT_MAX_RESULTS, query.getMaxNumberOfResults()); // with a wrong value request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextServlet.TO_PARAMETER, "2");// to<from query = buildQuery(request); expectedLastPagination = (FulltextQuery.DEFAULT_NB_RESULTS + query.getFirstPaginationIndex() - 1); assertEquals(GisgraphyServlet.TO_PARAMETER + " is wrong when wrong " + GisgraphyServlet.TO_PARAMETER + " is specified ", expectedLastPagination, query.getLastPaginationIndex()); assertEquals( "When a wrong " + FulltextServlet.TO_PARAMETER + " is specified, the number of results should be default nb results", FulltextQuery.DEFAULT_NB_RESULTS, query.getMaxNumberOfResults()); assertEquals("a wrong to does not change the from value", 3, query.getFirstPaginationIndex()); request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); //non numeric request.setParameter(FulltextServlet.TO_PARAMETER, "a"); query = buildQuery(request); expectedLastPagination = (FulltextQuery.DEFAULT_NB_RESULTS + query.getFirstPaginationIndex() - 1); assertEquals(GisgraphyServlet.TO_PARAMETER + " is wrong when non numeric " + GisgraphyServlet.TO_PARAMETER + " is specified ", expectedLastPagination, query.getLastPaginationIndex()); assertEquals("a wrong to does not change the from value", 3, query.getFirstPaginationIndex()); assertEquals( "When a wrong " + FulltextServlet.TO_PARAMETER + " is specified, the numberOf results should be " + FulltextQuery.DEFAULT_NB_RESULTS, FulltextQuery.DEFAULT_NB_RESULTS, query.getMaxNumberOfResults()); // test countrycode // with no value specified request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.removeParameter(FulltextQuery.COUNTRY_PARAMETER); query = buildQuery(request); Assert.assertNull( "When no " + FulltextQuery.COUNTRY_PARAMETER + " is specified, the parameter should be set to null", query.getCountryCode()); // with a wrong value // can not have a wrong value=>always a string // test outputFormat // with no value specified request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.removeParameter(FulltextServlet.FORMAT_PARAMETER); query = buildQuery(request); assertEquals("When no " + FulltextServlet.FORMAT_PARAMETER + " is specified, the parameter should be set to " + OutputFormat.getDefault(), OutputFormat.getDefault(), query.getOutputFormat()); // with wrong value request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextServlet.FORMAT_PARAMETER, "UNK"); query = buildQuery(request); assertEquals( "When wrong " + FulltextServlet.FORMAT_PARAMETER + " is specified, the parameter should be set to " + OutputFormat.getDefault(), OutputFormat.getDefault(), query.getOutputFormat()); // test case sensitive request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextServlet.FORMAT_PARAMETER, "json"); query = buildQuery(request); assertEquals(FulltextServlet.FORMAT_PARAMETER + " should be case insensitive ", OutputFormat.JSON, query.getOutputFormat()); //with unsupported value request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(GisgraphyServlet.FORMAT_PARAMETER, "unsupported"); query = buildQuery(request); assertEquals(GisgraphyServlet.FORMAT_PARAMETER + " should set default if not supported ", OutputFormat.getDefault(), query.getOutputFormat()); // test language // with no value specified request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.removeParameter(FulltextQuery.LANG_PARAMETER); query = buildQuery(request); assertNull(FulltextQuery.LANG_PARAMETER + " should be null when not specified ", query.getOutputLanguage()); // with empty string request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.LANG_PARAMETER, " "); query = buildQuery(request); assertEquals(FulltextQuery.LANG_PARAMETER + " should be null when not specified ", Output.DEFAULT_LANGUAGE_CODE, query.getOutputLanguage()); // test uppercase request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.LANG_PARAMETER, "fr"); query = buildQuery(request); assertEquals(FulltextQuery.LANG_PARAMETER + " should be uppercase ", "FR", query.getOutputLanguage()); // test placetype // with no value specified request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.removeParameter(FulltextQuery.PLACETYPE_PARAMETER); query = buildQuery(request); assertNull("When no " + FulltextQuery.PLACETYPE_PARAMETER + " is specified, the parameter should be set null ", query.getPlaceTypes()); // with wrong value request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.removeParameter(FulltextQuery.PLACETYPE_PARAMETER); request.setParameter(FulltextQuery.PLACETYPE_PARAMETER, "unk"); query = buildQuery(request); assertNull("When wrong " + FulltextQuery.PLACETYPE_PARAMETER + " is specified, the parameter should be set null ", query.getPlaceTypes()[0]); // test case sensitive request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.PLACETYPE_PARAMETER, "ciTy"); query = buildQuery(request); assertEquals(FulltextQuery.PLACETYPE_PARAMETER + " should be case insensitive ", City.class, query.getPlaceTypes()[0]); // test with multipleplacetype request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.PLACETYPE_PARAMETER, new String[] { "city", "adm" }); query = buildQuery(request); assertEquals(FulltextQuery.PLACETYPE_PARAMETER + " should accept several placetype ", 2, query.getPlaceTypes().length); List<Class<?>> placetypeList = Arrays.asList(query.getPlaceTypes()); assertTrue(FulltextQuery.PLACETYPE_PARAMETER + " should accept several placetype ", placetypeList.contains(City.class)); assertTrue(FulltextQuery.PLACETYPE_PARAMETER + " should accept several placetype ", placetypeList.contains(Adm.class)); // test with multipleplacetype with wrong values request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.PLACETYPE_PARAMETER, new String[] { "city", "unk" }); query = buildQuery(request); assertEquals(FulltextQuery.PLACETYPE_PARAMETER + " should accept several placetype ", 2, query.getPlaceTypes().length); placetypeList = Arrays.asList(query.getPlaceTypes()); assertTrue(FulltextQuery.PLACETYPE_PARAMETER + " should accept several placetype ", placetypeList.contains(City.class)); assertTrue(FulltextQuery.PLACETYPE_PARAMETER + " should accept several placetype ", placetypeList.contains(null)); // test output style // with no value specified request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.removeParameter(FulltextQuery.STYLE_PARAMETER); query = buildQuery(request); assertEquals("When no " + FulltextQuery.STYLE_PARAMETER + " is specified, the parameter should be set to " + OutputStyle.getDefault(), OutputStyle.getDefault(), query.getOutputStyle()); // with wrong value request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.STYLE_PARAMETER, "UNK"); query = buildQuery(request); assertEquals("When wrong " + FulltextQuery.STYLE_PARAMETER + " is specified, the parameter should be set to " + OutputStyle.getDefault(), OutputStyle.getDefault(), query.getOutputStyle()); // test case sensitive request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.STYLE_PARAMETER, "medium"); query = buildQuery(request); assertEquals(FulltextQuery.STYLE_PARAMETER + " should be case insensitive ", OutputStyle.MEDIUM, query.getOutputStyle()); // test indentation // with no value specified request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.removeParameter(GisgraphyServlet.INDENT_PARAMETER); query = buildQuery(request); assertEquals( "When no " + GisgraphyServlet.INDENT_PARAMETER + " is specified, the parameter should be set to default", Output.DEFAULT_INDENTATION, query.isOutputIndented()); // with wrong value request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(GisgraphyServlet.INDENT_PARAMETER, "UNK"); query = buildQuery(request); assertEquals( "When wrong " + GisgraphyServlet.INDENT_PARAMETER + " is specified, the parameter should be set to default", Output.DEFAULT_INDENTATION, query.isOutputIndented()); // test case sensitive request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(GisgraphyServlet.INDENT_PARAMETER, "True"); query = buildQuery(request); assertTrue(GisgraphyServlet.INDENT_PARAMETER + " should be case insensitive ", query.isOutputIndented()); // test with on value request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(GisgraphyServlet.INDENT_PARAMETER, "oN"); query = buildQuery(request); assertTrue( GisgraphyServlet.INDENT_PARAMETER + " should be true for 'on' value (case insensitive and on value) ", query.isOutputIndented()); // test suggest // with no value specified request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.removeParameter(FulltextQuery.SUGGEST_PARAMETER); query = buildQuery(request); assertEquals("When no " + FulltextQuery.SUGGEST_PARAMETER + " is specified, the parameter should be set to default", false, query.isSuggest()); // with wrong value request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.SUGGEST_PARAMETER, "UNK"); query = buildQuery(request); assertEquals("When wrong " + FulltextQuery.SUGGEST_PARAMETER + " is specified, the parameter should be set to default", false, query.isSuggest()); // test case sensitive request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.SUGGEST_PARAMETER, "True"); query = buildQuery(request); assertTrue(FulltextQuery.SUGGEST_PARAMETER + " should be case insensitive ", query.isSuggest()); // test with on value request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.SUGGEST_PARAMETER, "oN"); query = buildQuery(request); assertTrue(FulltextQuery.SUGGEST_PARAMETER + " should be true for 'on' value (case insensitive and on value) ", query.isSuggest()); // test allwordsRequired // with no value specified request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.removeParameter(FulltextQuery.ALLWORDSREQUIRED_PARAMETER); query = buildQuery(request); assertEquals( "When no " + FulltextQuery.ALLWORDSREQUIRED_PARAMETER + " is specified, the parameter should be set to default", FulltextQuery.ALL_WORDS_REQUIRED_DEFAULT_OPTION, query.isAllwordsRequired()); // with wrong value request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.ALLWORDSREQUIRED_PARAMETER, "UNK"); query = buildQuery(request); assertEquals( "When wrong " + FulltextQuery.ALLWORDSREQUIRED_PARAMETER + " is specified, the parameter should be set to default", FulltextQuery.ALL_WORDS_REQUIRED_DEFAULT_OPTION, query.isAllwordsRequired()); // test case sensitive request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.ALLWORDSREQUIRED_PARAMETER, "False"); query = buildQuery(request); assertFalse(FulltextQuery.ALLWORDSREQUIRED_PARAMETER + " should be case insensitive ", query.isAllwordsRequired()); // test with on value request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.ALLWORDSREQUIRED_PARAMETER, "oN"); query = buildQuery(request); assertTrue( FulltextQuery.ALLWORDSREQUIRED_PARAMETER + " should be true for 'on' value (case insensitive and on value) ", query.isAllwordsRequired()); // test spellchecking // with no value specified request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.removeParameter(FulltextQuery.SPELLCHECKING_PARAMETER); query = buildQuery(request); assertEquals( "When no " + FulltextQuery.SPELLCHECKING_PARAMETER + " is specified, the parameter should be the default one", SpellCheckerConfig.activeByDefault, query.hasSpellChecking()); // with wrong value request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.SPELLCHECKING_PARAMETER, "UNK"); query = buildQuery(request); assertEquals( "When wrong " + FulltextQuery.SPELLCHECKING_PARAMETER + " is specified, the parameter should be set to the default one", SpellCheckerConfig.activeByDefault, query.hasSpellChecking()); // test case sensitive request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.SPELLCHECKING_PARAMETER, String.valueOf(!SpellCheckerConfig.activeByDefault).toUpperCase()); query = buildQuery(request); assertEquals(FulltextQuery.SPELLCHECKING_PARAMETER + " should be case insensitive ", !SpellCheckerConfig.activeByDefault, query.hasSpellChecking()); // test with on value boolean savedSpellCheckingValue = SpellCheckerConfig.activeByDefault; try { SpellCheckerConfig.activeByDefault = false; request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.SPELLCHECKING_PARAMETER, "oN"); query = buildQuery(request); assertTrue( FulltextQuery.SPELLCHECKING_PARAMETER + " should be true for 'on' value (case insensitive and on value) ", query.hasSpellChecking()); } catch (RuntimeException e) { Assert.fail(e.getMessage()); } finally { //reset the last value SpellCheckerConfig.activeByDefault = savedSpellCheckingValue; } //apiKey request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(GisgraphyServlet.APIKEY_PARAMETER, "apiKey"); query = buildQuery(request); Assert.assertEquals("apiKey", query.getApikey()); // test query //test with good value request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); query = buildQuery(request); assertEquals("query should be set when specified", request.getParameter(FulltextQuery.QUERY_PARAMETER), query.getQuery()); // With no value specified request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.removeParameter(FulltextQuery.QUERY_PARAMETER); try { query = buildQuery(request); fail("A null query should throw"); } catch (RuntimeException e) { } // empty string request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.QUERY_PARAMETER, " "); try { query = buildQuery(request); fail("An empty query should throw"); } catch (RuntimeException e) { } // too long string request = GisgraphyTestHelper.createMockHttpServletRequestForFullText(); request.setParameter(FulltextQuery.QUERY_PARAMETER, RandomStringUtils.random(FulltextQuery.QUERY_MAX_LENGTH) + 1); try { query = buildQuery(request); fail("query must have a maximmum length of " + FulltextQuery.QUERY_MAX_LENGTH); } catch (RuntimeException e) { } }
From source file:org.openmrs.web.controller.ConceptFormControllerTest.java
/** * Checks that the conceptId query param gets a concept from the database * /* ww w. j av a 2 s .c o m*/ * @throws Exception */ @Test public void shouldGetConcept() throws Exception { MockHttpServletRequest request = new MockHttpServletRequest("GET", ""); request.setParameter("conceptId", "3"); HttpServletResponse response = new MockHttpServletResponse(); ConceptFormController controller = (ConceptFormController) applicationContext.getBean("conceptForm"); ModelAndView modelAndView = controller.handleRequest(request, response); // make sure there is an "conceptId" filled in on the concept ConceptFormBackingObject command = (ConceptFormBackingObject) modelAndView.getModel().get("command"); Assert.assertNotNull(command.getConcept().getConceptId()); }
From source file:org.openmrs.module.htmlformentry19ext.IntegrationTest.java
@Test public void encounterProviderAndRole_testRemovingProviderFromEncounter() throws Exception { final Date date = new Date(); new RegressionTestHelper() { @Override/* ww w . j a v a 2 s . co m*/ protected String getXmlDatasetPath() { return "org/openmrs/module/htmlformentry19ext/include/"; } @Override public String getFormName() { return "specifyingEncounterRoleTwiceWithSameRole"; } @Override public String[] widgetLabels() { return new String[] { "Date:", "Location:", "Doctors:", "Doctors:!!1" }; } @Override public void setupRequest(MockHttpServletRequest request, Map<String, String> widgets) { // first set two providers request.addParameter(widgets.get("Date:"), dateAsString(date)); request.addParameter(widgets.get("Location:"), "2"); request.addParameter(widgets.get("Doctors:"), "2"); // Doctor Bob request.addParameter(widgets.get("Doctors:!!1"), "1"); // Superuser } @Override public boolean doEditEncounter() { return true; } @Override public String[] widgetLabelsForEdit() { return new String[] { "Date:", "Location:", "Doctors:", "Doctors:!!1" }; } @Override public void setupEditRequest(MockHttpServletRequest request, Map<String, String> widgets) { // now, in the edit request, only set a single provider request.setParameter(widgets.get("Doctors:"), "1"); // Superuser request.setParameter(widgets.get("Doctors:!!1"), ""); // set the second doctor field blank } @Override public void testEditedResults(SubmissionResults results) { results.assertNoErrors(); results.assertLocation(2); Map<EncounterRole, Set<Provider>> byRoles = results.getEncounterCreated().getProvidersByRoles(); Assert.assertEquals(1, byRoles.size()); Set<Provider> doctors = byRoles.get(Context.getEncounterService().getEncounterRole(3)); Assert.assertEquals(1, doctors.size()); Assert.assertEquals(1, doctors.size()); Assert.assertEquals(new Integer(1), doctors.iterator().next().getId()); } }.run(); }
From source file:org.openmrs.web.controller.ConceptFormControllerTest.java
/** * @see ConceptFormController#onSubmit(HttpServletRequest,HttpServletResponse,Object,BindException) * @verifies not save changes if there are validation errors *//* w w w. jav a 2 s. c o m*/ @Test public void onSubmit_shouldNotSaveChangesIfThereAreValidationErrors() throws Exception { Integer conceptId = 792; MockHttpServletRequest request = new MockHttpServletRequest("POST", "/dictionary/concept.form"); request.setParameter("conceptId", conceptId.toString()); request.setParameter("namesByLocale[en_GB].name", "should not change"); request.setParameter("preferredNamesByLocale[en_GB]", "should not change"); request.setParameter("synonymsByLocale[en_GB][1].name", ""); //empty name is invalid request.setParameter("synonymsByLocale[en_GB][1].voided", "false"); Response response = webTestHelper.handle(request); assertThat(response.getErrors().hasFieldErrors("synonymsByLocale[en_GB][1].name"), is(true)); Context.clearSession(); Concept concept = conceptService.getConcept(conceptId); assertThat(concept.getPreferredName(britishEn).getName(), is("STAVUDINE LAMIVUDINE AND NEVIRAPINE")); }
From source file:org.openmrs.web.controller.ConceptFormControllerTest.java
/** * @see ConceptFormController#onSubmit(HttpServletRequest,HttpServletResponse,Object,BindException) *//*from w w w . j a v a 2 s.c om*/ @Test @Verifies(value = "should return a concept with a null id if no match is found", method = "onSubmit(HttpServletRequest,HttpServletResponse,Object,BindException)") public void onSubmit_shouldReturnAConceptWithANullIdIfNoMatchIsFound() throws Exception { ConceptFormController conceptFormController = (ConceptFormController) applicationContext .getBean("conceptForm"); MockHttpServletRequest mockRequest = new MockHttpServletRequest(); mockRequest.setMethod("GET"); mockRequest.setParameter("conceptId", "57432223"); ModelAndView mav = conceptFormController.handleRequest(mockRequest, new MockHttpServletResponse()); assertNotNull(mav); ConceptFormBackingObject formBackingObject = (ConceptFormBackingObject) mav.getModel().get("command"); assertNotNull(formBackingObject.getConcept()); assertNull(formBackingObject.getConcept().getConceptId()); }