package org.ovirt.engine.api.restapi.resource; import java.util.ArrayList; import org.junit.Test; import org.ovirt.engine.api.model.DiskSnapshot; import org.ovirt.engine.core.common.action.RemoveDiskSnapshotsParameters; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.storage.Disk; import org.ovirt.engine.core.common.businessentities.storage.DiskImage; import org.ovirt.engine.core.common.queries.IdQueryParameters; import org.ovirt.engine.core.common.queries.VdcQueryType; import org.ovirt.engine.core.compat.Guid; public class BackendStorageDomainDiskSnapshotResourceTest extends AbstractBackendSubResourceTest<DiskSnapshot, Disk, BackendStorageDomainDiskSnapshotResource> { protected static final Guid DOMAIN_ID = GUIDS[0]; protected static final Guid IMAGE_ID = GUIDS[1]; protected static final Guid DISK_ID = GUIDS[2]; public BackendStorageDomainDiskSnapshotResourceTest() { super(new BackendStorageDomainDiskSnapshotResource(IMAGE_ID.toString(), new BackendStorageDomainDiskSnapshotsResource(DOMAIN_ID))); } @Test public void testGet() { setUriInfo(setUpBasicUriExpectations()); setUpEntityQueryExpectations(VdcQueryType.GetDiskSnapshotByImageId, IdQueryParameters.class, new String[]{"Id"}, new Object[]{IMAGE_ID}, getEntity(1)); DiskSnapshot diskSnapshot = resource.get(); verifyModelSpecific(diskSnapshot, 1); } @Test public void testRemove() { // setUriInfo(setUpBasicUriExpectations()); setUpEntityQueryExpectations(VdcQueryType.GetDiskSnapshotByImageId, IdQueryParameters.class, new String[] { "Id" }, new Object[] { IMAGE_ID }, getEntity(1)); ArrayList<Guid> ids = new ArrayList<>(); ids.add(GUIDS[1]); setUriInfo(setUpActionExpectations( VdcActionType.RemoveDiskSnapshots, RemoveDiskSnapshotsParameters.class, new String[] { "ImageIds" }, new Object[] { ids }, true, true)); verifyRemove(resource.remove()); } @Override protected Disk getEntity(int index) { DiskImage entity = new DiskImage(); entity.setImageId(GUIDS[index]); entity.setId(DISK_ID); return entity; } @Override protected void verifyModel(DiskSnapshot model, int index) { verifyModelSpecific(model, index); verifyLinks(model); } static void verifyModelSpecific(DiskSnapshot model, int index) { assertEquals(GUIDS[index].toString(), model.getId()); } }