@Test
  public void testGetTasksWithGivenState() throws Exception {
    ImageEntity imageInDb = new ImageEntity();
    imageInDb.setName("image-0");
    imageInDb.setState(ImageState.READY);
    imageInDb.setSize(1000L);

    imageDao.create(imageInDb);
    TaskEntity taskDelete = imageBackend.prepareImageDelete(imageInDb.getId());

    List<Task> tasks = imageBackend.getTasks(imageInDb.getId(), Optional.of("FINISHED"));

    assertThat(tasks.size(), is(0));
  }
  @Test
  public void testGetTasks() throws Exception {
    ImageEntity imageInDb = new ImageEntity();
    imageInDb.setName("image-0");
    imageInDb.setState(ImageState.READY);
    imageInDb.setSize(1000L);

    imageDao.create(imageInDb);
    TaskEntity taskDelete = imageBackend.prepareImageDelete(imageInDb.getId());

    List<Task> tasks = imageBackend.getTasks(imageInDb.getId(), Optional.<String>absent());

    assertThat(tasks.size(), is(1));
    assertThat(tasks.get(0).getState(), is("QUEUED"));
  }
 @Test(
     expectedExceptions = ImageNotFoundException.class,
     expectedExceptionsMessageRegExp = "^Image id 'image1' not found$")
 public void testGetTasksWithInvalidImageId() throws Exception {
   imageBackend.getTasks("image1", Optional.<String>absent());
 }