Search in sources :

Example 86 with Slime

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"));
}
Also used : Slime(com.yahoo.slime.Slime) Cursor(com.yahoo.slime.Cursor) Test(org.junit.Test)

Example 87 with Slime

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"));
}
Also used : Slime(com.yahoo.slime.Slime) Test(org.junit.Test)

Example 88 with Slime

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;
}
Also used : Slime(com.yahoo.slime.Slime) Cursor(com.yahoo.slime.Cursor)

Example 89 with Slime

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));
}
Also used : FunctionTestConfig(com.yahoo.foo.FunctionTestConfig) ConfigPayload(com.yahoo.vespa.config.ConfigPayload) Slime(com.yahoo.slime.Slime) Test(org.junit.Test)

Example 90 with 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"));
}
Also used : Slime(com.yahoo.slime.Slime) Test(org.junit.Test)

Aggregations

Slime (com.yahoo.slime.Slime)131 Cursor (com.yahoo.slime.Cursor)76 Test (org.junit.Test)43 ByteArrayOutputStream (java.io.ByteArrayOutputStream)23 SlimeJsonResponse (com.yahoo.vespa.hosted.controller.restapi.SlimeJsonResponse)22 DefParser (com.yahoo.config.codegen.DefParser)14 InnerCNode (com.yahoo.config.codegen.InnerCNode)14 StringReader (java.io.StringReader)14 JsonFormat (com.yahoo.slime.JsonFormat)10 ApplicationId (com.yahoo.config.provision.ApplicationId)9 Inspector (com.yahoo.slime.Inspector)9 Application (com.yahoo.vespa.hosted.controller.Application)9 SlimeAdapter (com.yahoo.data.access.slime.SlimeAdapter)8 IOException (java.io.IOException)8 Version (com.yahoo.component.Version)7 JsonDecoder (com.yahoo.slime.JsonDecoder)6 ConfigPayload (com.yahoo.vespa.config.ConfigPayload)6 HttpResponse (com.yahoo.container.jdisc.HttpResponse)5 DeployLogger (com.yahoo.config.application.api.DeployLogger)4 TenantName (com.yahoo.config.provision.TenantName)4