@Test(expectedExceptions = ConcurrentTaskException.class) public void testDeletingAnUploadingImage() throws Throwable { TaskEntity task = imageBackend.prepareImageUpload(inputStream, "image-name", ImageReplicationType.ON_DEMAND); StepEntity step = task.getSteps().get(0); ImageEntity image = (ImageEntity) step.getTransientResourceEntities().get(0); imageBackend.prepareImageDelete(image.getId()); }
@Test(expectedExceptions = InvalidImageStateException.class) public void testPrepareImageDeleteInPendingDelete() throws Throwable { ImageEntity imageInDb = new ImageEntity(); imageInDb.setName("image-0"); imageInDb.setState(ImageState.PENDING_DELETE); imageInDb.setSize(1000L); imageDao.create(imageInDb); imageBackend.prepareImageDelete(imageInDb.getId()); }
@Test public void testPrepareImageDelete() throws Throwable { ImageEntity imageInDb = new ImageEntity(); imageInDb.setName("image-0"); imageInDb.setState(ImageState.READY); imageInDb.setSize(1000L); imageDao.create(imageInDb); TaskEntity taskDelete = imageBackend.prepareImageDelete(imageInDb.getId()); assertThat(taskDelete.getSteps().size(), is(2)); assertThat(taskDelete.getSteps().get(0).getOperation(), is(Operation.DELETE_IMAGE)); assertThat(taskDelete.getSteps().get(1).getOperation(), is(Operation.DELETE_IMAGE_REPLICAS)); }
@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) public void testDeletingAnNonExistingImage() throws Throwable { imageBackend.prepareImageDelete("non-existing-id"); }