public void run() {
        populateTestData();
        final WS.Response response = WS.url(BASE_URL + REST_JOB_SUMMARIES_PATH).
            setQueryParameter("username", TEST_USERNAME).
            get().get(RESPONSE_TIMEOUT, TimeUnit.MILLISECONDS);
        Iterator<JsonNode> jobSummaries = response.asJson().elements();
        while (jobSummaries.hasNext()) {
          JsonNode jobSummary = jobSummaries.next();
          Iterator<JsonNode> jobObjects = jobSummary.elements();
          while (jobObjects.hasNext()) {
            JsonNode node = jobObjects.next();
            Assert.assertEquals(node.findValue("username").asText(), "growth");
            Assert.assertEquals(node.findValue("jobname").asText(), "overwriter-reminder2");
            Assert.assertEquals(node.findValue("jobtype").asText(), "HadoopJava");
            Assert.assertEquals(node.findValue("starttime").asLong(), 1460980616502L);
            Assert.assertEquals(node.findValue("finishtime").asLong(), 1460980723925L);
            Assert.assertEquals(node.findValue("waittime").asLong(), 20);
            Assert.assertEquals(node.findValue("resourceused").asLong(), 100);
            Assert.assertEquals(node.findValue("resourcewasted").asLong(), 30);
            Assert.assertEquals(node.findValue("severity").asText(), "None");
            Assert.assertEquals(node.findValue("queue").asText(), "misc_default");

            Iterator<JsonNode> tasks = node.findValue("tasksseverity").elements();
            while (tasks.hasNext()) {
              JsonNode job = tasks.next();
              Assert.assertEquals(job.findValue("severity").asText(), "None");
              Assert.assertEquals(job.findValue("count").asInt(), 1);
            }
          }
        }
      }
<p>
Rest API  - Provides data for plotting the flow history graph for time and resources
</p>
test/rest/RestAPITest.java