package org.zstack.test.storage.volume; import junit.framework.Assert; import org.junit.Before; import org.junit.Test; import org.zstack.core.cloudbus.CloudBus; import org.zstack.core.componentloader.ComponentLoader; import org.zstack.core.db.DatabaseFacade; import org.zstack.header.configuration.DiskOfferingInventory; import org.zstack.header.volume.VolumeDeletionPolicyManager.VolumeDeletionPolicy; import org.zstack.header.volume.VolumeInventory; import org.zstack.header.volume.VolumeStatus; import org.zstack.header.volume.VolumeType; import org.zstack.header.volume.VolumeVO; import org.zstack.storage.volume.VolumeGlobalConfig; import org.zstack.test.*; import org.zstack.utils.Utils; import org.zstack.utils.data.SizeUnit; import org.zstack.utils.logging.CLogger; public class TestDeleteDataVolume { CLogger logger = Utils.getLogger(TestDeleteDataVolume.class); Api api; ComponentLoader loader; DatabaseFacade dbf; CloudBus bus; @Before public void setUp() throws Exception { DBUtil.reDeployDB(); BeanConstructor con = new WebBeanConstructor(); /* This loads spring application context */ loader = con.addXml("PortalForUnitTest.xml").addXml("Simulator.xml").addXml("ZoneManager.xml") .addXml("PrimaryStorageManager.xml").addXml("ConfigurationManager.xml").addXml("VolumeManager.xml").addXml("AccountManager.xml").build(); dbf = loader.getComponent(DatabaseFacade.class); bus = loader.getComponent(CloudBus.class); api = new Api(); api.startServer(); } @Test public void test() throws ApiSenderException { VolumeGlobalConfig.VOLUME_DELETION_POLICY.updateValue(VolumeDeletionPolicy.Direct.toString()); DiskOfferingInventory dinv = new DiskOfferingInventory(); dinv.setDiskSize(SizeUnit.GIGABYTE.toByte(10)); dinv.setName("Test"); dinv.setDescription("Test"); dinv = api.addDiskOffering(dinv); VolumeInventory vinv = api.createDataVolume("TestData", dinv.getUuid()); Assert.assertEquals(VolumeStatus.NotInstantiated.toString(), vinv.getStatus()); Assert.assertEquals(VolumeType.Data.toString(), vinv.getType()); Assert.assertFalse(vinv.isAttached()); api.deleteDataVolume(vinv.getUuid()); VolumeVO vo = dbf.findByUuid(vinv.getUuid(), VolumeVO.class); Assert.assertNull(vo); } }