6161import java .util .TimeZone ;
6262import java .util .UUID ;
6363
64- import com .cloud .storage .dao .SnapshotPolicyDao ;
6564import org .apache .cloudstack .acl .ControlledEntity ;
6665import org .apache .cloudstack .acl .SecurityChecker ;
6766import org .apache .cloudstack .api .ApiCommandResourceType ;
144143import com .cloud .network .dao .LoadBalancerVMMapVO ;
145144import com .cloud .network .dao .NetworkDao ;
146145import com .cloud .network .dao .NetworkVO ;
147- import com .cloud .network .element .UserDataServiceProvider ;
148146import com .cloud .network .dao .PhysicalNetworkDao ;
149147import com .cloud .network .dao .PhysicalNetworkVO ;
148+ import com .cloud .network .element .UserDataServiceProvider ;
150149import com .cloud .network .guru .NetworkGuru ;
151150import com .cloud .network .rules .FirewallRuleVO ;
152151import com .cloud .network .rules .PortForwardingRule ;
174173import com .cloud .storage .dao .DiskOfferingDao ;
175174import com .cloud .storage .dao .GuestOSDao ;
176175import com .cloud .storage .dao .SnapshotDao ;
176+ import com .cloud .storage .dao .SnapshotPolicyDao ;
177177import com .cloud .storage .dao .VMTemplateDao ;
178178import com .cloud .storage .dao .VolumeDao ;
179179import com .cloud .template .VirtualMachineTemplate ;
@@ -469,13 +469,20 @@ public class UserVmManagerImplTest {
469469 Class <InvalidParameterValueException > expectedInvalidParameterValueException = InvalidParameterValueException .class ;
470470 Class <CloudRuntimeException > expectedCloudRuntimeException = CloudRuntimeException .class ;
471471
472+ private Map <ConfigKey , Object > originalConfigValues = new HashMap <>();
472473
473- private void overrideDefaultConfigValue (final ConfigKey configKey , final Object o ) {
474+
475+ private void updateDefaultConfigValue (final ConfigKey configKey , final Object o , boolean revert ) {
474476 try {
475477 final String name = "_defaultValue" ;
476478 Field f = ConfigKey .class .getDeclaredField (name );
477479 f .setAccessible (true );
478- f .set (configKey , String .valueOf (o ));
480+ String stringVal = String .valueOf (o );
481+ f .set (configKey , stringVal );
482+ if (revert ) {
483+ return ;
484+ }
485+ originalConfigValues .put (configKey , f .get (configKey ));
479486 } catch (IllegalAccessException | NoSuchFieldException e ) {
480487 Assert .fail ("Failed to mock config " + configKey .key () + " value due to " + e .getMessage ());
481488 }
@@ -510,6 +517,9 @@ public void beforeTest() {
510517 public void afterTest () {
511518 CallContext .unregister ();
512519 unmanagedVMsManagerMockedStatic .close ();
520+ for (Map .Entry <ConfigKey , Object > entry : originalConfigValues .entrySet ()) {
521+ updateDefaultConfigValue (entry .getKey (), entry .getValue (), true );
522+ }
513523 }
514524
515525 @ Test
@@ -4211,7 +4221,7 @@ public void updateVmExtraConfigAddsConfigWhenValidAndEnabled() {
42114221 when (userVm .getAccountId ()).thenReturn (1L );
42124222 when (userVm .getHypervisorType ()).thenReturn (Hypervisor .HypervisorType .KVM );
42134223 doNothing ().when (userVmManagerImpl ).persistExtraConfigKvm (anyString (), eq (userVm ));
4214- overrideDefaultConfigValue (UserVmManagerImpl .EnableAdditionalVmConfig , true );
4224+ updateDefaultConfigValue (UserVmManagerImpl .EnableAdditionalVmConfig , true , false );
42154225
42164226 userVmManagerImpl .updateVmExtraConfig (userVm , "validConfig" , false );
42174227
@@ -4223,7 +4233,7 @@ public void updateVmExtraConfigAddsConfigWhenValidAndEnabled() {
42234233 public void updateVmExtraConfigThrowsExceptionWhenConfigDisabled () {
42244234 UserVmVO userVm = mock (UserVmVO .class );
42254235 when (userVm .getAccountId ()).thenReturn (1L );
4226- overrideDefaultConfigValue (UserVmManagerImpl .EnableAdditionalVmConfig , false );
4236+ updateDefaultConfigValue (UserVmManagerImpl .EnableAdditionalVmConfig , false , false );
42274237
42284238 userVmManagerImpl .updateVmExtraConfig (userVm , "validConfig" , false );
42294239 }
0 commit comments