@Test public void testGetDefaultQuotaToDCWithoutDefaultQuotaWithNoReuse() throws Exception { String defaultQuotaName = quotaHelper.getDefaultQuotaName(storagePool.getname()); when(quotaHelper.generateDefaultQuotaName(storagePool)).thenReturn(defaultQuotaName); Quota quotaUnlimited = quotaHelper.getUnlimitedQuota(mockStoragePool(), true, false).getFirst(); assertQuotaUnlimited(quotaUnlimited); assertQuotaUnlimitedName(quotaUnlimited); }
@Test public void testValidGlobalStorageLimitation() throws Exception { List<String> messages = new ArrayList<String>(); Quota quota = mockGeneralStorageQuota(); quota.setIsDefaultQuota(false); mockStorageDomains(); assertTrue(quotaHelper.checkQuotaValidationForAdd(quota, messages)); assertTrue(quotaHelper.checkQuotaValidationForEdit(quota, messages)); }
@Test public void testGetDefaultQuotaForDCWithDefaultQuota() throws Exception { when(quotaDAO.getDefaultQuotaByStoragePoolId(storagePoolUUID)) .thenReturn(mockGeneralStorageQuota()); String defaultQuotaName = quotaHelper.getDefaultQuotaName(storagePool.getname()); when(quotaHelper.generateDefaultQuotaName(storagePool)).thenReturn(defaultQuotaName); Quota quotaUnlimited = quotaHelper.getUnlimitedQuota(mockStoragePool(), true); assertQuotaUnlimited(quotaUnlimited); assertQuotaUnlimitedName(quotaUnlimited); }
@Test public void testStorageEmptyQuota() throws Exception { List<String> messages = new ArrayList<String>(); Quota quota = mockGeneralStorageQuota(); quota.setIsDefaultQuota(false); quota.setGlobalQuotaStorage(null); boolean isQuotaValid = quotaHelper.checkQuotaValidationForAdd(quota, messages); assertTrue(isQuotaValid); isQuotaValid = quotaHelper.checkQuotaValidationForEdit(quota, messages); assertTrue(isQuotaValid); }
@Test public void testMultiSpecificVdsGroupQuota() throws Exception { List<String> messages = new ArrayList<String>(); Quota quota = mockMultiSpecificVdsGroupQuota(); boolean isQuotaValid = quotaHelper.checkQuotaValidationForAdd(quota, messages); assertTrue(isQuotaValid); isQuotaValid = quotaHelper.checkQuotaValidationForEdit(quota, messages); assertTrue(isQuotaValid); }
@Test public void testRamEmptyQuota() throws Exception { List<String> messages = new ArrayList<String>(); Quota quota = mockSpecificVdsGroupQuota(); for (QuotaVdsGroup quotaVdsGroup : quota.getQuotaVdsGroups()) { quotaVdsGroup.setMemSizeMB(null); } quota.setGlobalQuotaVdsGroup(null); boolean isQuotaValid = quotaHelper.checkQuotaValidationForAdd(quota, messages); assertTrue(isQuotaValid); isQuotaValid = quotaHelper.checkQuotaValidationForEdit(quota, messages); assertTrue(isQuotaValid); }
@Test public void testValidSpecificStorageLimitation() throws Exception { List<String> messages = new ArrayList<String>(); firstStorageDomains.setused_disk_size(0); firstStorageDomains.setavailable_disk_size(100); Quota quota = mockGeneralStorageQuota(); quota.setIsDefaultQuota(false); when(storageDomainDAO.getForStoragePool(firstStorageDomainUUID, storagePoolUUID)) .thenReturn(firstStorageDomains); boolean isQuotaValid = quotaHelper.checkQuotaValidationForAdd(quota, messages); assertTrue(isQuotaValid); isQuotaValid = quotaHelper.checkQuotaValidationForEdit(quota, messages); assertTrue(isQuotaValid); }
@Test public void testGetDefaultQuotaWithNullIDWithResue() throws Exception { storage_pool mockStoragePool = mockStoragePool(); mockStoragePool.setId(null); Quota quotaUnlimited = quotaHelper.getUnlimitedQuota(mockStoragePool, true, true).getFirst(); assertNull(quotaUnlimited); verifyZeroInteractions(quotaDAO); }
@Test public void testUpdateSameQuotaWithoutChangingName() throws Exception { List<String> messages = new ArrayList<String>(); Quota mockQuota = mockGeneralStorageQuota(); when(quotaDAO.getQuotaByQuotaName(quotaName)).thenReturn(mockQuota); boolean isQuotaValid = quotaHelper.checkQuotaNameExisting(mockQuota, messages); assertTrue(isQuotaValid); }
@Test public void testGetUnlimitedQuota() throws Exception { Quota quotaUnlimited = quotaHelper.getUnlimitedQuota(mockStoragePool(), false); assertEquals(QuotaHelper.UNLIMITED, quotaUnlimited.getGlobalQuotaStorage().getStorageSizeGB()); assertEquals( QuotaHelper.UNLIMITED.intValue(), quotaUnlimited.getGlobalQuotaVdsGroup().getVirtualCpu().intValue()); assertEquals(QuotaHelper.UNLIMITED, quotaUnlimited.getGlobalQuotaVdsGroup().getMemSizeMB()); }
@Test public void testQuotaWithReservedName() throws Exception { List<String> messages = new ArrayList<String>(); Quota mockQuota = mockGeneralStorageQuota(); mockQuota.setIsDefaultQuota(false); mockQuota.setQuotaName("DefaultQuota-Storage pool name"); boolean isQuotaValid = quotaHelper.checkQuotaNamePrefixReserved(mockQuota, messages); assertTrue( messages.contains( VdcBllMessages.ACTION_TYPE_FAILED_QUOTA_NAME_RESERVED_FOR_DEFAULT.toString())); assertFalse(isQuotaValid); }
@Test public void testQuotaWithSameNameExists() throws Exception { List<String> messages = new ArrayList<String>(); Quota mockQuota = mockGeneralStorageQuota(); when(quotaDAO.getQuotaByQuotaName(quotaName)).thenReturn(mockQuota); Quota sameMockedQuotaWithDifferentId = mockGeneralStorageQuota(); boolean isQuotaValid = quotaHelper.checkQuotaNameExisting(sameMockedQuotaWithDifferentId, messages); assertTrue( messages.contains(VdcBllMessages.ACTION_TYPE_FAILED_QUOTA_NAME_ALREADY_EXISTS.toString())); assertFalse(isQuotaValid); }
@Test public void testAddSpecificVdsGroupAndStorageQuota() throws Exception { List<String> messages = new ArrayList<String>(); // Get quota for specific Vds Groups Quota quota = mockMultiSpecificVdsGroupQuota(); // Get specific storage quota to initialize the vds group quota fetched before with its storage // list. Quota quotaStorage = mockMultiSpecificStorageQuota(); quota.setQuotaStorages(quotaStorage.getQuotaStorages()); // Set global limitation with null value to specify the quota is only for specific storage // limitations. quota.setGlobalQuotaStorage(null); // Mock storage domains with enough space for request. mockStorageDomains(); assertTrue(quotaHelper.checkQuotaValidationForAdd(quota, messages)); assertTrue(quotaHelper.checkQuotaValidationForEdit(quota, messages)); }
@Test public void testGlobalAndSpecificRamForVdsGroup() throws Exception { List<String> messages = new ArrayList<String>(); Quota quota = mockSpecificVdsGroupQuota(); // Set new global quota for vds group. QuotaVdsGroup quotaVdsGroup = new QuotaVdsGroup(); quotaVdsGroup.setMemSizeMB(2l); quota.setGlobalQuotaVdsGroup(quotaVdsGroup); boolean isQuotaValid = quotaHelper.checkQuotaValidationForAdd(quota, messages); assertTrue( messages.contains( VdcBllMessages.ACTION_TYPE_FAILED_QUOTA_LIMIT_IS_SPECIFIC_AND_GENERAL.toString())); assertFalse(isQuotaValid); isQuotaValid = quotaHelper.checkQuotaValidationForEdit(quota, messages); assertTrue( messages.contains( VdcBllMessages.ACTION_TYPE_FAILED_QUOTA_LIMIT_IS_SPECIFIC_AND_GENERAL.toString())); assertFalse(isQuotaValid); }
@Test public void testSpecificRamWithGlobalCpuQuota() throws Exception { List<String> messages = new ArrayList<String>(); // Get specific quota for vds Quota, which will be configured as general. Quota quota = mockSpecificVdsGroupQuota(); // Iterate over all the vds groups and set the virtual cpu to null. for (QuotaVdsGroup quotaVdsGroup : quota.getQuotaVdsGroups()) { quotaVdsGroup.setVirtualCpu(null); } // Set the global limitation of cpu to specific number. // Set new global quota for vds group. QuotaVdsGroup quotaVdsGroup = new QuotaVdsGroup(); quotaVdsGroup.setVirtualCpu(20); quota.setGlobalQuotaVdsGroup(quotaVdsGroup); boolean isQuotaValid = quotaHelper.checkQuotaValidationForAdd(quota, messages); assertFalse(isQuotaValid); isQuotaValid = quotaHelper.checkQuotaValidationForEdit(quota, messages); assertFalse(isQuotaValid); }
@Test public void testGetDefaultQuotaName() throws Exception { String quotaDefaultName = quotaHelper.getDefaultQuotaName(mockStoragePool()); String desiredQuotaDefaultName = "DefaultQuota-Storage pool name"; assertEquals(desiredQuotaDefaultName, quotaDefaultName); }
private static QuotaHelper getQuotaHelper() { QuotaHelper quotaHelper = QuotaHelper.getInstance(); return spy(quotaHelper); }
@Test public void testGetDefaultQuotaToDCWithoutDefaultQuotaWithReuse() throws Exception { when(quotaDAO.getDefaultQuotaByStoragePoolId(storagePoolUUID)).thenReturn(null); Quota quotaUnlimited = quotaHelper.getUnlimitedQuota(mockStoragePool(), true, true).getFirst(); assertQuotaUnlimited(quotaUnlimited); }