Skip to content

Commit 255514d

Browse files
committed
added tests
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
1 parent 33cd623 commit 255514d

File tree

2 files changed

+58
-9
lines changed

2 files changed

+58
-9
lines changed

server/src/main/java/com/cloud/resourcelimit/ResourceLimitManagerImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -811,7 +811,7 @@ public List<ResourceLimitVO> searchForLimits(Long id, Long accountId, Long domai
811811
return limits;
812812
}
813813

814-
private List<ResourceLimitVO> getConsolidatedResourceLimitsForAllResourceTypes(Long accountId, Long domainId,
814+
protected List<ResourceLimitVO> getConsolidatedResourceLimitsForAllResourceTypes(Long accountId, Long domainId,
815815
List<ResourceLimitVO> foundLimits, boolean isAccount) {
816816
List<ResourceLimitVO> limits = new ArrayList<>(foundLimits);
817817

server/src/test/java/com/cloud/resourcelimit/ResourceLimitManagerImplTest.java

Lines changed: 57 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,17 @@
1616
// under the License.
1717
package com.cloud.resourcelimit;
1818

19+
import static org.mockito.Mockito.mock;
20+
import static org.mockito.Mockito.when;
21+
1922
import java.lang.reflect.Field;
2023
import java.util.ArrayList;
2124
import java.util.Arrays;
25+
import java.util.EnumSet;
2226
import java.util.HashMap;
2327
import java.util.List;
2428
import java.util.Map;
2529

26-
import com.cloud.event.ActionEventUtils;
27-
import com.cloud.event.EventTypes;
28-
import com.cloud.utils.db.EntityManager;
29-
3030
import org.apache.cloudstack.api.ApiCommandResourceType;
3131
import org.apache.cloudstack.api.response.AccountResponse;
3232
import org.apache.cloudstack.api.response.DomainResponse;
@@ -61,6 +61,8 @@
6161
import com.cloud.domain.Domain;
6262
import com.cloud.domain.DomainVO;
6363
import com.cloud.domain.dao.DomainDao;
64+
import com.cloud.event.ActionEventUtils;
65+
import com.cloud.event.EventTypes;
6466
import com.cloud.exception.ResourceAllocationException;
6567
import com.cloud.offering.DiskOffering;
6668
import com.cloud.offering.ServiceOffering;
@@ -74,21 +76,19 @@
7476
import com.cloud.storage.dao.VolumeDao;
7577
import com.cloud.template.VirtualMachineTemplate;
7678
import com.cloud.user.Account;
77-
import com.cloud.user.User;
7879
import com.cloud.user.AccountManager;
7980
import com.cloud.user.AccountVO;
8081
import com.cloud.user.ResourceLimitService;
82+
import com.cloud.user.User;
8183
import com.cloud.user.dao.AccountDao;
8284
import com.cloud.utils.Pair;
85+
import com.cloud.utils.db.EntityManager;
8386
import com.cloud.vm.VirtualMachine;
8487
import com.cloud.vm.VirtualMachineManager;
8588
import com.cloud.vm.dao.UserVmDao;
8689
import com.cloud.vm.dao.VMInstanceDao;
8790
import com.cloud.vpc.MockResourceLimitManagerImpl;
8891

89-
import static org.mockito.Mockito.mock;
90-
import static org.mockito.Mockito.when;
91-
9292
@RunWith(MockitoJUnitRunner.class)
9393
public class ResourceLimitManagerImplTest {
9494
private Logger logger = LogManager.getLogger(ResourceLimitManagerImplTest.class);
@@ -1393,4 +1393,53 @@ public void testUpdateResourceLimitForDomain() {
13931393
domainId, ApiCommandResourceType.Domain.toString()));
13941394
}
13951395
}
1396+
1397+
@Test
1398+
public void consolidatedResourceLimitsForAllResourceTypesWithAccountId() {
1399+
Long accountId = 1L;
1400+
Long domainId = null;
1401+
List<ResourceLimitVO> foundLimits = new ArrayList<>();
1402+
ResourceLimitVO limit = new ResourceLimitVO(Resource.ResourceType.cpu, 10L, accountId, Resource.ResourceOwnerType.Account);
1403+
foundLimits.add(limit);
1404+
1405+
Mockito.when(accountManager.getAccount(accountId)).thenReturn(Mockito.mock(Account.class));
1406+
Mockito.doReturn(20L).when(resourceLimitManager).findCorrectResourceLimitForAccount(Mockito.any(Account.class), Mockito.any(Resource.ResourceType.class), Mockito.isNull());
1407+
1408+
List<ResourceLimitVO> result = resourceLimitManager.getConsolidatedResourceLimitsForAllResourceTypes(accountId, domainId, foundLimits, true);
1409+
1410+
Assert.assertEquals(1, result.size());
1411+
Assert.assertEquals(limit, result.get(0));
1412+
}
1413+
1414+
@Test
1415+
public void consolidatedResourceLimitsForAllResourceTypesWithDomainId() {
1416+
Long accountId = null;
1417+
Long domainId = 1L;
1418+
List<ResourceLimitVO> foundLimits = new ArrayList<>();
1419+
ResourceLimitVO limit = new ResourceLimitVO(Resource.ResourceType.memory, 15L, domainId, Resource.ResourceOwnerType.Domain);
1420+
foundLimits.add(limit);
1421+
1422+
Mockito.when(domainDao.findById(domainId)).thenReturn(Mockito.mock(DomainVO.class));
1423+
Mockito.doReturn(30L).when(resourceLimitManager).findCorrectResourceLimitForDomain(Mockito.any(Domain.class), Mockito.any(Resource.ResourceType.class), Mockito.isNull());
1424+
1425+
List<ResourceLimitVO> result = resourceLimitManager.getConsolidatedResourceLimitsForAllResourceTypes(accountId, domainId, foundLimits, false);
1426+
1427+
Assert.assertEquals(EnumSet.allOf(Resource.ResourceType.class).size(), result.size());
1428+
Assert.assertTrue(result.contains(limit));
1429+
}
1430+
1431+
@Test
1432+
public void consolidatedResourceLimitsForAllResourceTypesWithEmptyFoundLimits() {
1433+
Long accountId = 1L;
1434+
Long domainId = null;
1435+
List<ResourceLimitVO> foundLimits = new ArrayList<>();
1436+
1437+
Mockito.when(accountManager.getAccount(accountId)).thenReturn(Mockito.mock(Account.class));
1438+
Mockito.doReturn(25L).when(resourceLimitManager).findCorrectResourceLimitForAccount(Mockito.any(Account.class), Mockito.any(Resource.ResourceType.class), Mockito.isNull());
1439+
1440+
List<ResourceLimitVO> result = resourceLimitManager.getConsolidatedResourceLimitsForAllResourceTypes(accountId, domainId, foundLimits, true);
1441+
1442+
Assert.assertEquals(EnumSet.allOf(Resource.ResourceType.class).size(), result.size());
1443+
Assert.assertEquals(25L, result.get(0).getMax().longValue());
1444+
}
13961445
}

0 commit comments

Comments
 (0)