Search in sources :

Example 21 with Cursor

use of com.yahoo.slime.Cursor in project vespa by vespa-engine.

the class ConfigPayloadBuilderTest method require_that_builders_can_be_merged.

@Test
public void require_that_builders_can_be_merged() {
    ConfigPayloadBuilder b1 = new ConfigPayloadBuilder();
    ConfigPayloadBuilder b2 = new ConfigPayloadBuilder();
    ConfigPayloadBuilder b3 = new ConfigPayloadBuilder();
    b1.setField("aaa", "a");
    b1.getObject("bbb").setField("ccc", "ddd");
    b2.setField("aaa", "b");
    b2.getObject("bbb").setField("ccc", "eee");
    b2.getArray("eee").append("kkk");
    b2.setField("uuu", "ttt");
    b3.setField("aaa", "c");
    b3.getObject("bbb").setField("ccc", "fff");
    b3.getArray("eee").append("lll");
    b3.setField("uuu", "vvv");
    assertThat(b1.override(b2), is(b1));
    assertThat(b1.override(b3), is(b1));
    Cursor b1root = createSlime(b1);
    Cursor b2root = createSlime(b2);
    Cursor b3root = createSlime(b3);
    assertThat(b3root.field("aaa").asString(), is("c"));
    assertThat(b3root.field("bbb").field("ccc").asString(), is("fff"));
    assertThat(b3root.field("eee").children(), is(1));
    assertThat(b3root.field("eee").entry(0).asString(), is("lll"));
    assertThat(b3root.field("uuu").asString(), is("vvv"));
    assertThat(b2root.field("aaa").asString(), is("b"));
    assertThat(b2root.field("bbb").field("ccc").asString(), is("eee"));
    assertThat(b2root.field("eee").children(), is(1));
    assertThat(b2root.field("eee").entry(0).asString(), is("kkk"));
    assertThat(b2root.field("uuu").asString(), is("ttt"));
    assertThat(b1root.field("aaa").asString(), is("c"));
    assertThat(b1root.field("bbb").field("ccc").asString(), is("fff"));
    assertThat(b1root.field("eee").children(), is(2));
    assertThat(b1root.field("eee").entry(0).asString(), is("kkk"));
    assertThat(b1root.field("eee").entry(1).asString(), is("lll"));
    assertThat(b1root.field("uuu").asString(), is("vvv"));
}
Also used : Cursor(com.yahoo.slime.Cursor) Test(org.junit.Test)

Example 22 with Cursor

use of com.yahoo.slime.Cursor in project vespa by vespa-engine.

the class ConfigPayloadBuilderTest method require_that_arrays_can_be_appended_structs.

@Test
public void require_that_arrays_can_be_appended_structs() {
    ConfigPayloadBuilder builder = new ConfigPayloadBuilder();
    ConfigPayloadBuilder.Array array = builder.getArray("foo");
    ConfigPayloadBuilder elem1 = array.append();
    elem1.setField("bar", "baz");
    ConfigPayloadBuilder elem2 = array.append();
    elem2.setField("foo", "bar");
    Cursor root = createSlime(builder);
    Cursor a = root.field("foo");
    assertEquals("baz", a.entry(0).field("bar").asString());
    assertEquals("bar", a.entry(1).field("foo").asString());
}
Also used : Cursor(com.yahoo.slime.Cursor) Test(org.junit.Test)

Example 23 with Cursor

use of com.yahoo.slime.Cursor in project vespa by vespa-engine.

the class ConfigPayloadBuilderTest method require_that_arrays_can_be_indexed_simple_values.

@Test
public void require_that_arrays_can_be_indexed_simple_values() {
    ConfigPayloadBuilder builder = new ConfigPayloadBuilder();
    ConfigPayloadBuilder.Array array = builder.getArray("foo");
    array.set(3, "bar");
    array.set(2, "baz");
    array.set(6, "bim");
    array.set(4, "bum");
    Cursor root = createSlime(builder);
    Cursor a = root.field("foo");
    assertEquals("bar", a.entry(0).asString());
    assertEquals("baz", a.entry(1).asString());
    assertEquals("bim", a.entry(2).asString());
    assertEquals("bum", a.entry(3).asString());
}
Also used : Cursor(com.yahoo.slime.Cursor) Test(org.junit.Test)

Example 24 with Cursor

use of com.yahoo.slime.Cursor in project vespa by vespa-engine.

the class ConfigPayloadBuilderTest method require_that_arrays_can_be_appended_simple_values.

@Test
public void require_that_arrays_can_be_appended_simple_values() {
    ConfigPayloadBuilder builder = new ConfigPayloadBuilder();
    ConfigPayloadBuilder.Array array = builder.getArray("foo");
    array.append("bar");
    array.append("baz");
    array.append("bim");
    assertThat(array.getElements().size(), is(3));
    Cursor root = createSlime(builder);
    Cursor a = root.field("foo");
    assertEquals("bar", a.entry(0).asString());
    assertEquals("baz", a.entry(1).asString());
    assertEquals("bim", a.entry(2).asString());
}
Also used : Cursor(com.yahoo.slime.Cursor) Test(org.junit.Test)

Example 25 with Cursor

use of com.yahoo.slime.Cursor in project vespa by vespa-engine.

the class DefaultValueApplierTest method apply.

public Slime apply(Slime slime, String... extraFields) {
    StringBuilder defBuilder = new StringBuilder();
    defBuilder.append("namespace=test").append("\n");
    defBuilder.append("str string").append("\n");
    for (String field : extraFields) {
        defBuilder.append(field).append("\n");
    }
    Cursor cursor = slime.get();
    cursor.setString("str", "myvalue");
    InnerCNode def = new DefParser("simpletypes", new StringReader(defBuilder.toString())).getTree();
    DefaultValueApplier applier = new DefaultValueApplier();
    return applier.applyDefaults(slime, def);
}
Also used : InnerCNode(com.yahoo.config.codegen.InnerCNode) StringReader(java.io.StringReader) DefParser(com.yahoo.config.codegen.DefParser) 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