Skip to content

Commit 83b3c69

Browse files
committed
Add and update tests
1 parent 9b924bb commit 83b3c69

File tree

2 files changed

+60
-3
lines changed

2 files changed

+60
-3
lines changed

java-client/src/test/java/co/elastic/clients/elasticsearch/json/JsonpUtilsTest.java

Lines changed: 59 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,16 @@
2020
package co.elastic.clients.elasticsearch.json;
2121

2222
import co.elastic.clients.elasticsearch.core.search.Hit;
23+
import co.elastic.clients.elasticsearch.model.ModelTestCase;
24+
import co.elastic.clients.elasticsearch.security.IndexPrivilege;
25+
import co.elastic.clients.elasticsearch.security.IndicesPrivileges;
26+
import co.elastic.clients.elasticsearch.security.RoleTemplateScript;
27+
import co.elastic.clients.elasticsearch.security.UserIndicesPrivileges;
2328
import co.elastic.clients.json.JsonpUtils;
2429
import co.elastic.clients.util.AllowForbiddenApis;
2530
import jakarta.json.JsonException;
2631
import jakarta.json.spi.JsonProvider;
2732
import jakarta.json.stream.JsonGenerator;
28-
import org.junit.jupiter.api.Assertions;
2933
import org.junit.jupiter.api.Test;
3034

3135
import java.io.StringWriter;
@@ -34,7 +38,7 @@
3438
import java.util.Enumeration;
3539
import java.util.function.Consumer;
3640

37-
public class JsonpUtilsTest extends Assertions {
41+
public class JsonpUtilsTest extends ModelTestCase {
3842

3943
@Test
4044
@AllowForbiddenApis("Testing JsonpUtil.provider()")
@@ -142,6 +146,59 @@ public void testSerializeIntOrNull() {
142146
assertEquals("{\"a\":0}", orNullHelper(g -> JsonpUtils.serializeIntOrNull(g, 0, 0)));
143147
}
144148

149+
@Test
150+
public void testJsonString() {
151+
// Single value
152+
{
153+
IndicesPrivileges priv = IndicesPrivileges.of(i -> i
154+
.names("bar")
155+
.query(q -> q.term(t -> t.field("baz").value(1)))
156+
.privileges(IndexPrivilege.All)
157+
);
158+
159+
String json = "{\"names\":[\"bar\"],\"privileges\":[\"all\"],\"query\":\"{\\\"term\\\":{\\\"baz\\\":{\\\"value\\\":1}}}\"}";
160+
161+
assertEquals(json, toJson(priv));
162+
163+
priv = fromJson(json, IndicesPrivileges.class);
164+
assertEquals("baz", priv.query().term().field());
165+
}
166+
167+
// Single value template
168+
{
169+
IndicesPrivileges priv = IndicesPrivileges.of(i -> i
170+
.names("bar")
171+
.query(q -> q._custom("template", RoleTemplateScript.of(s -> s.stored(v -> v.id("foo")))))
172+
.privileges(IndexPrivilege.All)
173+
);
174+
175+
String json = "{\"names\":[\"bar\"],\"privileges\":[\"all\"],\"query\":\"{\\\"template\\\":{\\\"id\\\":\\\"foo\\\"}}\"}";
176+
177+
assertEquals(json, toJson(priv));
178+
179+
priv = fromJson(json, IndicesPrivileges.class);
180+
assertEquals("foo", priv.query()._custom().to(RoleTemplateScript.class).stored().id());
181+
}
182+
183+
// Array value
184+
{
185+
UserIndicesPrivileges priv = UserIndicesPrivileges.of(i -> i
186+
.names("bar")
187+
.query(q -> q.term(t -> t.field("baz").value(1)))
188+
.privileges(IndexPrivilege.All)
189+
.allowRestrictedIndices(false)
190+
);
191+
192+
String json = "{\"names\":[\"bar\"],\"privileges\":[\"all\"],\"query\":[\"{\\\"term\\\":{\\\"baz\\\":{\\\"value\\\":1}}}\"]," +
193+
"\"allow_restricted_indices\":false}";
194+
195+
assertEquals(json, toJson(priv));
196+
197+
priv = fromJson(json, UserIndicesPrivileges.class);
198+
assertEquals("baz", priv.query().get(0).term().field());
199+
}
200+
}
201+
145202
private static String orNullHelper(Consumer<JsonGenerator> c) {
146203
StringWriter sw = new StringWriter();
147204
JsonGenerator generator = JsonpUtils.provider().createGenerator(sw);

java-client/src/test/java/co/elastic/clients/json/WithJsonTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public void testRegularObject() {
7474
);
7575

7676
assertEquals("foo", s.field());
77-
assertEquals(12, s.id());
77+
assertEquals("12", s.id());
7878
assertEquals(34, s.max());
7979
}
8080

0 commit comments

Comments
 (0)