Skip to content

Commit d6b3706

Browse files
authored
[Testing] Refactor RestActionTests to cover all rest methods (#74489)
Refactoring RestGetActionTests and RestGestSourceActionTests to remove duplicated code. Previously the tests would fail if rest request was sent twice to RestController. This was fixed in #74293 and the refactoring is possible now
1 parent 6887604 commit d6b3706

File tree

2 files changed

+27
-48
lines changed

2 files changed

+27
-48
lines changed

server/src/test/java/org/elasticsearch/rest/action/document/RestGetActionTests.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,19 +35,16 @@ public void setUpAction() {
3535
});
3636
}
3737

38-
public void testTypeInPathWithGet() {
39-
FakeRestRequest.Builder deprecatedRequest = new FakeRestRequest.Builder(xContentRegistry()).withHeaders(
40-
Map.of("Content-Type", contentTypeHeader, "Accept", contentTypeHeader)
41-
).withPath("/some_index/some_type/some_id");
42-
dispatchRequest(deprecatedRequest.withMethod(RestRequest.Method.GET).build());
43-
assertWarnings(RestGetAction.TYPES_DEPRECATION_MESSAGE);
38+
public void testTypeInPath() {
39+
testTypeInPath(RestRequest.Method.GET);
40+
testTypeInPath(RestRequest.Method.HEAD);
4441
}
4542

46-
public void testTypeInPathWithHead() {
43+
private void testTypeInPath(RestRequest.Method method) {
4744
FakeRestRequest.Builder deprecatedRequest = new FakeRestRequest.Builder(xContentRegistry()).withHeaders(
4845
Map.of("Content-Type", contentTypeHeader, "Accept", contentTypeHeader)
4946
).withPath("/some_index/some_type/some_id");
50-
dispatchRequest(deprecatedRequest.withMethod(RestRequest.Method.HEAD).build());
47+
dispatchRequest(deprecatedRequest.withMethod(method).build());
5148
assertWarnings(RestGetAction.TYPES_DEPRECATION_MESSAGE);
5249
}
5350
}

server/src/test/java/org/elasticsearch/rest/action/document/RestGetSourceActionTests.java

Lines changed: 22 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.junit.Before;
2626
import org.mockito.Mockito;
2727

28+
import java.util.Arrays;
2829
import java.util.Collections;
2930
import java.util.HashMap;
3031
import java.util.List;
@@ -92,53 +93,34 @@ public void testRestGetSourceActionWithMissingDocumentSource() {
9293
/**
9394
* test deprecation is logged if type is used in path
9495
*/
95-
public void testTypeInGetPath() {
96-
RestRequest request = new FakeRestRequest.Builder(xContentRegistry())
97-
.withHeaders(Map.of("Accept", compatibleMediaType))
98-
.withMethod(RestRequest.Method.HEAD)
99-
.withPath("/some_index/some_type/id/_source")
100-
.build();
101-
dispatchRequest(request);
102-
assertWarnings(RestGetSourceAction.TYPES_DEPRECATION_MESSAGE);
103-
}
104-
105-
public void testTypeInHeadPath() {
106-
RestRequest request = new FakeRestRequest.Builder(xContentRegistry())
107-
.withHeaders(Map.of("Accept", compatibleMediaType))
108-
.withMethod(RestRequest.Method.GET)
109-
.withPath("/some_index/some_type/id/_source")
110-
.build();
111-
dispatchRequest(request);
112-
assertWarnings(RestGetSourceAction.TYPES_DEPRECATION_MESSAGE);
96+
public void testTypeInPath() {
97+
for (RestRequest.Method method : Arrays.asList(RestRequest.Method.GET, RestRequest.Method.HEAD)) {
98+
RestRequest request = new FakeRestRequest.Builder(xContentRegistry())
99+
.withHeaders(Map.of("Accept", compatibleMediaType))
100+
.withMethod(method)
101+
.withPath("/some_index/some_type/id/_source")
102+
.build();
103+
dispatchRequest(request);
104+
assertWarnings(RestGetSourceAction.TYPES_DEPRECATION_MESSAGE);
105+
}
113106
}
114107

115108
/**
116109
* test deprecation is logged if type is used as parameter
117110
*/
118-
public void testTypeParameterAndGet() {
119-
Map<String, String> params = new HashMap<>();
120-
params.put("type", "some_type");
121-
RestRequest request = new FakeRestRequest.Builder(xContentRegistry())
122-
.withHeaders(Map.of("Accept", compatibleMediaType))
123-
.withMethod(RestRequest.Method.GET)
124-
.withPath("/some_index/_source/id")
125-
.withParams(params)
126-
.build();
127-
dispatchRequest(request);
128-
assertWarnings(RestGetSourceAction.TYPES_DEPRECATION_MESSAGE);
129-
}
130-
131-
public void testTypeParameterAndHead() {
111+
public void testTypeParameter() {
132112
Map<String, String> params = new HashMap<>();
133113
params.put("type", "some_type");
134-
RestRequest request = new FakeRestRequest.Builder(xContentRegistry())
135-
.withHeaders(Map.of("Accept", compatibleMediaType))
136-
.withMethod(RestRequest.Method.HEAD)
137-
.withPath("/some_index/_source/id")
138-
.withParams(params)
139-
.build();
140-
dispatchRequest(request);
141-
assertWarnings(RestGetSourceAction.TYPES_DEPRECATION_MESSAGE);
114+
for (RestRequest.Method method : Arrays.asList(RestRequest.Method.GET, RestRequest.Method.HEAD)) {
115+
RestRequest request = new FakeRestRequest.Builder(xContentRegistry())
116+
.withHeaders(Map.of("Accept", compatibleMediaType))
117+
.withMethod(method)
118+
.withPath("/some_index/_source/id")
119+
.withParams(params)
120+
.build();
121+
dispatchRequest(request);
122+
assertWarnings(RestGetSourceAction.TYPES_DEPRECATION_MESSAGE);
123+
}
142124
}
143125

144126
}

0 commit comments

Comments
 (0)