use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class DiskOperationsValidatorTest method testDisallowedOperations.
@Test
public void testDisallowedOperations() {
Disk disk = new DiskImage();
for (Map.Entry<ActionType, List<DiskContentType>> entry : DiskOperationsValidator.allowedCommandsOnTypes.entrySet()) {
EnumSet<DiskContentType> allowedTypes = EnumSet.copyOf(entry.getValue());
EnumSet<DiskContentType> disallowedTypes = EnumSet.complementOf(allowedTypes);
if (disallowedTypes.isEmpty()) {
continue;
}
disk.setContentType(disallowedTypes.iterator().next());
DiskOperationsValidator validator = new DiskOperationsValidator(disk);
assertThat(validator.isOperationAllowedOnDisk(entry.getKey()), failsWith(EngineMessage.ACTION_TYPE_FAILED_DISK_CONTENT_TYPE_NOT_SUPPORTED_FOR_OPERATION, String.format("$diskContentType %s", disk.getContentType())));
}
}
use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class DiskOperationsValidatorTest method testAllowedOperations.
@Test
public void testAllowedOperations() {
Disk disk = new DiskImage();
for (Map.Entry<ActionType, List<DiskContentType>> entry : DiskOperationsValidator.allowedCommandsOnTypes.entrySet()) {
disk.setContentType(entry.getValue().get(0));
DiskOperationsValidator validator = new DiskOperationsValidator(disk);
assertThat(validator.isOperationAllowedOnDisk(entry.getKey()), isValid());
}
}
use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class StorageDomainValidatorTest method invalidRunningVmsAndVmLeasesForBackupDomain.
@Test
public void invalidRunningVmsAndVmLeasesForBackupDomain() {
QueryReturnValue ret = new QueryReturnValue();
List<VmBase> vmLeases = new ArrayList<>();
VM vmWithLease = new VM();
vmWithLease.setName("firstVM");
vmLeases.add(vmWithLease.getStaticData());
ret.setReturnValue(vmLeases);
ret.setSucceeded(true);
// VM1
VM vm1 = new VM();
vm1.setName("firstVM");
Map<Guid, Disk> attachedDisksForVm1 = new HashMap<>();
DiskImage diskVm1 = new DiskImage();
diskVm1.setStorageIds(new ArrayList<>(Collections.singletonList(domain.getId())));
diskVm1.setPlugged(true);
attachedDisksForVm1.put(Guid.newGuid(), diskVm1);
vm1.setDiskMap(attachedDisksForVm1);
// VM2
VM vm2 = new VM();
vm2.setName("secondVM");
Map<Guid, Disk> attachedDisksForVm2 = new HashMap<>();
DiskImage diskVm2 = new DiskImage();
diskVm2.setStorageIds(new ArrayList<>(Collections.singletonList(domain.getId())));
diskVm2.setPlugged(true);
attachedDisksForVm2.put(Guid.newGuid(), diskVm2);
vm2.setDiskMap(attachedDisksForVm2);
List<VM> runningVMs = new ArrayList<>();
runningVMs.add(vm1);
runningVMs.add(vm2);
when(vmDao.getAllActiveForStorageDomain(any())).thenReturn(runningVMs);
doReturn(ret).when(validator).getEntitiesWithLeaseIdForStorageDomain(any());
assertThat(validator.isRunningVmsOrVmLeasesForBackupDomain(vmHandler), failsWith(EngineMessage.ACTION_TYPE_FAILED_RUNNING_VM_OR_VM_LEASES_PRESENT_ON_STORAGE_DOMAIN));
}
use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class StorageDomainValidatorTest method validRunningVmsWithUnpluggedDisksForBackupDomain.
@Test
public void validRunningVmsWithUnpluggedDisksForBackupDomain() {
// VM1
VM vm1 = new VM();
vm1.setName("firstVM");
Map<Guid, Disk> attachedDisksForVm1 = new HashMap<>();
DiskImage diskVm1 = new DiskImage();
diskVm1.setStorageIds(new ArrayList<>(Collections.singletonList(domain.getId())));
diskVm1.setPlugged(false);
attachedDisksForVm1.put(Guid.newGuid(), diskVm1);
vm1.setDiskMap(attachedDisksForVm1);
List<VM> runningVMs = new ArrayList<>();
runningVMs.add(vm1);
when(vmDao.getAllActiveForStorageDomain(any())).thenReturn(runningVMs);
QueryReturnValue ret = new QueryReturnValue();
ret.setReturnValue(new ArrayList<VmBase>());
ret.setSucceeded(true);
doReturn(ret).when(validator).getEntitiesWithLeaseIdForStorageDomain(any());
assertThat(validator.isRunningVmsOrVmLeasesForBackupDomain(vmHandler), isValid());
}
use of org.ovirt.engine.core.common.businessentities.storage.Disk in project ovirt-engine by oVirt.
the class RunVmValidatorTest method testVmWithDisks.
@Test
public void testVmWithDisks() {
List<Disk> disks = new ArrayList<>();
disks.add(new DiskImage());
validateResult(runVmValidator.validateBootSequence(new VM(), disks), true, null);
}
Aggregations