diff --git a/java-client/src/test/java/org/opensearch/client/opensearch/_types/InlineGetTest.java b/java-client/src/test/java/org/opensearch/client/opensearch/_types/InlineGetTest.java new file mode 100644 index 0000000000..b9aa9b1a8b --- /dev/null +++ b/java-client/src/test/java/org/opensearch/client/opensearch/_types/InlineGetTest.java @@ -0,0 +1,68 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.opensearch._types; + +import static org.junit.Assert.assertEquals; + +import java.io.StringReader; + +import org.junit.Test; +import org.opensearch.client.json.JsonpDeserializer; +import org.opensearch.client.json.jackson.JacksonJsonpMapper; +import org.opensearch.client.json.jsonb.JsonbJsonpMapper; +import org.opensearch.client.opensearch.model.ModelTestCase; + +import jakarta.json.stream.JsonParser; + +public class InlineGetTest extends ModelTestCase { + @Test + public void testInlineGet_withSource() { + final InlineGet inlineGet = InlineGet.of(b -> b + .found(true) + .seqNo(1L) + .primaryTerm(2L) + .routing("routing") + .source("{\"name\":\"John Doe\"}")); + + final String jsonString = "{\"found\":true,\"_seq_no\":1,\"_primary_term\":2,\"_routing\":\"routing\"," + + "\"_source\":\"{\\\"name\\\":\\\"John Doe\\\"}\"}"; + + final StringReader reader = new StringReader(jsonString); + final JacksonJsonpMapper mapper = new JacksonJsonpMapper(); + final JsonParser parser = mapper.jsonProvider().createParser(reader); + final InlineGet actual = InlineGet.createInlineGetDeserializer(JsonpDeserializer.jsonValueDeserializer()) + .deserialize(parser, mapper); + assertEquals(inlineGet.found(), actual.found()); + assertEquals(inlineGet.seqNo(), actual.seqNo()); + assertEquals(inlineGet.primaryTerm(), actual.primaryTerm()); + assertEquals(inlineGet.routing(), actual.routing()); + assertEquals(inlineGet.source(), actual.source()); + } + + @Test + public void testInlineGet_withoutSource() { + final InlineGet inlineGet = InlineGet.of(b -> b + .found(true) + .seqNo(1L) + .primaryTerm(2L) + .routing("routing")); + + final String jsonString = "{\"found\":true,\"_seq_no\":1,\"_primary_term\":2,\"_routing\":\"routing\"}"; + + final StringReader reader = new StringReader(jsonString); + final JacksonJsonpMapper mapper = new JacksonJsonpMapper(); + final JsonParser parser = mapper.jsonProvider().createParser(reader); + final InlineGet actual = InlineGet.createInlineGetDeserializer(JsonpDeserializer.jsonValueDeserializer()) + .deserialize(parser, mapper); + assertEquals(inlineGet.found(), actual.found()); + assertEquals(inlineGet.seqNo(), actual.seqNo()); + assertEquals(inlineGet.primaryTerm(), actual.primaryTerm()); + assertEquals(inlineGet.routing(), actual.routing()); + } +}