@Test
  public void nullifiedSnapshotOnUpdateDiskToShareable() {
    UpdateVmDiskParameters parameters = createParameters();
    DiskImage disk = createShareableDisk(VolumeFormat.RAW);
    parameters.setDiskInfo(disk);
    StorageDomain storage = addNewStorageDomainToDisk(disk, StorageType.NFS);
    parameters.setDiskInfo(disk);

    DiskImage oldDisk = createDiskImage();
    oldDisk.setVmSnapshotId(Guid.newGuid());

    when(diskDao.get(diskImageGuid)).thenReturn(oldDisk);
    when(storageDomainStaticDao.get(storage.getId())).thenReturn(storage.getStorageStaticData());

    initializeCommand(parameters);
    mockVdsCommandSetVolumeDescription();
    mockInterfaceList();

    CanDoActionTestUtils.runAndAssertCanDoActionSuccess(command);
    command.executeVmCommand();
    assertTrue(oldDisk.getVmSnapshotId() == null);
  }
  @Test
  public void canDoActionFailedShareableDiskOnGlusterDomain() throws Exception {
    UpdateVmDiskParameters parameters = createParameters();
    DiskImage disk = createShareableDisk(VolumeFormat.RAW);
    StorageDomain storage = addNewStorageDomainToDisk(disk, StorageType.GLUSTERFS);
    parameters.setDiskInfo(disk);

    when(diskDao.get(diskImageGuid)).thenReturn(createDiskImage());
    when(storageDomainStaticDao.get(storage.getId())).thenReturn(storage.getStorageStaticData());
    initializeCommand(parameters);

    CanDoActionTestUtils.runAndAssertCanDoActionFailure(
        command, EngineMessage.ACTION_TYPE_FAILED_SHAREABLE_DISKS_NOT_SUPPORTED_ON_GLUSTER_DOMAIN);
  }
  @Test
  public void canDoActionFailedShareableDiskVolumeFormatUnsupported() throws Exception {
    UpdateVmDiskParameters parameters = createParameters();
    DiskImage disk = createShareableDisk(VolumeFormat.COW);
    StorageDomain storage = addNewStorageDomainToDisk(disk, StorageType.NFS);
    parameters.setDiskInfo(disk);

    when(diskDao.get(diskImageGuid)).thenReturn(createDiskImage());
    when(storageDomainStaticDao.get(storage.getId())).thenReturn(storage.getStorageStaticData());
    initializeCommand(parameters);

    CanDoActionTestUtils.runAndAssertCanDoActionFailure(
        command, EngineMessage.SHAREABLE_DISK_IS_NOT_SUPPORTED_BY_VOLUME_FORMAT);
  }