@Override protected MapSqlParameterSource createFullParametersMapper(UnregisteredDisk entity) { return createIdParameterMapper(entity.getId()) .addValue("disk_alias", entity.getDiskAlias()) .addValue("disk_description", entity.getDiskDescription()) .addValue("creation_date", entity.getDiskImage().getCreationDate()) .addValue("last_modified", entity.getDiskImage().getLastModified()) .addValue("volume_type", entity.getDiskImage().getVolumeType()) .addValue("volume_format", entity.getDiskImage().getVolumeFormat()) .addValue("actual_size", entity.getDiskImage().getActualSizeInBytes()) .addValue("size", entity.getDiskImage().getSize()) .addValue("image_id", entity.getDiskImage().getImageId()); }
@Test public void testSaveDiskWithAliasAndDescription() { ArrayList<VmBase> vms = new ArrayList<>(); UnregisteredDisk unregisteredDisk = initUnregisteredDisks(vms); dao.saveUnregisteredDisk(unregisteredDisk); List<UnregisteredDisk> fetchedUnregisteredDisk = dao.getByDiskIdAndStorageDomainId(unregisteredDisk.getDiskId(), FixturesTool.STORAGE_DOMAIN_NFS2_1); assertTrue(!fetchedUnregisteredDisk.isEmpty(), "Disk should exists in the UnregisteredDisks table"); assertTrue(fetchedUnregisteredDisk.get(0).getVms().isEmpty(), "Disk should not have multiple vms attached"); assertEquals("Disk Alias", fetchedUnregisteredDisk.get(0).getDiskAlias(), "Disk alias should be the same as initialized"); assertEquals("Disk Description", fetchedUnregisteredDisk.get(0).getDiskDescription(), "Disk description should be the same as initialized"); assertEquals(0, fetchedUnregisteredDisk.get(0).getStorageDomainId().compareTo(FixturesTool.STORAGE_DOMAIN_NFS2_1), "Storage Domain id should be the same as initialized"); }
public void setStorageDomainId(Guid storageDomainId) { ArrayList<Guid> storageIds = new ArrayList<>(); storageIds.add(storageDomainId); getDiskImage().setStorageIds(storageIds); }
@Test public void testGetDiskAttachedToMultipleVmsWithoutAliasAndDescription() { List<UnregisteredDisk> unregisteredDisk = dao.getByDiskIdAndStorageDomainId(FixturesTool.UNREGISTERED_DISK5, FixturesTool.STORAGE_DOMAIN_NFS2_1); assertTrue(!unregisteredDisk.isEmpty(), "Disk should exists in the UnregisteredDisks table"); assertEquals(1, unregisteredDisk.get(0).getVms().size(), "Disk should be attached to VM"); assertTrue(unregisteredDisk.get(0).getDiskAlias().isEmpty(), "Disk should have an empty disk alias"); assertTrue(StringUtils.isEmpty(unregisteredDisk.get(0).getDiskDescription()), "Disk should have an empty disk description"); }
@Test public void testGetDiskAttachedToMultipleVmsWithoutDescription() { List<UnregisteredDisk> unregisteredDisk = dao.getByDiskIdAndStorageDomainId(FixturesTool.UNREGISTERED_DISK4, FixturesTool.STORAGE_DOMAIN_NFS2_1); assertTrue(!unregisteredDisk.isEmpty(), "Disk should exists in the UnregisteredDisks table"); assertEquals(1, unregisteredDisk.get(0).getVms().size(), "Disk should be attached to VM"); assertFalse(unregisteredDisk.get(0).getDiskImage().getDiskAlias().isEmpty(), "Disk should have disk alias"); assertTrue(StringUtils.isEmpty(unregisteredDisk.get(0).getDiskImage().getDiskDescription()), "Disk should have an empty disk description"); }
public void updateUnregisteredDisksWithVMs(List<UnregisteredDisk> unregisteredDisks, Guid entityId, String vmName, XmlDocument xmlDocument) { for (Guid diskId : fetchVmDisks(xmlDocument)) { UnregisteredDisk unregisterDisk = unregisteredDisks.stream() .filter(unregrDisk -> diskId.equals(unregrDisk.getDiskId())) .findAny() .orElse(null); VmBase vm = new VmBase(); vm.setId(entityId); vm.setName(vmName); if (unregisterDisk != null) { unregisterDisk.getVms().add(vm); } } }
@Override public void saveUnregisteredDisk(UnregisteredDisk disk) { // OVF data is not included since it is being updated in the stored procedure. getCallsHandler().executeModification("InsertUnregisteredDisk", createFullParametersMapper(disk)); for (VmBase vmBase : disk.getVms()) { getCallsHandler().executeModification("InsertUnregisteredDisksToVms", createIdParameterMapper(disk.getId()) .addValue("entity_id", vmBase.getId()) .addValue("entity_name", vmBase.getName())); } }
@Test public void testGetDiskAttachedToMultipleVms() { List<UnregisteredDisk> unregisteredDisk = dao.getByDiskIdAndStorageDomainId(FixturesTool.UNREGISTERED_DISK3, FixturesTool.STORAGE_DOMAIN_NFS2_1); assertTrue(!unregisteredDisk.isEmpty(), "Disk should exists in the UnregisteredDisks table"); assertEquals(1, unregisteredDisk.get(0).getVms().size(), "Disk should be attached to VM"); }
@Override public Object getQueryableId() { return getId(); }
private UnregisteredDisk initUnregisteredDisks(ArrayList<VmBase> vms) { DiskImage diskImage = new DiskImage(); diskImage.setId(Guid.newGuid()); diskImage.setDiskAlias("Disk Alias"); diskImage.setDiskDescription("Disk Description"); diskImage.setStorageIds(new ArrayList<>(Collections.singletonList(FixturesTool.STORAGE_DOMAIN_NFS2_1))); UnregisteredDiskId id = new UnregisteredDiskId(diskImage.getId(), diskImage.getStorageIds().get(0)); return new UnregisteredDisk(id, diskImage, vms); }
@Test public void testSaveAttachedDiskWithoutAliasAndDescription() { VmBase vm1 = new VmBase(); vm1.setId(Guid.newGuid()); vm1.setName("First VM"); ArrayList<VmBase> vms = new ArrayList<>(); vms.add(vm1); // Set new disk image. DiskImage diskImage = new DiskImage(); diskImage.setId(Guid.newGuid()); diskImage.setStorageIds(new ArrayList<>(Collections.singletonList(FixturesTool.STORAGE_DOMAIN_NFS2_1))); UnregisteredDiskId id = new UnregisteredDiskId(diskImage.getId(), diskImage.getStorageIds().get(0)); UnregisteredDisk unregDisk = new UnregisteredDisk(id, diskImage, vms); dao.saveUnregisteredDisk(unregDisk); List<UnregisteredDisk> fetchedUnregisteredDisk = dao.getByDiskIdAndStorageDomainId(unregDisk.getDiskId(), FixturesTool.STORAGE_DOMAIN_NFS2_1); assertTrue(!fetchedUnregisteredDisk.isEmpty(), "Disk should exists in the UnregisteredDisks table"); assertEquals(1, fetchedUnregisteredDisk.get(0).getVms().size(), "Disk should have vm attached"); assertTrue(fetchedUnregisteredDisk.get(0).getDiskAlias().isEmpty(), "Disk alias should not be initialized"); assertTrue(StringUtils.isEmpty(fetchedUnregisteredDisk.get(0).getDiskDescription()), "Disk description should not be initialized"); assertEquals(0, fetchedUnregisteredDisk.get(0).getStorageDomainId().compareTo(FixturesTool.STORAGE_DOMAIN_NFS2_1), "Storage Domain id should be the same as initialized"); } }
public String getDiskAlias() { return getDiskImage().getDiskAlias(); }
@Override public List<UnregisteredDisk> getByDiskIdAndStorageDomainId(Guid diskId, Guid storageDomainId) { List<UnregisteredDisk> unregisteredDisks = getCallsHandler().executeReadList("GetDiskByDiskIdAndStorageDomainId", unregisteredDiskRowMapper, createIdParameterMapper(new UnregisteredDiskId(diskId, storageDomainId))); for (UnregisteredDisk unregDisk : unregisteredDisks) { List<VmBase> vms = getCallsHandler().executeReadList("GetEntitiesByDiskId", vmsForUnregisteredDiskRowMapper, getCustomMapSqlParameterSource().addValue("disk_id", unregDisk.getDiskId())); unregDisk.getVms().addAll(vms); } return unregisteredDisks; }
@Test public void testGetDiskForAllStorageDomain() { List<UnregisteredDisk> unregisteredDisk = dao.getByDiskIdAndStorageDomainId(FixturesTool.UNREGISTERED_DISK, null); assertTrue(!unregisteredDisk.isEmpty(), "Disk should exists in the UnregisteredDisks table"); assertTrue(unregisteredDisk.get(0).getVms().isEmpty(), "Disk should exists in the UnregisteredDisks table"); }
public Guid getDiskId() { return getId().getDiskId(); }
public Guid getStorageDomainId() { return getDiskImage().getStorageIds().get(0); }
@Test public void testGetDiskAttachedToVm() { List<UnregisteredDisk> unregisteredDisk = dao.getByDiskIdAndStorageDomainId(FixturesTool.UNREGISTERED_DISK2, FixturesTool.STORAGE_DOMAIN_NFS2_1); assertTrue(!unregisteredDisk.isEmpty(), "Disk should exists in the UnregisteredDisks table"); assertEquals(1, unregisteredDisk.get(0).getVms().size(), "Disk should have one vm attached"); }
public void setDiskId(Guid diskId) { getId().setDiskId(diskId); }
public void setDiskAlias(String diskAlias) { getDiskImage().setDiskAlias(diskAlias); }
@Test public void testGetWithDiskId() { List<UnregisteredDisk> unregisteredDisk = dao.getByDiskIdAndStorageDomainId(FixturesTool.UNREGISTERED_DISK, FixturesTool.STORAGE_DOMAIN_NFS2_1); assertTrue(!unregisteredDisk.isEmpty(), "Disk should exists in the UnregisteredDisks table"); assertTrue(unregisteredDisk.get(0).getVms().isEmpty(), "Vms id should be empty list in the UnregisteredDisks table"); }