Skip to content

Commit 1c79d0d

Browse files
committed
Fix tests
1 parent 32ae56e commit 1c79d0d

File tree

2 files changed

+30
-16
lines changed

2 files changed

+30
-16
lines changed

server/src/main/java/com/cloud/vm/UserVmManagerImpl.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7516,7 +7516,7 @@ protected void verifyResourceLimitsForAccountAndStorage(Account account, UserVmV
75167516

75177517
logger.trace("Verifying if CPU and RAM for VM [{}] do not exceed account [{}] limit.", vm, account);
75187518

7519-
if (!VirtualMachineManager.ResourceCountRunningVMsonly.value()) {
7519+
if (!countOnlyRunningVmsInResourceLimitation()) {
75207520
resourceLimitService.checkVmResourceLimit(account, vm.isDisplayVm(), offering, template);
75217521
}
75227522

@@ -7525,6 +7525,10 @@ protected void verifyResourceLimitsForAccountAndStorage(Account account, UserVmV
75257525
checkVolumesLimits(account, volumes);
75267526
}
75277527

7528+
protected boolean countOnlyRunningVmsInResourceLimitation() {
7529+
return VirtualMachineManager.ResourceCountRunningVMsonly.value();
7530+
}
7531+
75287532
protected void validateIfNewOwnerHasAccessToTemplate(UserVmVO vm, Account newAccount, VirtualMachineTemplate template) {
75297533
logger.trace("Validating if new owner [{}] has access to the template specified for VM [{}].", newAccount, vm);
75307534

server/src/test/java/com/cloud/vm/UserVmManagerImplTest.java

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import java.util.Map;
4242

4343
import org.apache.cloudstack.acl.ControlledEntity;
44+
import org.apache.cloudstack.acl.SecurityChecker;
4445
import org.apache.cloudstack.api.BaseCmd.HTTPMethod;
4546
import org.apache.cloudstack.api.command.admin.vm.AssignVMCmd;
4647
import org.apache.cloudstack.api.command.user.vm.DeployVMCmd;
@@ -1916,13 +1917,25 @@ public void validateIfVmHasNoRulesTestOneToOneNatRulesDoNotExistDoesNotThrowInva
19161917
}
19171918

19181919
@Test
1919-
public void verifyResourceLimitsForAccountAndStorageTestDoesNotCallResourceLimitCheck() throws ResourceAllocationException {
1920+
public void verifyResourceLimitsForAccountAndStorageTestCountOnlyRunningVmsInResourceLimitationIsTrueDoesNotCallVmResourceLimitCheck() throws ResourceAllocationException {
19201921
LinkedList<VolumeVO> volumeVoList = new LinkedList<VolumeVO>();
1922+
Mockito.doReturn(true).when(userVmManagerImpl).countOnlyRunningVmsInResourceLimitation();
19211923

19221924
userVmManagerImpl.verifyResourceLimitsForAccountAndStorage(accountMock, userVmVoMock, serviceOfferingVoMock, volumeVoList, virtualMachineTemplateMock);
19231925

1924-
Mockito.verify(resourceLimitMgr, Mockito.never()).checkVmResourceLimit(Mockito.any(), Mockito.anyBoolean(), Mockito.any(), Mockito.any());
1926+
Mockito.verify(resourceLimitMgr, Mockito.never()).checkVmResourceLimit(Mockito.any(), Mockito.anyBoolean(), Mockito.any(), Mockito.any());
1927+
Mockito.verify(resourceLimitMgr).checkResourceLimit(accountMock, Resource.ResourceType.volume, 0l);
1928+
Mockito.verify(resourceLimitMgr).checkResourceLimit(accountMock, Resource.ResourceType.primary_storage, 0l);
1929+
}
19251930

1931+
@Test
1932+
public void verifyResourceLimitsForAccountAndStorageTestCountOnlyRunningVmsInResourceLimitationIsFalseCallsVmResourceLimitCheck() throws ResourceAllocationException {
1933+
LinkedList<VolumeVO> volumeVoList = new LinkedList<VolumeVO>();
1934+
Mockito.doReturn(false).when(userVmManagerImpl).countOnlyRunningVmsInResourceLimitation();
1935+
1936+
userVmManagerImpl.verifyResourceLimitsForAccountAndStorage(accountMock, userVmVoMock, serviceOfferingVoMock, volumeVoList, virtualMachineTemplateMock);
1937+
1938+
Mockito.verify(resourceLimitMgr).checkVmResourceLimit(Mockito.any(), Mockito.anyBoolean(), Mockito.any(), Mockito.any());
19261939
Mockito.verify(resourceLimitMgr).checkResourceLimit(accountMock, Resource.ResourceType.volume, 0l);
19271940
Mockito.verify(resourceLimitMgr).checkResourceLimit(accountMock, Resource.ResourceType.primary_storage, 0l);
19281941
}
@@ -1940,11 +1953,9 @@ public void validateIfNewOwnerHasAccessToTemplateTestTemplateIsNullThrowsInvalid
19401953

19411954
@Test
19421955
public void validateIfNewOwnerHasAccessToTemplateTestCallCheckAccessWhenTemplateIsNotPublic() {
1943-
Mockito.doReturn(accountMock).when(accountManager).getAccount(Mockito.anyLong());
1944-
19451956
userVmManagerImpl.validateIfNewOwnerHasAccessToTemplate(userVmVoMock, accountMock, virtualMachineTemplateMock);
19461957

1947-
Mockito.verify(accountManager).checkAccess(accountMock, null, true, accountMock);
1958+
Mockito.verify(accountManager).checkAccess(accountMock, SecurityChecker.AccessType.UseEntry, true, virtualMachineTemplateMock);
19481959
}
19491960

19501961
@Test
@@ -2472,11 +2483,10 @@ public void createApplicableNetworkToCreateVmTestFirstNetworkOfferingIsNotPersis
24722483
Mockito.doReturn(physicalNetworkVo).when(physicalNetworkDaoMock).findById(Mockito.anyLong());
24732484
Mockito.doReturn(false).when(networkOfferingVoMock).isPersistent();
24742485
Mockito.doReturn(networkMock).when(_networkMgr).createGuestNetwork(Mockito.anyLong(), Mockito.anyString(), Mockito.anyString(),
2475-
Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyBoolean(), Mockito.anyString(),
2476-
Mockito.any(), Mockito.anyLong(), Mockito.any(), Mockito.anyLong(), Mockito.any(), Mockito.anyBoolean(),
2477-
Mockito.anyLong(), Mockito.anyString(), Mockito.anyString(), Mockito.anyBoolean(), Mockito.anyString(),
2478-
Mockito.any(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(),
2479-
Mockito.anyString(), Mockito.anyString(), Mockito.any(), Mockito.anyInt());
2486+
Mockito.any(), Mockito.any(), Mockito.any(), Mockito.anyBoolean(), Mockito.any(), Mockito.any(), Mockito.any(),
2487+
Mockito.any(), Mockito.anyLong(), Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any(),
2488+
Mockito.anyBoolean(), Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any(),
2489+
Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any());
24802490
Mockito.doReturn(1l).when(networkMock).getId();
24812491
Mockito.doReturn(networkMock).when(_networkDao).findById(Mockito.anyLong());
24822492

@@ -2713,7 +2723,7 @@ public void updateAdvancedTypeNetworkForVmTestSecurityGroupIsEnabledApplicableNe
27132723
LinkedList<Long> securityGroupIdList = Mockito.mock(LinkedList.class);
27142724
LinkedList<Long> networkIdList = new LinkedList<Long>();
27152725

2716-
Mockito.doReturn(true).when(_dcMock).isSecurityGroupEnabled();
2726+
Mockito.doReturn(true).when(networkModel).checkSecurityGroupSupportForNetwork(Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any());
27172727

27182728
InvalidParameterValueException assertThrows = Assert.assertThrows(expectedInvalidParameterValueException, () -> {
27192729
userVmManagerImpl.updateAdvancedTypeNetworkForVm(assignVmCmdMock, callerAccount, userVmVoMock, accountMock, virtualMachineTemplateMock, virtualMachineProfileMock,
@@ -2735,7 +2745,7 @@ public void updateAdvancedTypeNetworkForVmTestSecurityGroupIsEnabledApplicableNe
27352745
Mockito.doReturn(networkMock).when(_networkDao).findById(Mockito.anyLong());
27362746
Mockito.doReturn(true).when(userVmManagerImpl).canAccountUseNetwork(accountMock, networkMock);
27372747

2738-
Mockito.doReturn(true).when(_dcMock).isSecurityGroupEnabled();
2748+
Mockito.doReturn(true).when(networkModel).checkSecurityGroupSupportForNetwork(accountMock, _dcMock, networkIdList, securityGroupIdList);
27392749

27402750
userVmManagerImpl.updateAdvancedTypeNetworkForVm(assignVmCmdMock, callerAccount, userVmVoMock, accountMock, virtualMachineTemplateMock, virtualMachineProfileMock, _dcMock,
27412751
networkIdList, securityGroupIdList);
@@ -2753,7 +2763,7 @@ public void updateAdvancedTypeNetworkForVmTestSecurityGroupIsNotEnabledSecurityG
27532763

27542764
securityGroupIdList.add(1l);
27552765

2756-
Mockito.doReturn(false).when(_dcMock).isSecurityGroupEnabled();
2766+
Mockito.doReturn(false).when(networkModel).checkSecurityGroupSupportForNetwork(accountMock, _dcMock, networkIdList, securityGroupIdList);
27572767

27582768
InvalidParameterValueException assertThrows = Assert.assertThrows(expectedInvalidParameterValueException, () -> {
27592769
userVmManagerImpl.updateAdvancedTypeNetworkForVm(assignVmCmdMock, callerAccount, userVmVoMock, accountMock, virtualMachineTemplateMock, virtualMachineProfileMock,
@@ -2773,7 +2783,7 @@ public void updateAdvancedTypeNetworkForVmTestSecurityGroupIsNotEnabledApplicabl
27732783
Mockito.doReturn(networkMock).when(userVmManagerImpl).addNicsToApplicableNetworksAndReturnDefaultNetwork(Mockito.any(), Mockito.anyMap(), Mockito.anyMap(), Mockito.any());
27742784
Mockito.doNothing().when(userVmManagerImpl).selectApplicableNetworkToCreateVm(Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any());
27752785

2776-
Mockito.doReturn(false).when(_dcMock).isSecurityGroupEnabled();
2786+
Mockito.doReturn(false).when(networkModel).checkSecurityGroupSupportForNetwork(accountMock, _dcMock, networkIdList, securityGroupIdList);
27772787
Mockito.doReturn(true).when(securityGroupIdList).isEmpty();
27782788

27792789
userVmManagerImpl.updateAdvancedTypeNetworkForVm(assignVmCmdMock, callerAccount, userVmVoMock, accountMock, virtualMachineTemplateMock, virtualMachineProfileMock, _dcMock,
@@ -2792,7 +2802,7 @@ public void updateAdvancedTypeNetworkForVmTestSecurityGroupIsNotEnabledApplicabl
27922802
LinkedList<Long> securityGroupIdList = Mockito.mock(LinkedList.class);
27932803
LinkedList<Long> networkIdList = new LinkedList<Long>();
27942804

2795-
Mockito.doReturn(false).when(_dcMock).isSecurityGroupEnabled();
2805+
Mockito.doReturn(false).when(networkModel).checkSecurityGroupSupportForNetwork(accountMock, _dcMock, networkIdList, securityGroupIdList);
27962806
Mockito.doReturn(true).when(securityGroupIdList).isEmpty();
27972807

27982808
Mockito.doReturn(new NicVO()).when(nicDao).findDefaultNicForVM(Mockito.anyLong());

0 commit comments

Comments
 (0)