4141import java .util .Map ;
4242
4343import org .apache .cloudstack .acl .ControlledEntity ;
44+ import org .apache .cloudstack .acl .SecurityChecker ;
4445import org .apache .cloudstack .api .BaseCmd .HTTPMethod ;
4546import org .apache .cloudstack .api .command .admin .vm .AssignVMCmd ;
4647import 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