Skip to content

Commit cfc82cb

Browse files
committed
Add tests
1 parent e6c53fa commit cfc82cb

File tree

2 files changed

+71
-1
lines changed

2 files changed

+71
-1
lines changed

framework/quota/src/main/java/org/apache/cloudstack/quota/activationrule/presetvariables/PresetVariableHelper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -782,7 +782,7 @@ protected void loadPresetVariableValueForNetwork(UsageVO usageRecord, Value valu
782782
value.setResourceCounting(getPresetVariableValueNetworkResourceCounting(networkId));
783783
}
784784

785-
private ResourceCounting getPresetVariableValueNetworkResourceCounting(Long networkId) {
785+
protected ResourceCounting getPresetVariableValueNetworkResourceCounting(Long networkId) {
786786
ResourceCounting resourceCounting = new ResourceCounting();
787787
List<VMInstanceVO> vmInstancesVO = vmInstanceDao.listNonRemovedVmsByTypeAndNetwork(networkId, VirtualMachine.Type.User);
788788
int runningVms = (int) vmInstancesVO.stream().filter(vm -> vm.getState().equals(VirtualMachine.State.Running)).count();

framework/quota/src/test/java/org/apache/cloudstack/quota/activationrule/presetvariables/PresetVariableHelperTest.java

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,17 @@
3131
import com.cloud.dc.ClusterDetailsVO;
3232
import com.cloud.host.HostTagVO;
3333
import com.cloud.hypervisor.Hypervisor;
34+
import com.cloud.network.Network;
35+
import com.cloud.network.dao.NetworkVO;
3436
import com.cloud.storage.StoragePoolTagVO;
37+
import com.cloud.vm.VirtualMachine;
3538
import org.apache.cloudstack.acl.RoleType;
3639
import org.apache.cloudstack.acl.RoleVO;
3740
import org.apache.cloudstack.acl.dao.RoleDao;
3841
import org.apache.cloudstack.backup.BackupOfferingVO;
3942
import org.apache.cloudstack.backup.dao.BackupOfferingDao;
4043
import org.apache.cloudstack.quota.constant.QuotaTypes;
44+
import org.apache.cloudstack.quota.dao.NetworkDao;
4145
import org.apache.cloudstack.quota.dao.VmTemplateDao;
4246
import org.apache.cloudstack.storage.datastore.db.ImageStoreDao;
4347
import org.apache.cloudstack.storage.datastore.db.ImageStoreVO;
@@ -188,6 +192,9 @@ public class PresetVariableHelperTest {
188192
@Mock
189193
BackupOfferingDao backupOfferingDaoMock;
190194

195+
@Mock
196+
NetworkDao networkDaoMock;
197+
191198
List<Integer> runningAndAllocatedVmUsageTypes = Arrays.asList(UsageTypes.RUNNING_VM, UsageTypes.ALLOCATED_VM);
192199
List<Integer> templateAndIsoUsageTypes = Arrays.asList(UsageTypes.TEMPLATE, UsageTypes.ISO);
193200

@@ -223,6 +230,8 @@ private Value getValueForTests() {
223230
value.setVmSnapshotType(VMSnapshot.Type.Disk.toString());
224231
value.setComputingResources(getComputingResourcesForTests());
225232
value.setVolumeType(Volume.Type.DATADISK.toString());
233+
value.setState(Network.State.Implemented.toString());
234+
value.setResourceCounting(getResourceCountingForTests());
226235
return value;
227236
}
228237

@@ -259,6 +268,13 @@ private Configuration getConfigurationForTests() {
259268
return configuration;
260269
}
261270

271+
private ResourceCounting getResourceCountingForTests() {
272+
ResourceCounting resourceCounting = new ResourceCounting();
273+
resourceCounting.setRunningVms(1);
274+
resourceCounting.setStoppedVms(1);
275+
return resourceCounting;
276+
}
277+
262278
private List<HostTagVO> getHostTagsForTests() {
263279
return Arrays.asList(new HostTagVO(1, "tag1", false), new HostTagVO(1, "tag2", false));
264280
}
@@ -1289,4 +1305,58 @@ public void testGetSnapshotImageStoreRefNotNull() {
12891305
Mockito.when(imageStoreDaoMock.findById(1L)).thenReturn(store);
12901306
Assert.assertNotNull(presetVariableHelperSpy.getSnapshotImageStoreRef(1L, 1L));
12911307
}
1308+
1309+
@Test
1310+
public void loadPresetVariableValueForNetworkTestRecordIsNotANetworkDoNothing() {
1311+
getQuotaTypesForTests(UsageTypes.NETWORK).forEach(type -> {
1312+
Mockito.doReturn(type.getKey()).when(usageVoMock).getUsageType();
1313+
presetVariableHelperSpy.loadPresetVariableValueForNetwork(usageVoMock, null);
1314+
});
1315+
1316+
Mockito.verifyNoInteractions(networkDaoMock);
1317+
}
1318+
1319+
@Test
1320+
public void loadPresetVariableValueForNetworkTestRecordIsNetworkSetFields() {
1321+
Value expected = getValueForTests();
1322+
1323+
NetworkVO networkVoMock = Mockito.mock(NetworkVO.class);
1324+
Mockito.doReturn(networkVoMock).when(networkDaoMock).findByIdIncludingRemoved(Mockito.anyLong());
1325+
1326+
mockMethodValidateIfObjectIsNull();
1327+
1328+
Mockito.doReturn(expected.getId()).when(networkVoMock).getUuid();
1329+
Mockito.doReturn(expected.getName()).when(networkVoMock).getName();
1330+
Mockito.doReturn(expected.getState()).when(usageVoMock).getState();
1331+
Mockito.doReturn(expected.getResourceCounting()).when(presetVariableHelperSpy).getPresetVariableValueNetworkResourceCounting(Mockito.anyLong());
1332+
1333+
Mockito.doReturn(UsageTypes.NETWORK).when(usageVoMock).getUsageType();
1334+
1335+
Value result = new Value();
1336+
presetVariableHelperSpy.loadPresetVariableValueForNetwork(usageVoMock, result);
1337+
1338+
assertPresetVariableIdAndName(expected, result);
1339+
Assert.assertEquals(expected.getState(), result.getState());
1340+
Assert.assertEquals(expected.getResourceCounting(), result.getResourceCounting());
1341+
}
1342+
1343+
@Test
1344+
public void getPresetVariableValueNetworkResourceCountingTestSetValueAndReturnObject() {
1345+
VMInstanceVO vmInstanceVoMock1 = Mockito.spy(VMInstanceVO.class);
1346+
vmInstanceVoMock1.setState(VirtualMachine.State.Stopped);
1347+
1348+
VMInstanceVO vmInstanceVoMock2 = Mockito.spy(VMInstanceVO.class);
1349+
vmInstanceVoMock2.setState(VirtualMachine.State.Running);
1350+
1351+
Mockito.doReturn(List.of(vmInstanceVoMock1, vmInstanceVoMock2)).when(vmInstanceDaoMock).listNonRemovedVmsByTypeAndNetwork(Mockito.anyLong(), Mockito.any());
1352+
1353+
mockMethodValidateIfObjectIsNull();
1354+
1355+
ResourceCounting expected = getResourceCountingForTests();
1356+
1357+
ResourceCounting result = presetVariableHelperSpy.getPresetVariableValueNetworkResourceCounting(1L);
1358+
1359+
Assert.assertEquals(expected.getRunningVms(), result.getRunningVms());
1360+
Assert.assertEquals(expected.getStoppedVms(), result.getStoppedVms());
1361+
}
12921362
}

0 commit comments

Comments
 (0)