@Override public Parameters getParameters() { return this.delegate.getParameters(); }
private String getUrl(OperationRequest request) { Parameters uniqueParameters = request.getParameters() .getUniqueParameters(request.getUri()); if (!uniqueParameters.isEmpty() && includeParametersInUri(request)) { return String.format("'%s%s%s'", request.getUri(), StringUtils.hasText(request.getUri().getRawQuery()) ? "&" : "?", uniqueParameters.toQueryString()); } return String.format("'%s'", request.getUri()); }
private void writeOptions(OperationRequest request, PrintWriter writer) { if (!request.getParts().isEmpty() || (!request.getParameters().getUniqueParameters(request.getUri()) .isEmpty() && !includeParametersInUri(request) && includeParametersAsFormOptions(request))) { writer.print("--form "); } }
private String getUrl(Operation operation) { OperationRequest request = operation.getRequest(); Parameters uniqueParameters = request.getParameters() .getUniqueParameters(operation.getRequest().getUri()); if (!uniqueParameters.isEmpty() && includeParametersInUri(request)) { return String.format("'%s%s%s'", request.getUri(), StringUtils.hasText(request.getUri().getRawQuery()) ? "&" : "?", uniqueParameters.toQueryString()); } return String.format("'%s'", request.getUri()); }
@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); }
private boolean requiresFormEncodingContentTypeHeader(OperationRequest request) { return request.getHeaders().get(HttpHeaders.CONTENT_TYPE) == null && isPutOrPost(request) && (!request.getParameters().isEmpty() && !includeParametersInUri(request)); }
@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 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")); }
/** * Creates a new {@code OperationRequest} based on the given {@code original} but with * the given {@code newHeaders}. * @param original the original request * @param newHeaders the new headers * @return the new request with the new headers */ public OperationRequest createFrom(OperationRequest original, HttpHeaders newHeaders) { return new StandardOperationRequest(original.getUri(), original.getMethod(), original.getContent(), newHeaders, original.getParameters(), original.getParts(), original.getCookies()); }
@Test public void formParameters() { RequestSpecification requestSpec = RestAssured.given().port(tomcat.getPort()) .formParam("foo", "bar"); requestSpec.get("/"); OperationRequest request = this.factory .convert((FilterableRequestSpecification) requestSpec); assertThat(request.getParameters()).hasSize(1); assertThat(request.getParameters()).containsEntry("foo", Collections.singletonList("bar")); }
@Test public void requestParameters() { RequestSpecification requestSpec = RestAssured.given().port(tomcat.getPort()) .param("foo", "bar"); requestSpec.get("/"); OperationRequest request = this.factory .convert((FilterableRequestSpecification) requestSpec); assertThat(request.getParameters()).hasSize(1); assertThat(request.getParameters()).containsEntry("foo", Collections.singletonList("bar")); }
/** * Creates a new {@code OperationRequest} based on the given {@code original} but with * the given {@code newContent}. If the original request had a {@code Content-Length} * header it will be modified to match the length of the new content. * @param original the original request * @param newContent the new content * @return the new request with the new content */ public OperationRequest createFrom(OperationRequest original, byte[] newContent) { return new StandardOperationRequest(original.getUri(), original.getMethod(), newContent, getUpdatedHeaders(original.getHeaders(), newContent), original.getParameters(), original.getParts(), original.getCookies()); }
@Test public void removeParameterValueForNonExistentParameter() { Parameters parameters = new Parameters(); assertThat(this.preprocessor.remove("a", "apple") .preprocess(createRequest(parameters)).getParameters().size()) .isEqualTo(0); }
@Test public void setNewParameter() { Parameters parameters = new Parameters(); assertThat(this.preprocessor.set("a", "alpha", "avocado") .preprocess(createRequest(parameters)).getParameters()).containsEntry("a", Arrays.asList("alpha", "avocado")); }
@Test public void removeNonExistentParameter() { Parameters parameters = new Parameters(); assertThat(this.preprocessor.remove("a").preprocess(createRequest(parameters)) .getParameters().size()).isEqualTo(0); }
@Test public void addValueToExistingParameter() { Parameters parameters = new Parameters(); parameters.add("a", "apple"); assertThat(this.preprocessor.add("a", "alpha") .preprocess(createRequest(parameters)).getParameters()).containsEntry("a", Arrays.asList("apple", "alpha")); }
@Test public void removeParameter() { Parameters parameters = new Parameters(); parameters.add("a", "apple"); assertThat(this.preprocessor.set("a", "alpha", "avocado") .preprocess(createRequest(parameters)).getParameters()).containsEntry("a", Arrays.asList("alpha", "avocado")); }
@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); }
@Test public void setExistingParameter() { Parameters parameters = new Parameters(); parameters.add("a", "apple"); assertThat(this.preprocessor.set("a", "alpha", "avocado") .preprocess(createRequest(parameters)).getParameters()).containsEntry("a", Arrays.asList("alpha", "avocado")); }
@Test public void removeParameterValueWithMultipleValues() { Parameters parameters = new Parameters(); parameters.add("a", "apple"); parameters.add("a", "alpha"); assertThat(this.preprocessor.remove("a", "apple") .preprocess(createRequest(parameters)).getParameters()).containsEntry("a", Arrays.asList("alpha")); }