Search in sources :

Example 16 with Slime

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

the class SlimeUtilsTest method test_copying_slime_arrays_into_cursor.

@Test
public void test_copying_slime_arrays_into_cursor() {
    Slime slime = new Slime();
    Cursor root = slime.setObject();
    root.setString("foo", "foobie");
    Cursor subobj = root.setObject("bar");
    Slime slime2 = new Slime();
    Cursor root2 = slime2.setObject();
    Cursor array = root2.setArray("a");
    array.addString("foo");
    array.addLong(4);
    array.addBool(true);
    array.addDouble(3.14);
    array.addNix();
    array.addData(new byte[] { 0x64 });
    Cursor objinner = array.addObject();
    objinner.setString("inner", "binner");
    SlimeUtils.copyObject(slime2.get(), subobj);
    assertThat(root.toString(), is("{\"foo\":\"foobie\",\"bar\":{\"a\":[\"foo\",4,true,3.14,null,\"0x64\",{\"inner\":\"binner\"}]}}"));
}
Also used : Slime(com.yahoo.slime.Slime) Cursor(com.yahoo.slime.Cursor) Test(org.junit.Test)

Example 17 with Slime

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

the class JRTConfigRequestBase method error_response_adds_common_elements.

@Test
public void error_response_adds_common_elements() {
    serverReq.addErrorResponse(ErrorCode.APPLICATION_NOT_LOADED, ErrorCode.getName(ErrorCode.APPLICATION_NOT_LOADED));
    assertThat(serverReq.getRequest().returnValues().size(), is(1));
    Slime data = new JsonDecoder().decode(new Slime(), Utf8.toBytes(serverReq.getRequest().returnValues().get(0).asString()));
    Inspector response = data.get();
    assertThat(response.field(SlimeResponseData.RESPONSE_DEF_NAME).asString(), is(defName));
    assertThat(response.field(SlimeResponseData.RESPONSE_DEF_NAMESPACE).asString(), is(defNamespace));
    assertThat(response.field(SlimeResponseData.RESPONSE_DEF_MD5).asString(), is(defMd5));
    assertThat(response.field(SlimeResponseData.RESPONSE_CONFIGID).asString(), is(configId));
    assertThat(response.field(SlimeResponseData.RESPONSE_CLIENT_HOSTNAME).asString(), is(hostname));
    Trace t = Trace.fromSlime(response.field(SlimeResponseData.RESPONSE_TRACE));
    assertThat(t.toString(), is(trace.toString()));
}
Also used : JsonDecoder(com.yahoo.slime.JsonDecoder) Inspector(com.yahoo.slime.Inspector) Slime(com.yahoo.slime.Slime) Test(org.junit.Test)

Example 18 with Slime

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

the class JRTConfigRequestBase method createPayload.

private static Payload createPayload(String value) {
    Slime slime = new Slime();
    slime.setObject().setString("myfield", value);
    return Payload.from(new ConfigPayload(slime));
}
Also used : ConfigPayload(com.yahoo.vespa.config.ConfigPayload) Slime(com.yahoo.slime.Slime)

Example 19 with Slime

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

the class ConfigFileFormatterTest method require_that_field_not_found_is_ignored.

@Test
public void require_that_field_not_found_is_ignored() throws IOException {
    Slime slime = new Slime();
    Cursor root = slime.setObject();
    root.setString("nosuchfield", "bar");
    InnerCNode def = new DefParser("simpletypes", new StringReader(StringUtilities.implode(SimpletypesConfig.CONFIG_DEF_SCHEMA, "\n"))).getTree();
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    new ConfigFileFormat(def).encode(baos, slime);
    assertThat(baos.toString(), is(""));
}
Also used : InnerCNode(com.yahoo.config.codegen.InnerCNode) StringReader(java.io.StringReader) DefParser(com.yahoo.config.codegen.DefParser) ByteArrayOutputStream(java.io.ByteArrayOutputStream) Slime(com.yahoo.slime.Slime) Cursor(com.yahoo.slime.Cursor) Test(org.junit.Test)

Example 20 with Slime

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

the class ConfigFileFormatterTest method require_that_illegal_boolean_becomes_false.

@Test
public void require_that_illegal_boolean_becomes_false() throws IOException {
    Slime slime = new Slime();
    Cursor root = slime.setObject();
    root.setString("boolval", "invalid");
    InnerCNode def = new DefParser("simpletypes", new StringReader(StringUtilities.implode(SimpletypesConfig.CONFIG_DEF_SCHEMA, "\n"))).getTree();
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    new ConfigFileFormat(def).encode(baos, slime);
    assertThat(baos.toString(), is("boolval false\n"));
}
Also used : InnerCNode(com.yahoo.config.codegen.InnerCNode) StringReader(java.io.StringReader) DefParser(com.yahoo.config.codegen.DefParser) ByteArrayOutputStream(java.io.ByteArrayOutputStream) Slime(com.yahoo.slime.Slime) Cursor(com.yahoo.slime.Cursor) 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