diff --git a/java-client/src/test/java/org/opensearch/client/opensearch/model/BehaviorsTest.java b/java-client/src/test/java/org/opensearch/client/opensearch/model/BehaviorsTest.java index c3e35373fa..cd10c73915 100644 --- a/java-client/src/test/java/org/opensearch/client/opensearch/model/BehaviorsTest.java +++ b/java-client/src/test/java/org/opensearch/client/opensearch/model/BehaviorsTest.java @@ -37,12 +37,14 @@ import org.opensearch.client.opensearch._types.ErrorCause; import org.opensearch.client.opensearch._types.FieldValue; import org.opensearch.client.opensearch._types.GeoLocation; +import org.opensearch.client.opensearch._types.GeoShapeRelation; import org.opensearch.client.opensearch._types.SortOptions; import org.opensearch.client.opensearch._types.SortOptionsBuilders; import org.opensearch.client.opensearch._types.SortOrder; import org.opensearch.client.opensearch._types.query_dsl.Query; import org.opensearch.client.opensearch._types.query_dsl.TermQuery; import org.opensearch.client.opensearch._types.query_dsl.WrapperQuery; +import org.opensearch.client.opensearch._types.query_dsl.XyShapeQuery; import org.opensearch.client.util.MapBuilder; public class BehaviorsTest extends ModelTestCase { @@ -58,6 +60,22 @@ public void testSingleKeyDictionary() { assertEquals("some-value", q.value().stringValue()); } + @Test + public void testAdditionalPropertyOnClass() { + XyShapeQuery q = new XyShapeQuery.Builder().queryName("query-name") + .field("field-name") + .xyShape(_0 -> _0.relation(GeoShapeRelation.Disjoint)) + .ignoreUnmapped(true) + .build(); + + q = checkJsonRoundtrip(q, "{\"field-name\":{\"relation\":\"disjoint\"},\"_name\":\"query-name\",\"ignore_unmapped\":true}"); + + assertEquals("query-name", q.queryName()); + assertTrue(q.ignoreUnmapped()); + assertEquals(GeoShapeRelation.Disjoint, q.xyShape().relation()); + System.out.println(toJson(q)); + } + @Test public void testWrapperQuery() { WrapperQuery q = new WrapperQuery.Builder().query("encoded_query").build();