Skip to content

Commit aa9f389

Browse files
committed
add itest for JsonData deserialization
Signed-off-by: bfindlay <[email protected]>
1 parent cb4ffe0 commit aa9f389

File tree

3 files changed

+90
-0
lines changed

3 files changed

+90
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
package org.opensearch.client.opensearch.integTest;
2+
3+
import org.junit.Test;
4+
import org.opensearch.client.opensearch.tasks.Status;
5+
6+
public abstract class AbstractTasksIT extends OpenSearchJavaClientTestCase {
7+
8+
@Test
9+
public void getTasks_waitForCompletionFalse_jsonDataStatusCanBeDeserialized() {
10+
try {
11+
javaClient().indices().create(b -> b.index("test-index-a").settings(s -> s.refreshInterval(v -> v.time("1s"))));
12+
javaClient().index(b -> b.index("test-index-a").id("a").document(new IndexData("test")));
13+
javaClient().indices().refresh(b -> b.index("test-index-a"));
14+
15+
final var deleteByQueryResponse = javaClient().deleteByQuery(
16+
d -> d.index("test-index-a").query(q -> q.matchAll(m -> m.queryName("match-all"))).waitForCompletion(false)
17+
);
18+
19+
javaClient().indices().refresh(b -> b.index("test-index-a"));
20+
21+
Thread.sleep(2000);
22+
final var tasksResponse = javaClient().tasks().get(t -> t.taskId(deleteByQueryResponse.task()));
23+
24+
assertNotNull(tasksResponse.response());
25+
assertTrue(tasksResponse.completed());
26+
27+
// Deserialize the JsonData to a typed Status response
28+
final Status taskStatus = tasksResponse.task().status().to(Status.class);
29+
30+
assertTrue(tasksResponse.completed());
31+
32+
// Ensure the JsonData can be deserialized
33+
assertEquals(1, taskStatus.total());
34+
assertEquals(0, taskStatus.updated());
35+
assertEquals(0, taskStatus.created());
36+
assertEquals(1, taskStatus.deleted());
37+
assertEquals(1, taskStatus.batches());
38+
assertEquals(0, taskStatus.noops());
39+
assertEquals(0, taskStatus.versionConflicts());
40+
assertEquals(0, taskStatus.retries().bulk());
41+
assertEquals(0, taskStatus.retries().search());
42+
assertEquals(0, taskStatus.throttledMillis());
43+
assertEquals(-1f, taskStatus.requestsPerSecond(), 0.01);
44+
} catch (Exception e) {
45+
fail(e.getMessage());
46+
}
47+
}
48+
49+
public class IndexData {
50+
private String title;
51+
52+
public IndexData(String title) {
53+
this.title = title;
54+
}
55+
56+
public String getTitle() {
57+
return title;
58+
}
59+
60+
public void setTitle(String title) {
61+
this.title = title;
62+
}
63+
64+
@Override
65+
public String toString() {
66+
return String.format("IndexData{title='%s'}", title);
67+
}
68+
}
69+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package org.opensearch.client.opensearch.integTest.httpclient5;
2+
3+
import org.opensearch.client.opensearch.integTest.AbstractTasksIT;
4+
5+
public class TasksIT extends AbstractTasksIT implements HttpClient5TransportSupport {}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package org.opensearch.client.opensearch.integTest.restclient;
2+
3+
import java.io.IOException;
4+
import org.apache.hc.core5.http.HttpHost;
5+
import org.opensearch.client.json.jackson.JacksonJsonpMapper;
6+
import org.opensearch.client.opensearch.integTest.AbstractTasksIT;
7+
import org.opensearch.client.transport.OpenSearchTransport;
8+
import org.opensearch.client.transport.rest_client.RestClientTransport;
9+
import org.opensearch.common.settings.Settings;
10+
11+
public class TasksIT extends AbstractTasksIT {
12+
@Override
13+
public OpenSearchTransport buildTransport(Settings settings, HttpHost[] hosts) throws IOException {
14+
return new RestClientTransport(buildClient(settings, hosts), new JacksonJsonpMapper());
15+
}
16+
}

0 commit comments

Comments
 (0)