1717
1818package com .cloud .vm ;
1919
20+ import static org .junit .Assert .assertEquals ;
2021import static org .junit .Assert .assertFalse ;
2122import static org .junit .Assert .assertTrue ;
2223import static org .mockito .Matchers .any ;
3132import java .util .List ;
3233import java .util .Map ;
3334
35+ import com .cloud .agent .api .routing .NetworkElementCommand ;
3436import com .cloud .exception .InvalidParameterValueException ;
3537import com .cloud .storage .StorageManager ;
38+ import com .cloud .host .Host ;
3639import org .apache .cloudstack .engine .subsystem .api .storage .StoragePoolAllocator ;
40+ import org .apache .cloudstack .framework .config .ConfigKey ;
3741import org .apache .cloudstack .storage .datastore .db .PrimaryDataStoreDao ;
3842import org .apache .cloudstack .storage .datastore .db .StoragePoolVO ;
3943import org .junit .Assert ;
@@ -152,6 +156,49 @@ public void setup() {
152156 virtualMachineManagerImpl .setStoragePoolAllocators (storagePoolAllocators );
153157 }
154158
159+ @ Test
160+ public void testaddHostIpToCertDetailsIfConfigAllows () {
161+ Host vmHost = mock (Host .class );
162+ ConfigKey testConfig = mock (ConfigKey .class );
163+
164+ Long dataCenterId = 5L ;
165+ String hostIp = "1.1.1.1" ;
166+ String routerIp = "2.2.2.2" ;
167+ Map <String , String > ipAddresses = new HashMap <>();
168+ ipAddresses .put (NetworkElementCommand .ROUTER_IP , routerIp );
169+
170+ when (testConfig .valueIn (dataCenterId )).thenReturn (true );
171+ when (vmHost .getDataCenterId ()).thenReturn (dataCenterId );
172+ when (vmHost .getPrivateIpAddress ()).thenReturn (hostIp );
173+
174+ virtualMachineManagerImpl .addHostIpToCertDetailsIfConfigAllows (vmHost , ipAddresses , testConfig );
175+ assertTrue (ipAddresses .containsKey (NetworkElementCommand .HYPERVISOR_HOST_PRIVATE_IP ));
176+ assertEquals (hostIp , ipAddresses .get (NetworkElementCommand .HYPERVISOR_HOST_PRIVATE_IP ));
177+ assertTrue (ipAddresses .containsKey (NetworkElementCommand .ROUTER_IP ));
178+ assertEquals (routerIp , ipAddresses .get (NetworkElementCommand .ROUTER_IP ));
179+ }
180+
181+ @ Test
182+ public void testaddHostIpToCertDetailsIfConfigAllowsWhenConfigFalse () {
183+ Host vmHost = mock (Host .class );
184+ ConfigKey testConfig = mock (ConfigKey .class );
185+
186+ Long dataCenterId = 5L ;
187+ String hostIp = "1.1.1.1" ;
188+ String routerIp = "2.2.2.2" ;
189+ Map <String , String > ipAddresses = new HashMap <>();
190+ ipAddresses .put (NetworkElementCommand .ROUTER_IP , routerIp );
191+
192+ when (testConfig .valueIn (dataCenterId )).thenReturn (false );
193+ when (vmHost .getDataCenterId ()).thenReturn (dataCenterId );
194+ when (vmHost .getPrivateIpAddress ()).thenReturn (hostIp );
195+
196+ virtualMachineManagerImpl .addHostIpToCertDetailsIfConfigAllows (vmHost , ipAddresses , testConfig );
197+ assertFalse (ipAddresses .containsKey (NetworkElementCommand .HYPERVISOR_HOST_PRIVATE_IP ));
198+ assertTrue (ipAddresses .containsKey (NetworkElementCommand .ROUTER_IP ));
199+ assertEquals (routerIp , ipAddresses .get (NetworkElementCommand .ROUTER_IP ));
200+ }
201+
155202 @ Test (expected = CloudRuntimeException .class )
156203 public void testScaleVM3 () throws Exception {
157204 when (vmInstanceMock .getHostId ()).thenReturn (null );
@@ -341,7 +388,7 @@ public void buildMapUsingUserInformationTestTargetHostHasAccessToPool() {
341388 Map <Volume , StoragePool > volumeToPoolObjectMap = virtualMachineManagerImpl .buildMapUsingUserInformation (virtualMachineProfileMock , hostMock , userDefinedVolumeToStoragePoolMap );
342389
343390 assertFalse (volumeToPoolObjectMap .isEmpty ());
344- Assert . assertEquals (storagePoolVoMock , volumeToPoolObjectMap .get (volumeVoMock ));
391+ assertEquals (storagePoolVoMock , volumeToPoolObjectMap .get (volumeVoMock ));
345392
346393 Mockito .verify (userDefinedVolumeToStoragePoolMap , times (1 )).keySet ();
347394 }
@@ -360,8 +407,8 @@ public void findVolumesThatWereNotMappedByTheUserTest() {
360407 Mockito .doReturn (volumesOfVm ).when (volumeDaoMock ).findUsableVolumesForInstance (vmInstanceVoMockId );
361408 List <Volume > volumesNotMapped = virtualMachineManagerImpl .findVolumesThatWereNotMappedByTheUser (virtualMachineProfileMock , volumeToStoragePoolObjectMap );
362409
363- Assert . assertEquals (1 , volumesNotMapped .size ());
364- Assert . assertEquals (volumeVoMock2 , volumesNotMapped .get (0 ));
410+ assertEquals (1 , volumesNotMapped .size ());
411+ assertEquals (volumeVoMock2 , volumesNotMapped .get (0 ));
365412 }
366413
367414 @ Test
@@ -407,8 +454,8 @@ public void getCandidateStoragePoolsToMigrateLocalVolumeTestLocalVolume() {
407454
408455 List <StoragePool > poolList = virtualMachineManagerImpl .getCandidateStoragePoolsToMigrateLocalVolume (virtualMachineProfileMock , dataCenterDeploymentMock , volumeVoMock );
409456
410- Assert . assertEquals (1 , poolList .size ());
411- Assert . assertEquals (storagePoolVoMock , poolList .get (0 ));
457+ assertEquals (1 , poolList .size ());
458+ assertEquals (storagePoolVoMock , poolList .get (0 ));
412459 }
413460
414461 @ Test
@@ -426,8 +473,8 @@ public void getCandidateStoragePoolsToMigrateLocalVolumeTestCrossClusterMigratio
426473 Mockito .doReturn (true ).when (virtualMachineManagerImpl ).isStorageCrossClusterMigration (hostMockId , storagePoolVoMock );
427474 List <StoragePool > poolList = virtualMachineManagerImpl .getCandidateStoragePoolsToMigrateLocalVolume (virtualMachineProfileMock , dataCenterDeploymentMock , volumeVoMock );
428475
429- Assert . assertEquals (1 , poolList .size ());
430- Assert . assertEquals (storagePoolVoMock , poolList .get (0 ));
476+ assertEquals (1 , poolList .size ());
477+ assertEquals (storagePoolVoMock , poolList .get (0 ));
431478 }
432479
433480 @ Test
@@ -525,7 +572,7 @@ public void createVolumeToStoragePoolMappingIfPossibleTestTargetHostDoesNotAcces
525572 virtualMachineManagerImpl .createVolumeToStoragePoolMappingIfPossible (virtualMachineProfileMock , dataCenterDeploymentMock , volumeToPoolObjectMap , volumeVoMock , storagePoolVoMock );
526573
527574 assertFalse (volumeToPoolObjectMap .isEmpty ());
528- Assert . assertEquals (storagePoolMockOther , volumeToPoolObjectMap .get (volumeVoMock ));
575+ assertEquals (storagePoolMockOther , volumeToPoolObjectMap .get (volumeVoMock ));
529576 }
530577
531578 @ Test
@@ -582,7 +629,7 @@ public void createStoragePoolMappingsForVolumesTestNotCrossCluterMigrationWithCl
582629 virtualMachineManagerImpl .createStoragePoolMappingsForVolumes (virtualMachineProfileMock , dataCenterDeploymentMock , volumeToPoolObjectMap , allVolumes );
583630
584631 assertFalse (volumeToPoolObjectMap .isEmpty ());
585- Assert . assertEquals (storagePoolVoMock , volumeToPoolObjectMap .get (volumeVoMock ));
632+ assertEquals (storagePoolVoMock , volumeToPoolObjectMap .get (volumeVoMock ));
586633
587634 Mockito .verify (virtualMachineManagerImpl ).executeManagedStorageChecksWhenTargetStoragePoolNotProvided (hostMock , storagePoolVoMock , volumeVoMock );
588635 Mockito .verify (virtualMachineManagerImpl ).isStorageCrossClusterMigration (hostMockId , storagePoolVoMock );
@@ -603,7 +650,7 @@ public void createMappingVolumeAndStoragePoolTest() {
603650
604651 Map <Volume , StoragePool > mappingVolumeAndStoragePool = virtualMachineManagerImpl .createMappingVolumeAndStoragePool (virtualMachineProfileMock , hostMock , new HashMap <>());
605652
606- Assert . assertEquals (mappingVolumeAndStoragePool , volumeToPoolObjectMap );
653+ assertEquals (mappingVolumeAndStoragePool , volumeToPoolObjectMap );
607654
608655 InOrder inOrder = Mockito .inOrder (virtualMachineManagerImpl );
609656 inOrder .verify (virtualMachineManagerImpl ).buildMapUsingUserInformation (Mockito .eq (virtualMachineProfileMock ), Mockito .eq (hostMock ), Mockito .anyMapOf (Long .class , Long .class ));
@@ -670,7 +717,7 @@ private void prepareAndTestIsRootVolumeOnLocalStorage(ScopeType scope, boolean e
670717
671718 boolean result = virtualMachineManagerImpl .isRootVolumeOnLocalStorage (0l );
672719
673- Assert . assertEquals (expected , result );
720+ assertEquals (expected , result );
674721 }
675722
676723 @ Test
0 commit comments