@Override
  public ApplicationReport getApplicationReport(ApplicationId appId)
      throws YarnException, IOException {
    TimelineEntity entity = readerClient.getApplicationEntity(
        appId, "ALL", null);
    return TimelineEntityV2Converter.convertToApplicationReport(entity);
  }
@Test
  public void testGetAppReport() throws IOException, YarnException {
    final ApplicationId appId = ApplicationId.newInstance(0, 1);
    when(spyTimelineReaderClient.getApplicationEntity(appId, "ALL", null))
        .thenReturn(createApplicationTimelineEntity(appId, false, false));
    ApplicationReport report = client.getApplicationReport(appId);
    assertThat(report.getApplicationId()).isEqualTo(appId);
    assertThat(report.getAppNodeLabelExpression()).
        isEqualTo("test_node_label");
    Assert.assertTrue(report.getApplicationTags().contains("Test_APP_TAGS_1"));
    assertThat(report.getYarnApplicationState()).
        isEqualTo(YarnApplicationState.FINISHED);
  }