@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 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 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 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 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); }