aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/core/api/src/test/java/org/onosproject/ui/topo/TopoJsonTest.java
diff options
context:
space:
mode:
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.java46
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());
+ }
}