Remove Accept: */* header from REST Assured requests

Closes gh-404
This commit is contained in:
Andy Wilkinson
2017-07-01 16:05:31 +01:00
parent eac0e2c2d3
commit 214c068ece
4 changed files with 46 additions and 4 deletions

View File

@@ -126,11 +126,18 @@ class RestAssuredRequestConverter
private HttpHeaders extractHeaders(FilterableRequestSpecification requestSpec) {
HttpHeaders httpHeaders = new HttpHeaders();
for (Header header : requestSpec.getHeaders()) {
httpHeaders.add(header.getName(), header.getValue());
if (!isAllMediaTypesAcceptHeader(header)) {
httpHeaders.add(header.getName(), header.getValue());
}
}
return httpHeaders;
}
private boolean isAllMediaTypesAcceptHeader(Header header) {
return HttpHeaders.ACCEPT.equals(header.getName())
&& "*/*".equals(header.getValue());
}
private Parameters extractParameters(FilterableRequestSpecification requestSpec) {
Parameters parameters = new Parameters();
for (Entry<String, ?> entry : requestSpec.getQueryParams().entrySet()) {

View File

@@ -125,11 +125,18 @@ class RestAssuredRequestConverter
private HttpHeaders extractHeaders(FilterableRequestSpecification requestSpec) {
HttpHeaders httpHeaders = new HttpHeaders();
for (Header header : requestSpec.getHeaders()) {
httpHeaders.add(header.getName(), header.getValue());
if (!isAllMediaTypesAcceptHeader(header)) {
httpHeaders.add(header.getName(), header.getValue());
}
}
return httpHeaders;
}
private boolean isAllMediaTypesAcceptHeader(Header header) {
return HttpHeaders.ACCEPT.equals(header.getName())
&& "*/*".equals(header.getValue());
}
private Parameters extractParameters(FilterableRequestSpecification requestSpec) {
Parameters parameters = new Parameters();
for (Entry<String, ?> entry : requestSpec.getQueryParams().entrySet()) {

View File

@@ -125,11 +125,25 @@ public class RestAssuredRequestConverterTests {
RequestSpecification requestSpec = RestAssured.given().port(tomcat.getPort())
.header("Foo", "bar");
requestSpec.get("/");
OperationRequest request = this.factory
.convert((FilterableRequestSpecification) requestSpec);
assertThat(request.getHeaders().toString(), request.getHeaders().size(), is(2));
assertThat(request.getHeaders().get("Foo"), is(equalTo(Arrays.asList("bar"))));
assertThat(request.getHeaders().get("Host"),
is(equalTo(Arrays.asList("localhost:" + tomcat.getPort()))));
}
@Test
public void headersWithCustomAccept() {
RequestSpecification requestSpec = RestAssured.given().port(tomcat.getPort())
.header("Foo", "bar").accept("application/json");
requestSpec.get("/");
OperationRequest request = this.factory
.convert((FilterableRequestSpecification) requestSpec);
assertThat(request.getHeaders().toString(), request.getHeaders().size(), is(3));
assertThat(request.getHeaders().get("Foo"), is(equalTo(Arrays.asList("bar"))));
assertThat(request.getHeaders().get("Accept"), is(equalTo(Arrays.asList("*/*"))));
assertThat(request.getHeaders().get("Accept"),
is(equalTo(Arrays.asList("application/json"))));
assertThat(request.getHeaders().get("Host"),
is(equalTo(Arrays.asList("localhost:" + tomcat.getPort()))));
}

View File

@@ -125,11 +125,25 @@ public class RestAssuredRequestConverterTests {
RequestSpecification requestSpec = RestAssured.given().port(tomcat.getPort())
.header("Foo", "bar");
requestSpec.get("/");
OperationRequest request = this.factory
.convert((FilterableRequestSpecification) requestSpec);
assertThat(request.getHeaders().toString(), request.getHeaders().size(), is(2));
assertThat(request.getHeaders().get("Foo"), is(equalTo(Arrays.asList("bar"))));
assertThat(request.getHeaders().get("Host"),
is(equalTo(Arrays.asList("localhost:" + tomcat.getPort()))));
}
@Test
public void headersWithCustomAccept() {
RequestSpecification requestSpec = RestAssured.given().port(tomcat.getPort())
.header("Foo", "bar").accept("application/json");
requestSpec.get("/");
OperationRequest request = this.factory
.convert((FilterableRequestSpecification) requestSpec);
assertThat(request.getHeaders().toString(), request.getHeaders().size(), is(3));
assertThat(request.getHeaders().get("Foo"), is(equalTo(Arrays.asList("bar"))));
assertThat(request.getHeaders().get("Accept"), is(equalTo(Arrays.asList("*/*"))));
assertThat(request.getHeaders().get("Accept"),
is(equalTo(Arrays.asList("application/json"))));
assertThat(request.getHeaders().get("Host"),
is(equalTo(Arrays.asList("localhost:" + tomcat.getPort()))));
}