Search in sources :

Example 71 with Cursor

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

Example 72 with Cursor

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

Example 73 with Cursor

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

Example 74 with Cursor

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

Example 75 with Cursor

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

Aggregations

Cursor (com.yahoo.slime.Cursor)112 Slime (com.yahoo.slime.Slime)79 Test (org.junit.Test)33 SlimeJsonResponse (com.yahoo.vespa.hosted.controller.restapi.SlimeJsonResponse)19 ByteArrayOutputStream (java.io.ByteArrayOutputStream)17 DefParser (com.yahoo.config.codegen.DefParser)15 InnerCNode (com.yahoo.config.codegen.InnerCNode)15 StringReader (java.io.StringReader)15 IOException (java.io.IOException)9 ApplicationId (com.yahoo.config.provision.ApplicationId)8 JsonFormat (com.yahoo.slime.JsonFormat)8 Application (com.yahoo.vespa.hosted.controller.Application)6 List (java.util.List)6 Map (java.util.Map)6 Inspector (com.yahoo.slime.Inspector)5 SlimeUtils (com.yahoo.vespa.config.SlimeUtils)5 Ignore (org.junit.Ignore)5 Version (com.yahoo.component.Version)4 RegionName (com.yahoo.config.provision.RegionName)4 TenantName (com.yahoo.config.provision.TenantName)4