http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c27c6943/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/RepositoryTest.java ---------------------------------------------------------------------- diff --git a/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/RepositoryTest.java b/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/RepositoryTest.java new file mode 100644 index 0000000..eaf6612 --- /dev/null +++ b/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/RepositoryTest.java @@ -0,0 +1,183 @@ +/******************************************************************************* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http:www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + ******************************************************************************/ +package com.cloud.hypervisor.ovm3.objects; + +import org.junit.Test; + +public class RepositoryTest { + ConnectionTest con = new ConnectionTest(); + Repository repo = new Repository(con); + XmlTestResultTest results = new XmlTestResultTest(); + + private String REPOID = "f12842ebf5ed3fe78da1eb0e17f5ede8"; + private String MGRID = "d1a749d4295041fb99854f52ea4dea97"; + private String REPOALIAS = "OVS Repository"; + private String REMOTENFS = "cs-mgmt:/volumes/cs-data/primary/ovm"; + private String LOCALMOUNT = "/OVS/Repositories/f12842ebf5ed3fe78da1eb0e17f5ede8"; + private String REPOVERSION = "3.0"; + private String REPOSTATUS = "Mounted"; + private String ISO = "systemvm.iso"; + private String TEMPLATE = "0b53acb1-6554-41b8-b1e1-7b27a01b6acb"; + private String DISK = "cfb5ee12-b99d-41d1-a5b2-44dea36c9de1.raw"; + private String VM = "7efbdbe0-3d01-3b22-a8a0-1d41c6f2502f"; + private String REPODISCOVERXML = "<string>" + + "<?xml version=\"1.0\" ?>" + + "<Discover_Repositories_Result>" + "<RepositoryList>" + + "<Repository Name=\"" + + REPOID + + "\">" + + "<Version>" + + REPOVERSION + + "</Version>" + + "<Manager_UUID>" + + MGRID + + "</Manager_UUID>" + + "<Repository_UUID>" + + REPOID + + "</Repository_UUID>" + + "<Repository_Alias>" + + REPOALIAS + + "</Repository_Alias>" + + "<Assemblies/>" + + "<Templates>" + + "<Template Name=\"" + + TEMPLATE + + "\">" + + "<File>" + + TEMPLATE + + ".raw</File>" + + "</Template>" + + "<Template Name=\"7d5c29db-6343-4431-b509-9646b45cc31b\">" + + "<File>7d5c29db-6343-4431-b509-9646b45cc31b.raw</File>" + + "</Template>" + + "</Templates>" + + "<VirtualMachines>" + + "<VirtualMachine Name=\"" + + VM + + "\">" + + "<File>vm.cfg</File>" + + "</VirtualMachine>" + + "<VirtualMachine Name=\"pool\">" + + "<File>ovspoolfs.img</File>" + + "</VirtualMachine>" + + "<VirtualMachine Name=\"4fb50e31-b032-3012-b70b-7e27c2acdfe2\">" + + "<File>vm.cfg</File>" + + "</VirtualMachine>" + + "<VirtualMachine Name=\"5ffe3ddc-606d-3fec-a956-67638f7ba838\">" + + "<File>vm.cfg</File>" + + "</VirtualMachine>" + + "<VirtualMachine Name=\"14fc3846-45e5-3c08-ad23-432ceb07407b\">" + + "<File>vm.cfg</File>" + + "</VirtualMachine>" + + "</VirtualMachines>" + + "<VirtualDisks>" + + "<Disk>" + + DISK + + "</Disk>" + + "<Disk>b92dd5c5-0f24-4cca-b86a-153ac6e950a8.raw</Disk>" + + "<Disk>d144c278-0825-41d5-b9c6-8bb21f3dd1e7.raw</Disk>" + + "<Disk>99650d9f-c7ee-42df-92e3-6cafc0876141.raw</Disk>" + + "</VirtualDisks>" + + "<ISOs>" + + "<ISO>" + + ISO + + "</ISO>" + + "</ISOs>" + + "</Repository>" + + "</RepositoryList>" + + "</Discover_Repositories_Result>" + "</string>"; + private String REPODBDISCOVERXML = "<string>" + + "<?xml version=\"1.0\" ?>" + + "<Discover_Repository_Db_Result>" + + "<RepositoryDbList>" + "<Repository Uuid=\"" + + REPOID + + "\">" + + "<Fs_location>" + + REMOTENFS + + "</Fs_location>" + + "<Mount_point>" + + LOCALMOUNT + + "</Mount_point>" + + "<Filesystem_type>nfs</Filesystem_type>" + + "<Version>" + + REPOVERSION + + "</Version>" + + "<Alias>" + + REPOALIAS + + "</Alias>" + + "<Manager_uuid>" + + MGRID + + "</Manager_uuid>" + + "<Status>" + + REPOSTATUS + + "</Status>" + + "</Repository>" + + "</RepositoryDbList>" + + "</Discover_Repository_Db_Result>" + "</string>"; + + /* + * @Test Create a test repo that mimics the above so we can test against a + * live box... public void testCreateRepo() throws Ovm3ResourceException { + * con.setResult(null); repo.createRepo(REMOTENFS, LOCALMOUNT, REPOID, + * REPOALIAS); } + */ + @Test + public void testDiscoverRepoBase() throws Ovm3ResourceException { + con.setResult(results.simpleResponseWrapWrapper(this.REPODISCOVERXML)); + repo.discoverRepo(REPOID); + results.basicStringTest(repo.getRepo(REPOID).getUuid(), REPOID); + results.basicStringTest(repo.getRepo(REPOID).getAlias(), REPOALIAS); + results.basicStringTest(repo.getRepo(REPOID).getVersion(), REPOVERSION); + results.basicStringTest(repo.getRepo(REPOID).getManagerUuid(), MGRID); + } + + @Test + public void testDiscoverRepoDetails() throws Ovm3ResourceException { + con.setResult(results.simpleResponseWrapWrapper(this.REPODISCOVERXML)); + repo.discoverRepo(REPOID); + results.basicBooleanTest(results.basicListHasString(repo + .getRepo(REPOID).getRepoVirtualDisks(), DISK), true); + results.basicBooleanTest(results.basicListHasString(repo + .getRepo(REPOID).getRepoVirtualMachines(), VM), true); + results.basicBooleanTest(results.basicListHasString(repo + .getRepo(REPOID).getRepoTemplates(), TEMPLATE + ".raw"), true); + results.basicBooleanTest(results.basicListHasString(repo + .getRepo(REPOID).getRepoISOs(), ISO), true); + results.basicBooleanTest(results.basicListHasString(repo + .getRepo(REPOID).getRepoISOs(), VM), false); + } + + @Test + public void testDiscoverRepoDb() throws Ovm3ResourceException { + con.setResult(results.simpleResponseWrapWrapper(this.REPODBDISCOVERXML)); + repo.discoverRepoDb(); + results.basicStringTest(repo.getRepoDb(REPOID).getUuid(), REPOID); + results.basicStringTest(repo.getRepoDb(REPOID).getAlias(), REPOALIAS); + results.basicStringTest(repo.getRepoDb(REPOID).getVersion(), + REPOVERSION); + results.basicStringTest(repo.getRepoDb(REPOID).getManagerUuid(), MGRID); + results.basicStringTest(repo.getRepoDb(REPOID).getMountPoint(), + LOCALMOUNT); + results.basicStringTest(repo.getRepoDb(REPOID).getFsLocation(), + REMOTENFS); + results.basicStringTest(repo.getRepoDb(REPOID).getStatus(), REPOSTATUS); + results.basicStringTest(repo.getRepoDb(REPOID).getFilesystemType(), + "nfs"); + } +}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c27c6943/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/StoragePluginTest.java ---------------------------------------------------------------------- diff --git a/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/StoragePluginTest.java b/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/StoragePluginTest.java new file mode 100644 index 0000000..b041508 --- /dev/null +++ b/plugins/hypervisors/ovm3/src/test/java/com/cloud/hypervisor/ovm3/objects/StoragePluginTest.java @@ -0,0 +1,358 @@ +/******************************************************************************* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http:www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + ******************************************************************************/ +package com.cloud.hypervisor.ovm3.objects; + +import static org.junit.Assert.assertNotNull; +import java.io.File; + +import org.junit.Test; + +import com.cloud.hypervisor.ovm3.objects.StoragePlugin.FileProperties; +import com.cloud.hypervisor.ovm3.objects.StoragePlugin.StorageDetails; + +public class StoragePluginTest { + ConnectionTest con = new ConnectionTest(); + StoragePlugin sPt = new StoragePlugin(con); + XmlTestResultTest results = new XmlTestResultTest(); + String NFSHOST = "nfs-store-1"; + String NFSPATH = "/volumes/cs-data/primary"; + String NFSMNT = "/nfsmnt"; + String FSPROPUUID = sPt.deDash(sPt.newUuid()); + String FSMNTUUID = sPt.newUuid(); + String POOLUUID = sPt.deDash(FSMNTUUID); + String FILE = "a.file"; + Long SIZE = 2096898048L; + String STORAGEPLUGINXML = "<string>" + + "<?xml version=\"1.0\" ?>" + + "<Discover_Storage_Plugins_Result>" + + "<storage_plugin_info_list>" + + "<storage_plugin_info plugin_impl_name=\"oracle.ocfs2.OCFS2.OCFS2Plugin\">" + + "<fs_api_version>1,2,7</fs_api_version>" + + "<generic_plugin>False</generic_plugin>" + + "<plugin_version>0.1.0-38</plugin_version>" + + "<filesys_type>LocalFS</filesys_type>" + + "<extended_api_version>None</extended_api_version>" + + "<plugin_desc>Oracle OCFS2 File system Storage Connect Plugin</plugin_desc>" + + "<cluster_required>True</cluster_required>" + + "<plugin_name>Oracle OCFS2 File system</plugin_name>" + + "<fs_extra_info_help>None</fs_extra_info_help>" + + "<required_api_vers>1,2,7</required_api_vers>" + + "<file_extra_info_help>None</file_extra_info_help>" + + "<ss_extra_info_help>None</ss_extra_info_help>" + + "<filesys_name>ocfs2</filesys_name>" + + "<vendor_name>Oracle</vendor_name>" + + "<plugin_type>ifs</plugin_type>" + + "<abilities>" + + "<resize_is_sync>YES</resize_is_sync>" + + "<clone_is_sync>YES</clone_is_sync>" + + "<access_control>NO</access_control>" + + "<custom_clone_name>YES</custom_clone_name>" + + "<require_storage_name>NO</require_storage_name>" + + "<backing_device_type>DEVICE_SINGLE</backing_device_type>" + + "<splitclone_while_open>NO</splitclone_while_open>" + + "<custom_snap_name>YES</custom_snap_name>" + + "<snapshot>ONLINE</snapshot>" + + "<splitclone>UNSUPPORTED</splitclone>" + + "<snap_is_sync>YES</snap_is_sync>" + + "<snapclone>ONLINE</snapclone>" + + "<splitclone_is_sync>NO</splitclone_is_sync>" + + "<clone>ONLINE</clone>" + + "<resize>ONLINE</resize>" + + "<snapclone_is_sync>YES</snapclone_is_sync>" + + "</abilities>" + + "</storage_plugin_info>" + + "<storage_plugin_info plugin_impl_name=\"oracle.generic.SCSIPlugin.GenericPlugin\">" + + "<storage_types>SAN,iSCSI</storage_types>" + + "<generic_plugin>True</generic_plugin>" + + "<plugin_version>1.1.0</plugin_version>" + + "<extended_api_version>1,2,9</extended_api_version>" + + "<plugin_desc>Oracle Storage Connect Plugin for Generic FC and iSCSI</plugin_desc>" + + "<plugin_name>Oracle Generic SCSI Plugin</plugin_name>" + + "<sa_api_version>1,2,7</sa_api_version>" + + "<required_api_vers>1,2,7</required_api_vers>" + + "<ss_extra_info_help>None</ss_extra_info_help>" + + "<se_extra_info_help>None</se_extra_info_help>" + + "<vendor_name>Oracle</vendor_name>" + + "<plugin_type>isa</plugin_type>" + + "<abilities>" + + "<resize_is_sync>UNSUPPORTED</resize_is_sync>" + + "<clone_is_sync>UNSUPPORTED</clone_is_sync>" + + "<access_control>NO</access_control>" + + "<custom_clone_name>UNSUPPORTED</custom_clone_name>" + + "<require_storage_name>UNSUPPORTED</require_storage_name>" + + "<custom_snap_name>UNSUPPORTED</custom_snap_name>" + + "<snapshot>UNSUPPORTED</snapshot>" + + "<splitclone>UNSUPPORTED</splitclone>" + + "<snap_is_sync>UNSUPPORTED</snap_is_sync>" + + "<snapclone>UNSUPPORTED</snapclone>" + + "<splitclone_is_sync>UNSUPPORTED</splitclone_is_sync>" + + "<clone>UNSUPPORTED</clone>" + + "<resize>UNSUPPORTED</resize>" + + "<snapclone_is_sync>UNSUPPORTED</snapclone_is_sync>" + + "</abilities>" + + "</storage_plugin_info>" + + "<storage_plugin_info plugin_impl_name=\"oracle.generic.NFSPlugin.GenericNFSPlugin\">" + + "<fs_api_version>1,2,7</fs_api_version>" + + "<generic_plugin>True</generic_plugin>" + + "<plugin_version>1.1.0</plugin_version>" + + "<filesys_type>NetworkFS</filesys_type>" + + "<extended_api_version>None</extended_api_version>" + + "<plugin_desc>Oracle Generic Network File System Storage Connect Plugin</plugin_desc>" + + "<cluster_required>False</cluster_required>" + + "<plugin_name>Oracle Generic Network File System</plugin_name>" + + "<fs_extra_info_help>None</fs_extra_info_help>" + + "<required_api_vers>1,2,7</required_api_vers>" + + "<file_extra_info_help>None</file_extra_info_help>" + + "<ss_extra_info_help>None</ss_extra_info_help>" + + "<filesys_name>NFS</filesys_name>" + + "<vendor_name>Oracle</vendor_name>" + + "<plugin_type>ifs</plugin_type>" + + "<abilities>" + + "<resize_is_sync>UNSUPPORTED</resize_is_sync>" + + "<clone_is_sync>UNSUPPORTED</clone_is_sync>" + + "<access_control>NO</access_control>" + + "<custom_clone_name>UNSUPPORTED</custom_clone_name>" + + "<require_storage_name>NO</require_storage_name>" + + "<backing_device_type>UNSUPPORTED</backing_device_type>" + + "<splitclone_while_open>UNSUPPORTED</splitclone_while_open>" + + "<custom_snap_name>UNSUPPORTED</custom_snap_name>" + + "<snapshot>UNSUPPORTED</snapshot>" + + "<splitclone>UNSUPPORTED</splitclone>" + + "<snap_is_sync>UNSUPPORTED</snap_is_sync>" + + "<snapclone>UNSUPPORTED</snapclone>" + + "<splitclone_is_sync>UNSUPPORTED</splitclone_is_sync>" + + "<clone>UNSUPPORTED</clone>" + + "<resize>UNSUPPORTED</resize>" + + "<snapclone_is_sync>UNSUPPORTED</snapclone_is_sync>" + + "</abilities>" + "</storage_plugin_info>" + + "</storage_plugin_info_list>" + + "</Discover_Storage_Plugins_Result>" + "</string>"; + String NFSMOUNTRESPONSEXML = "<struct>" + "<member>" + + "<name>status</name>" + "<value><string></string></value>" + + "</member>" + "<member>" + "<name>uuid</name>" + + "<value><string>" + + FSPROPUUID + + "</string></value>" + + "</member>" + + "<member>" + + "<name>ss_uuid</name>" + + "<value><string>" + + FSMNTUUID + + "</string></value>" + + "</member>" + + "<member>" + + "<name>size</name>" + + "<value><string>263166853120</string></value>" + + "</member>" + + "<member>" + + "<name>free_sz</name>" + + "<value><string>259377299456</string></value>" + + "</member>" + + "<member>" + + "<name>state</name>" + + "<value><string>1</string></value>" + + "</member>" + + "<member>" + + "<name>mount_options</name>" + + "<value><array><data>" + + "</data></array></value>" + + "</member>" + + "<member>" + + "<name>access_grp_names</name>" + + "<value><array><data>" + + "</data></array></value>" + + "</member>" + + "<member>" + + "<name>access_path</name>" + + "<value><string>" + + NFSHOST + + ":" + + NFSPATH + + "</string></value>" + + "</member>" + + "<member>" + + "<name>name</name>" + + "<value><string>nfs:" + + NFSPATH + + "</string></value>" + "</member>" + "</struct>"; + public String getNfsMountResponseXml() { + return NFSMOUNTRESPONSEXML; + } + + public String getNfsFileSystemInfo() { + return NFSFILESYSTEMINFO; + } + public String getFileCreateXml() { + return FILECREATEXML; + } + public Long getFileSize() { + return SIZE; + } + public String getPoolUuid() { + return POOLUUID; + } + public String getFileName() { + return FILE; + } + String NFSFILESYSTEMINFO = NFSMOUNTRESPONSEXML; + String FILECREATEXML = "<struct>" + "<member>" + "<name>fr_type</name>" + + "<value><string>File</string></value>" + "</member>" + "<member>" + + "<name>ondisk_sz</name>" + "<value><string>0</string></value>" + + "</member>" + "<member>" + "<name>fs_uuid</name>" + + "<value><string>" + FSMNTUUID + "</string></value>" + "</member>" + + "<member>" + "<name>file_path</name>" + + "<value><string>/OVS/Repositories/" + POOLUUID + "/VirtualDisks/" + + FILE + "</string></value>" + "</member>" + "<member>" + + "<name>file_sz</name>" + "<value><string>" + SIZE + + "</string></value>" + "</member>" + "</struct>"; + + @Test + public void testNFSStorageMountCreation() throws Ovm3ResourceException { + con.setResult(results.simpleResponseWrapWrapper(NFSMOUNTRESPONSEXML)); + StorageDetails sd = sPt.storagePluginMountNFS(NFSHOST, NFSPATH, + FSMNTUUID, NFSMNT); + con.setResult(results.simpleResponseWrapWrapper(NFSMOUNTRESPONSEXML)); + NFSMNT = NFSMNT + File.separator + FSMNTUUID; + sd = sPt.storagePluginMountNFS(NFSHOST, NFSPATH, FSMNTUUID, NFSMNT); + results.basicLongTest(Long.valueOf(sd.getSize()), 263166853120L); + results.basicLongTest(Long.valueOf(sd.getFreeSize()), 259377299456L); + results.basicStringTest(sd.getName(), "nfs:" + NFSPATH); + results.basicStringTest(sd.getUuid(), FSPROPUUID); + results.basicStringTest(sd.getDetailsRelationalUuid(),FSMNTUUID); + } + + @Test + public void testNFSStorageUnmount() throws Ovm3ResourceException { + con.setResult(results.getNil()); + results.basicBooleanTest(sPt.storagePluginUnmountNFS(NFSHOST, NFSPATH, FSMNTUUID, NFSMNT)); + } + + @Test(expected = Ovm3ResourceException.class) + public void testStoragePluginIncorrectSsUuid() throws Ovm3ResourceException { + sPt.getStorageDetails().setDetailsRelationalUuid(FSMNTUUID); + } + + @Test(expected = Ovm3ResourceException.class) + public void testStoragePluginIncorrectMntUuid() + throws Ovm3ResourceException { + sPt.getStorageDetails().setUuid(FSPROPUUID); + } + + @Test(expected = Ovm3ResourceException.class) + public void testStoragePluginIncorrectUuid() throws Ovm3ResourceException { + sPt.getStorageServer().setUuid(FSMNTUUID); + } + + @Test(expected = Ovm3ResourceException.class) + public void testStoragePluginNFSmountInvalidUuid() + throws Ovm3ResourceException { + NFSMOUNTRESPONSEXML = NFSMOUNTRESPONSEXML.replaceAll(FSPROPUUID, + sPt.deDash(FSMNTUUID)); + con.setResult(results.simpleResponseWrapWrapper(NFSMOUNTRESPONSEXML)); + assertNotNull(sPt.storagePluginMountNFS(NFSHOST, NFSPATH, + FSPROPUUID, NFSMNT)); + } + + @Test + public void testStorageFileCreation() throws Ovm3ResourceException { + con.setResult(results.simpleResponseWrapWrapper(FILECREATEXML)); + FileProperties file = sPt.storagePluginCreate(FSMNTUUID, NFSHOST, FILE, + SIZE, false); + file.getOnDiskSize(); + } + + @Test(expected = Ovm3ResourceException.class) + public void testStorageFileCreationFileExistS() + throws Ovm3ResourceException { + con.setResult(results + .errorResponseWrap("exceptions OSError:[Errno.17] File exists " + + FILE)); + FileProperties file = sPt.storagePluginCreate(FSMNTUUID, NFSHOST, FILE, + SIZE, false); + file.getSize(); + } + + @Test + public void testStorageFileInfo() throws Ovm3ResourceException { + con.setResult(results.simpleResponseWrapWrapper(FILECREATEXML)); + FileProperties file = sPt.storagePluginGetFileInfo(FSMNTUUID, NFSHOST, + FILE); + file.getName(); + file.getUuid(); + file.getType(); + file.getSize(); + } + + @Test + public void testDiscoverStoragePlugins() throws Ovm3ResourceException { + con.setResult(results.simpleResponseWrapWrapper(STORAGEPLUGINXML)); + for (String plugin : sPt.discoverStoragePlugins()) { + sPt.checkStoragePluginProperties(plugin, "plugin_version"); + sPt.checkStoragePluginAbility(plugin, "snapshot"); + } + } + + @Test(expected = Ovm3ResourceException.class) + public void testCheckStoragePluginBogusPlugin() + throws Ovm3ResourceException { + con.setResult(results.simpleResponseWrapWrapper(STORAGEPLUGINXML)); + sPt.checkStoragePluginProperties("bogus", "plugin_version"); + } + + @Test(expected = Ovm3ResourceException.class) + public void testCheckStoragePluginBogusProperty() + throws Ovm3ResourceException { + con.setResult(results.simpleResponseWrapWrapper(STORAGEPLUGINXML)); + sPt.checkStoragePluginAbility(sPt.getPluginType(), "blabla"); + } + + @Test + public void testMounts() throws Ovm3ResourceException { + con.setResult(results.simpleResponseWrapWrapper(NFSMOUNTRESPONSEXML)); + sPt.storagePluginListFs(NFSHOST); + } + + @Test + public void testGetFileSystemInfo() throws Ovm3ResourceException { + con.setResult(results.simpleResponseWrapWrapper(NFSMOUNTRESPONSEXML)); + sPt.storagePluginGetFileSystemInfo(FSPROPUUID, FSMNTUUID, NFSHOST, + NFSPATH); + } + + @Test + public void testStoragepluginDestroy() throws Ovm3ResourceException { + con.setResult(results.getNil()); + sPt.storagePluginDestroy(FSMNTUUID, FILE); + } + + @Test(expected = Ovm3ResourceException.class) + public void testStoragepluginDestroyWrongUUID() + throws Ovm3ResourceException { + con.setResult(results.getNil()); + sPt.storagePluginDestroy(FSPROPUUID, FILE); + } + + @Test + public void testStoragePluginSwitch() throws Ovm3ResourceException { + con.setResult(results.simpleResponseWrapWrapper(STORAGEPLUGINXML)); + sPt.setISCSI(); + sPt.setNFS(); + sPt.setOCFS2(); + } +}