|
31 | 31 | import com.cloud.dc.ClusterDetailsVO; |
32 | 32 | import com.cloud.host.HostTagVO; |
33 | 33 | import com.cloud.hypervisor.Hypervisor; |
| 34 | +import com.cloud.network.Network; |
| 35 | +import com.cloud.network.dao.NetworkVO; |
34 | 36 | import com.cloud.storage.StoragePoolTagVO; |
| 37 | +import com.cloud.vm.VirtualMachine; |
35 | 38 | import org.apache.cloudstack.acl.RoleType; |
36 | 39 | import org.apache.cloudstack.acl.RoleVO; |
37 | 40 | import org.apache.cloudstack.acl.dao.RoleDao; |
38 | 41 | import org.apache.cloudstack.backup.BackupOfferingVO; |
39 | 42 | import org.apache.cloudstack.backup.dao.BackupOfferingDao; |
40 | 43 | import org.apache.cloudstack.quota.constant.QuotaTypes; |
| 44 | +import org.apache.cloudstack.quota.dao.NetworkDao; |
41 | 45 | import org.apache.cloudstack.quota.dao.VmTemplateDao; |
42 | 46 | import org.apache.cloudstack.storage.datastore.db.ImageStoreDao; |
43 | 47 | import org.apache.cloudstack.storage.datastore.db.ImageStoreVO; |
@@ -188,6 +192,9 @@ public class PresetVariableHelperTest { |
188 | 192 | @Mock |
189 | 193 | BackupOfferingDao backupOfferingDaoMock; |
190 | 194 |
|
| 195 | + @Mock |
| 196 | + NetworkDao networkDaoMock; |
| 197 | + |
191 | 198 | List<Integer> runningAndAllocatedVmUsageTypes = Arrays.asList(UsageTypes.RUNNING_VM, UsageTypes.ALLOCATED_VM); |
192 | 199 | List<Integer> templateAndIsoUsageTypes = Arrays.asList(UsageTypes.TEMPLATE, UsageTypes.ISO); |
193 | 200 |
|
@@ -223,6 +230,8 @@ private Value getValueForTests() { |
223 | 230 | value.setVmSnapshotType(VMSnapshot.Type.Disk.toString()); |
224 | 231 | value.setComputingResources(getComputingResourcesForTests()); |
225 | 232 | value.setVolumeType(Volume.Type.DATADISK.toString()); |
| 233 | + value.setState(Network.State.Implemented.toString()); |
| 234 | + value.setResourceCounting(getResourceCountingForTests()); |
226 | 235 | return value; |
227 | 236 | } |
228 | 237 |
|
@@ -259,6 +268,13 @@ private Configuration getConfigurationForTests() { |
259 | 268 | return configuration; |
260 | 269 | } |
261 | 270 |
|
| 271 | + private ResourceCounting getResourceCountingForTests() { |
| 272 | + ResourceCounting resourceCounting = new ResourceCounting(); |
| 273 | + resourceCounting.setRunningVms(1); |
| 274 | + resourceCounting.setStoppedVms(1); |
| 275 | + return resourceCounting; |
| 276 | + } |
| 277 | + |
262 | 278 | private List<HostTagVO> getHostTagsForTests() { |
263 | 279 | return Arrays.asList(new HostTagVO(1, "tag1", false), new HostTagVO(1, "tag2", false)); |
264 | 280 | } |
@@ -1289,4 +1305,58 @@ public void testGetSnapshotImageStoreRefNotNull() { |
1289 | 1305 | Mockito.when(imageStoreDaoMock.findById(1L)).thenReturn(store); |
1290 | 1306 | Assert.assertNotNull(presetVariableHelperSpy.getSnapshotImageStoreRef(1L, 1L)); |
1291 | 1307 | } |
| 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 | + } |
1292 | 1362 | } |
0 commit comments