@Test public void testDeriveImage() throws Throwable { ImageCreateSpec imageCreateSpec = new ImageCreateSpec(); imageCreateSpec.setName("i1"); imageCreateSpec.setReplicationType(ImageReplicationType.EAGER); ImageEntity vmImage = entityFactory.createImage( "image1", ImageState.READY, ImageReplicationType.EAGER, 100L, "n1", "v1", "n2", "v2"); flushSession(); String imageId = imageBackend.deriveImage(imageCreateSpec, vmImage).getId(); flushSession(); ImageEntity image = imageBackend.findById(imageId); assertThat(image.getName(), is(imageCreateSpec.getName())); assertThat(image.getReplicationType(), is(imageCreateSpec.getReplicationType())); assertThat(image.getState(), is(ImageState.CREATING)); assertThat(image.getSize(), is(100L)); assertThat( image.getImageSettingsMap(), is((Map<String, String>) ImmutableMap.of("n1", "v1", "n2", "v2"))); }