use of com.yahoo.slime.Cursor in project vespa by vespa-engine.
the class ConfigPayloadBuilderTest method require_that_simple_fields_can_be_overwritten.
@Test
public void require_that_simple_fields_can_be_overwritten() {
ConfigPayloadBuilder builder = new ConfigPayloadBuilder();
builder.setField("foo", "bar");
builder.setField("foo", "baz");
Cursor root = createSlime(builder);
// XXX: Not sure if this is the _right_ behavior.
assertEquals("baz", root.field("foo").asString());
}
use of com.yahoo.slime.Cursor in project vespa by vespa-engine.
the class ConfigPayloadBuilderTest method require_that_struct_values_are_created.
@Test
public void require_that_struct_values_are_created() {
ConfigPayloadBuilder builder = new ConfigPayloadBuilder();
ConfigPayloadBuilder struct = builder.getObject("foo");
struct.setField("bar", "baz");
Cursor root = createSlime(builder);
Cursor s = root.field("foo");
assertEquals("baz", s.field("bar").asString());
}
use of com.yahoo.slime.Cursor in project vespa by vespa-engine.
the class DefaultValueApplierTest method require_that_arrays_of_struct_fields_defaults_are_applied.
@Test
public void require_that_arrays_of_struct_fields_defaults_are_applied() {
Slime payload = new Slime();
Cursor cursor = payload.setObject();
cursor.setArray("nestedarr").addObject().setString("foo", "myfoo");
Slime slime = apply(payload, "nestedarr[].foo string", "nestedarr[].bar string default=\"bim\"");
assertTrue(slime.get().field("nestedarr").valid());
assertThat(slime.get().field("nestedarr").entries(), is(1));
assertTrue(slime.get().field("nestedarr").entry(0).field("foo").valid());
assertThat(slime.get().field("nestedarr").entry(0).field("foo").asString(), is("myfoo"));
assertTrue(slime.get().field("nestedarr").entry(0).field("bar").valid());
assertThat(slime.get().field("nestedarr").entry(0).field("bar").asString(), is("bim"));
}
use of com.yahoo.slime.Cursor in project vespa by vespa-engine.
the class DefaultValueApplierTest method require_that_maps_of_struct_fields_defaults_are_applied.
@Test
public void require_that_maps_of_struct_fields_defaults_are_applied() {
Slime payload = new Slime();
Cursor cursor = payload.setObject();
cursor.setObject("nestedmap").setObject("mykey").setString("foo", "myfoo");
Slime slime = apply(payload, "nestedmap{}.foo string", "nestedmap{}.bar string default=\"bim\"");
assertTrue(slime.get().field("nestedmap").valid());
assertThat(slime.get().field("nestedmap").fields(), is(1));
assertTrue(slime.get().field("nestedmap").field("mykey").field("foo").valid());
assertThat(slime.get().field("nestedmap").field("mykey").field("foo").asString(), is("myfoo"));
assertTrue(slime.get().field("nestedmap").field("mykey").field("bar").valid());
assertThat(slime.get().field("nestedmap").field("mykey").field("bar").asString(), is("bim"));
}
use of com.yahoo.slime.Cursor in project vespa by vespa-engine.
the class SlimeRequestData method encodeRequest.
static Slime encodeRequest(ConfigKey<?> key, String hostname, DefContent defSchema, String configMd5, long generation, long timeout, Trace trace, long protocolVersion, CompressionType compressionType, Optional<VespaVersion> vespaVersion) {
Slime data = new Slime();
Cursor request = data.setObject();
request.setLong(REQUEST_VERSION, protocolVersion);
request.setString(REQUEST_DEF_NAME, key.getName());
request.setString(REQUEST_DEF_NAMESPACE, key.getNamespace());
request.setString(REQUEST_DEF_MD5, key.getMd5());
request.setString(REQUEST_CLIENT_CONFIGID, key.getConfigId());
request.setString(REQUEST_CLIENT_HOSTNAME, hostname);
defSchema.serialize(request.setArray(REQUEST_DEF_CONTENT));
request.setString(REQUEST_CONFIG_MD5, configMd5);
request.setLong(REQUEST_CURRENT_GENERATION, generation);
request.setLong(REQUEST_WANTED_GENERATION, 0L);
request.setLong(REQUEST_TIMEOUT, timeout);
request.setString(REQUEST_COMPRESSION_TYPE, compressionType.name());
vespaVersion.ifPresent(version -> request.setString(REQUEST_VESPA_VERSION, version.toString()));
trace.serialize(request.setObject(REQUEST_TRACE));
return data;
}
Aggregations