use of org.opensearch.client.opensearch.experiments.base.Client in project opensearch-java by opensearch-project.
the class ClientTests method testClient.
@Test
public void testClient() throws Exception {
Client client = new Client() {
@Override
protected <RequestT, ResponseT, ErrorT> ResponseT performRequest(RequestT request, Endpoint<RequestT, ResponseT, ErrorT> endpoint) throws IOException {
// don't care for now, we're testing compilation
return null;
}
};
client.foo(fb -> fb.name("z").value(1).routing("fooo").query(q -> q.bool(b -> b.add_must(m -> m.terms((TermsQuery) null))).meta(Collections.emptyMap())));
// Builders everywhere
FooResponse r1 = client.foo(FooRequest.builder().name("z").value(1).bar(Bar.builder().name("Raise the bar").build()).build());
// Illustrates creating an object outside of the client call
TermsQuery filter = TermsQuery.builder().field("foo").term("bar").build();
Query filter2 = new Query.Builder().terms(t -> t.field("foo").term("bar")).build();
// Fluid lambda-based builders
FooResponse r2 = client.foo(f -> f.name("z").value(1).bar(bar -> bar.name("Raise the bar")).query(q -> q.bool(b -> b.add_must(q1 -> q1.terms(filter)).add_must(q1 -> q1.terms(t -> t.field("a").term("b"))).add_must(q1 -> q1.terms(t -> t.field("a").term("b"))).minimumShouldMatch(2))));
}
Aggregations