use of com.yahoo.slime.Slime 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.Slime in project vespa by vespa-engine.
the class DefaultValueApplierTest method require_that_struct_fields_defaults_are_applied.
@Test
public void require_that_struct_fields_defaults_are_applied() {
Slime slime = apply("nested.str string default=\"bar\"");
assertTrue(slime.get().field("nested").valid());
assertTrue(slime.get().field("nested").field("str").valid());
assertThat(slime.get().field("nested").field("str").asString(), is("bar"));
}
use of com.yahoo.slime.Slime 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;
}
use of com.yahoo.slime.Slime in project vespa by vespa-engine.
the class ConfigInstancePayloadTest method config_builder_can_be_created_from_typed_payload.
@Test
public void config_builder_can_be_created_from_typed_payload() {
FunctionTestConfig config = createVariableAccessConfigWithBuilder();
Slime slime = new Slime();
ConfigInstanceSerializer serializer = new ConfigInstanceSerializer(slime);
ConfigInstance.serialize(config, serializer);
assertFunctionTestPayload(config, new ConfigPayload(slime));
}
use of com.yahoo.slime.Slime in project vespa by vespa-engine.
the class TraceTest method trace_serialization.
@Test
public void trace_serialization() {
Trace trace = Trace.createNew(1);
trace.trace(0, "foobar");
trace.trace(1, "barbaz");
Slime slime = new Slime();
trace.serialize(slime.setObject());
Trace trace2 = Trace.fromSlime(slime.get());
trace2.trace(1, "quux");
String trace1Str = trace.toString();
String trace2Str = trace2.toString();
assertTrue(trace1Str.contains("foobar"));
assertTrue(trace1Str.contains("barbaz"));
assertFalse(trace1Str.contains("quux"));
assertTrue(trace2Str.contains("foobar"));
assertTrue(trace2Str.contains("barbaz"));
assertTrue(trace2Str.contains("quux"));
}
Aggregations