diff options
Diffstat (limited to 'framework/src/onos/core/api/src/test/java/org/onosproject/ui/topo/TopoJsonTest.java')
-rw-r--r-- | framework/src/onos/core/api/src/test/java/org/onosproject/ui/topo/TopoJsonTest.java | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/framework/src/onos/core/api/src/test/java/org/onosproject/ui/topo/TopoJsonTest.java b/framework/src/onos/core/api/src/test/java/org/onosproject/ui/topo/TopoJsonTest.java index ac0051cd..50aabf8e 100644 --- a/framework/src/onos/core/api/src/test/java/org/onosproject/ui/topo/TopoJsonTest.java +++ b/framework/src/onos/core/api/src/test/java/org/onosproject/ui/topo/TopoJsonTest.java @@ -21,14 +21,22 @@ import com.fasterxml.jackson.databind.node.ObjectNode; import org.junit.Test; import org.onosproject.ui.JsonUtils; import org.onosproject.ui.topo.Highlights.Amount; +import org.onosproject.ui.topo.NodeBadge.Status; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; /** * Unit tests for {@link TopoJson}. */ public class TopoJsonTest { + private static final String DEV1 = "device-1"; + private static final String DEV2 = "device-2"; + private static final String SOME_MSG = "Hello there"; + private static final String GID = "glyph-ID"; + private ObjectNode payload; private void checkArrayLength(String key, int expLen) { @@ -68,4 +76,42 @@ public class TopoJsonTest { String subdue = JsonUtils.string(payload, TopoJson.SUBDUE); assertEquals("not max", "max", subdue); } + + @Test + public void badgedDevice() { + Highlights h = new Highlights(); + DeviceHighlight dh = new DeviceHighlight(DEV1); + dh.setBadge(NodeBadge.number(7)); + h.add(dh); + + dh = new DeviceHighlight(DEV2); + dh.setBadge(NodeBadge.glyph(Status.WARN, GID, SOME_MSG)); + h.add(dh); + + payload = TopoJson.json(h); +// System.out.println(payload); + + // dig into the payload, and verify the badges are set on the devices + ArrayNode a = (ArrayNode) payload.get(TopoJson.DEVICES); + + ObjectNode d = (ObjectNode) a.get(0); + assertEquals("wrong device id", DEV1, d.get(TopoJson.ID).asText()); + + ObjectNode b = (ObjectNode) d.get(TopoJson.BADGE); + assertNotNull("missing badge", b); + assertEquals("wrong status code", "i", b.get(TopoJson.STATUS).asText()); + assertEquals("wrong text", "7", b.get(TopoJson.TXT).asText()); + assertNull("glyph?", b.get(TopoJson.GID)); + assertNull("msg?", b.get(TopoJson.MSG)); + + d = (ObjectNode) a.get(1); + assertEquals("wrong device id", DEV2, d.get(TopoJson.ID).asText()); + + b = (ObjectNode) d.get(TopoJson.BADGE); + assertNotNull("missing badge", b); + assertEquals("wrong status code", "w", b.get(TopoJson.STATUS).asText()); + assertNull("text?", b.get(TopoJson.TXT)); + assertEquals("wrong text", GID, b.get(TopoJson.GID).asText()); + assertEquals("wrong message", SOME_MSG, b.get(TopoJson.MSG).asText()); + } } |