Search in sources :

Example 31 with Memory

use of jmri.Memory in project JMRI by JMRI.

the class JsonMemoryHttpServiceTest method testDoPost.

public void testDoPost() throws JmriException {
    ObjectMapper mapper = new ObjectMapper();
    JsonMemoryHttpService service = new JsonMemoryHttpService(mapper);
    MemoryManager manager = InstanceManager.getDefault(MemoryManager.class);
    Memory memory1 = manager.provideMemory("IM1");
    JsonNode result;
    JsonNode message;
    try {
        // set off
        message = mapper.createObjectNode().put(JSON.NAME, "IM1").put(JSON.VALUE, "close");
        result = service.doPost(JsonMemory.MEMORY, "IM1", message, Locale.ENGLISH);
        Assert.assertEquals("close", memory1.getValue());
        Assert.assertNotNull(result);
        Assert.assertEquals("close", result.path(JSON.DATA).path(JSON.VALUE).asText());
        // set on
        message = mapper.createObjectNode().put(JSON.NAME, "IM1").put(JSON.VALUE, "throw");
        result = service.doPost(JsonMemory.MEMORY, "IM1", message, Locale.ENGLISH);
        Assert.assertEquals("throw", memory1.getValue());
        Assert.assertNotNull(result);
        Assert.assertEquals("throw", result.path(JSON.DATA).path(JSON.VALUE).asText());
        // set null
        message = mapper.createObjectNode().put(JSON.NAME, "IM1").putNull(JSON.VALUE);
        result = service.doPost(JsonMemory.MEMORY, "IM1", message, Locale.ENGLISH);
        Assert.assertNull(memory1.getValue());
        Assert.assertEquals("null", result.path(JSON.DATA).path(JSON.VALUE).asText());
    } catch (JsonException ex) {
        Assert.fail(ex.getMessage());
    }
}
Also used : JsonException(jmri.server.json.JsonException) Memory(jmri.Memory) JsonNode(com.fasterxml.jackson.databind.JsonNode) MemoryManager(jmri.MemoryManager) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper)

Aggregations

Memory (jmri.Memory)31 MemoryManager (jmri.MemoryManager)7 Sensor (jmri.Sensor)5 JsonException (jmri.server.json.JsonException)5 JsonNode (com.fasterxml.jackson.databind.JsonNode)4 Element (org.jdom2.Element)4 Conditional (jmri.Conditional)3 JmriException (jmri.JmriException)3 SignalHead (jmri.SignalHead)3 Turnout (jmri.Turnout)3 Editor (jmri.jmrit.display.Editor)3 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)2 ObjectNode (com.fasterxml.jackson.databind.node.ObjectNode)2 IOException (java.io.IOException)2 Block (jmri.Block)2 ConfigureManager (jmri.ConfigureManager)2 Light (jmri.Light)2 Logix (jmri.Logix)2 NamedBean (jmri.NamedBean)2 Path (jmri.Path)2