@Test public void noParameters() { Parameters parameters = this.queryStringParser .parse(URI.create("http://localhost")); assertThat(parameters.size()).isEqualTo(0); }
@Test public void encoded() { Parameters parameters = this.queryStringParser .parse(URI.create("http://localhost?a=al%26%3Dpha")); assertThat(parameters.size()).isEqualTo(1); assertThat(parameters).containsEntry("a", Arrays.asList("al&=pha")); }
@Test public void multipleParametersWithSameKey() { Parameters parameters = this.queryStringParser .parse(URI.create("http://localhost?a=apple&a=avocado")); assertThat(parameters.size()).isEqualTo(1); assertThat(parameters).containsEntry("a", Arrays.asList("apple", "avocado")); }
@Test public void singleParameter() { Parameters parameters = this.queryStringParser .parse(URI.create("http://localhost?a=alpha")); assertThat(parameters.size()).isEqualTo(1); assertThat(parameters).containsEntry("a", Arrays.asList("alpha")); }
@Test public void multipleParameters() { Parameters parameters = this.queryStringParser .parse(URI.create("http://localhost?a=alpha&b=bravo&c=charlie")); assertThat(parameters.size()).isEqualTo(3); assertThat(parameters).containsEntry("a", Arrays.asList("alpha")); assertThat(parameters).containsEntry("b", Arrays.asList("bravo")); assertThat(parameters).containsEntry("c", Arrays.asList("charlie")); }
@Test public void getRequestWithQueryStringPopulatesParameters() throws Exception { OperationRequest request = createOperationRequest( MockMvcRequestBuilders.get("/foo?a=alpha&b=bravo")); assertThat(request.getUri()) .isEqualTo(URI.create("http://localhost/foo?a=alpha&b=bravo")); assertThat(request.getParameters().size()).isEqualTo(2); assertThat(request.getParameters()).containsEntry("a", Arrays.asList("alpha")); assertThat(request.getParameters()).containsEntry("b", Arrays.asList("bravo")); assertThat(request.getMethod()).isEqualTo(HttpMethod.GET); }
@Test public void postRequestWithParameters() throws Exception { OperationRequest request = createOperationRequest(MockMvcRequestBuilders .post("/foo").param("a", "alpha", "apple").param("b", "br&vo")); assertThat(request.getUri()).isEqualTo(URI.create("http://localhost/foo")); assertThat(request.getMethod()).isEqualTo(HttpMethod.POST); assertThat(request.getParameters().size()).isEqualTo(2); assertThat(request.getParameters()).containsEntry("a", Arrays.asList("alpha", "apple")); assertThat(request.getParameters()).containsEntry("b", Arrays.asList("br&vo")); }
@Test public void getRequestWithParametersProducesUriWithQueryString() throws Exception { OperationRequest request = createOperationRequest(MockMvcRequestBuilders .get("/foo").param("a", "alpha", "apple").param("b", "br&vo")); assertThat(request.getUri()) .isEqualTo(URI.create("http://localhost/foo?a=alpha&a=apple&b=br%26vo")); assertThat(request.getParameters().size()).isEqualTo(2); assertThat(request.getParameters()).containsEntry("a", Arrays.asList("alpha", "apple")); assertThat(request.getParameters()).containsEntry("b", Arrays.asList("br&vo")); assertThat(request.getMethod()).isEqualTo(HttpMethod.GET); }
@Test public void removeParameterValueForNonExistentParameter() { Parameters parameters = new Parameters(); assertThat(this.preprocessor.remove("a", "apple") .preprocess(createRequest(parameters)).getParameters().size()) .isEqualTo(0); }
@Test public void removeNonExistentParameter() { Parameters parameters = new Parameters(); assertThat(this.preprocessor.remove("a").preprocess(createRequest(parameters)) .getParameters().size()).isEqualTo(0); }
@Test public void removeParameterValueWithSingleValueRemovesEntryEntirely() { Parameters parameters = new Parameters(); parameters.add("a", "apple"); assertThat(this.preprocessor.remove("a", "apple") .preprocess(createRequest(parameters)).getParameters().size()) .isEqualTo(0); }