From 3ee4ec41ac18e51a16eafa767e090502b1a33fb5 Mon Sep 17 00:00:00 2001 From: Rob Daugherty Date: Wed, 2 May 2018 16:46:14 -0400 Subject: Fix CloudConfig junits ...for some definition of the word "fix". There is still a lot that's less than ideal about how CloudConfig is handled, and with how the unit tests are written. Change-Id: Ic8c66c64d336f22c141687cf41a4828810bf1aec Issue-ID: SO-584 Signed-off-by: Rob Daugherty --- .../openecomp/mso/cloud/CloudConfigFactory.java | 8 +++--- .../mso/openstack/utils/MsoHeatUtils.java | 16 ++++++------ .../openstack/utils/MsoHeatUtilsWithUpdate.java | 2 +- .../mso/openstack/utils/MsoKeystoneUtils.java | 14 ++++++----- .../mso/openstack/utils/MsoNeutronUtils.java | 17 +++++++------ .../mso/openstack/utils/MsoTenantUtils.java | 13 +++++----- .../mso/openstack/utils/MsoTenantUtilsFactory.java | 18 ++++++++++---- .../mso/adapter_utils/tests/MsoHeatUtilsTest.java | 6 ++--- .../mso/cloud/CloudConfigFactoryTest.java | 28 ++++++++++----------- .../mso/cloud/servertype/NewServerTypeUtils.java | 8 +++--- .../mso/cloud/servertype/ServerTypeTest.java | 10 ++++++++ .../mso/openstack/utils/MsoHeatUtilsTest2.java | 5 +++- .../mso/openstack/utils/MsoKeystoneUtilsTest.java | 29 ++++++++++++++++------ 13 files changed, 104 insertions(+), 70 deletions(-) (limited to 'adapters/mso-adapter-utils/src') diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudConfigFactory.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudConfigFactory.java index 3281f0489c..2b385910d9 100644 --- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudConfigFactory.java +++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/cloud/CloudConfigFactory.java @@ -92,11 +92,11 @@ public class CloudConfigFactory implements Serializable { public CloudConfig getCloudConfig () { rwl.readLock ().lock (); try { - if (cloudConfigCache.isValidCloudConfig()) { - return cloudConfigCache.clone (); - } else { - return new CloudConfig(); + if (!cloudConfigCache.isValidCloudConfig()) { + // Not ideal, but better than returning an invalid object + throw new IllegalStateException("No valid CloudConfig is loaded"); } + return cloudConfigCache.clone (); } finally { rwl.readLock ().unlock (); } diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoHeatUtils.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoHeatUtils.java index 3f5da19854..f7723b6a8f 100644 --- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoHeatUtils.java +++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoHeatUtils.java @@ -100,9 +100,6 @@ public class MsoHeatUtils extends MsoCommonUtils implements VduPlugin{ // The cache key is "tenantId:cloudId" private static Map heatClientCache = new HashMap <> (); - // Fetch cloud configuration each time (may be cached in CloudConfig class) - protected CloudConfig cloudConfig; - private static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.RA); protected MsoJavaProperties msoProps = null; @@ -145,11 +142,12 @@ public class MsoHeatUtils extends MsoCommonUtils implements VduPlugin{ } catch (MsoPropertiesException e) { LOGGER.error (MessageEnum.LOAD_PROPERTIES_FAIL, "Unknown. Mso Properties ID not found in cache: " + msoPropID, "", "", MsoLogger.ErrorCode.DataError, "Exception - Mso Properties ID not found in cache", e); } - cloudConfig = cloudConfigFactory.getCloudConfig (); LOGGER.debug("MsoHeatUtils:" + msoPropID); - } + protected CloudConfigFactory getCloudConfigFactory() { + return cloudConfigFactory; + } /** * keep this old method signature here to maintain backwards compatibility. keep others as well. @@ -325,7 +323,7 @@ public class MsoHeatUtils extends MsoCommonUtils implements VduPlugin{ } // Obtain the cloud site information where we will create the stack - CloudSite cloudSite = cloudConfig.getCloudSite(cloudSiteId).orElseThrow( + CloudSite cloudSite = getCloudConfigFactory().getCloudConfig().getCloudSite(cloudSiteId).orElseThrow( () -> new MsoCloudSiteNotFound(cloudSiteId)); LOGGER.debug("Found: " + cloudSite.toString()); // Get a Heat client. They are cached between calls (keyed by tenantId:cloudId) @@ -661,7 +659,7 @@ public class MsoHeatUtils extends MsoCommonUtils implements VduPlugin{ LOGGER.debug ("Query HEAT stack: " + stackName + " in tenant " + tenantId); // Obtain the cloud site information where we will create the stack - CloudSite cloudSite = cloudConfig.getCloudSite(cloudSiteId).orElseThrow( + CloudSite cloudSite = getCloudConfigFactory().getCloudConfig().getCloudSite(cloudSiteId).orElseThrow( () -> new MsoCloudSiteNotFound(cloudSiteId)); LOGGER.debug("Found: " + cloudSite.toString()); @@ -723,7 +721,7 @@ public class MsoHeatUtils extends MsoCommonUtils implements VduPlugin{ String stackName, boolean pollForCompletion) throws MsoException { // Obtain the cloud site information where we will create the stack - CloudSite cloudSite = cloudConfig.getCloudSite(cloudSiteId).orElseThrow( + CloudSite cloudSite = getCloudConfigFactory().getCloudConfig().getCloudSite(cloudSiteId).orElseThrow( () -> new MsoCloudSiteNotFound(cloudSiteId)); LOGGER.debug("Found: " + cloudSite.toString()); @@ -863,7 +861,7 @@ public class MsoHeatUtils extends MsoCommonUtils implements VduPlugin{ */ public List queryAllStacks (String tenantId, String cloudSiteId) throws MsoException { // Obtain the cloud site information where we will create the stack - CloudSite cloudSite = cloudConfig.getCloudSite(cloudSiteId).orElseThrow( + CloudSite cloudSite = getCloudConfigFactory().getCloudConfig().getCloudSite(cloudSiteId).orElseThrow( () -> new MsoCloudSiteNotFound(cloudSiteId)); // Get a Heat client. They are cached between calls (keyed by tenantId:cloudId) Heat heatClient = getHeatClient (cloudSite, tenantId); diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoHeatUtilsWithUpdate.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoHeatUtilsWithUpdate.java index 595da58270..08ae9df4b5 100644 --- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoHeatUtilsWithUpdate.java +++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoHeatUtilsWithUpdate.java @@ -193,7 +193,7 @@ public class MsoHeatUtilsWithUpdate extends MsoHeatUtils { } // Obtain the cloud site information where we will create the stack - CloudSite cloudSite = cloudConfig.getCloudSite(cloudSiteId).orElseThrow( + CloudSite cloudSite = getCloudConfigFactory().getCloudConfig().getCloudSite(cloudSiteId).orElseThrow( () -> new MsoCloudSiteNotFound(cloudSiteId)); // Get a Heat client. They are cached between calls (keyed by tenantId:cloudId) // This could throw MsoTenantNotFound or MsoOpenstackException (both propagated) diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoKeystoneUtils.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoKeystoneUtils.java index 018396d6ec..6bec917d9d 100644 --- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoKeystoneUtils.java +++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoKeystoneUtils.java @@ -27,6 +27,8 @@ import java.util.HashMap; import java.util.Map; import java.util.Optional; + +import org.openecomp.mso.cloud.CloudConfigFactory; import org.openecomp.mso.cloud.CloudIdentity; import org.openecomp.mso.cloud.CloudSite; import org.openecomp.mso.logger.MsoAlarmLogger; @@ -64,8 +66,8 @@ public class MsoKeystoneUtils extends MsoTenantUtils { private static MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.RA); String msoPropID; - public MsoKeystoneUtils (String msoPropID) { - super(msoPropID); + public MsoKeystoneUtils(String msoPropID, CloudConfigFactory cloudConfigFactory) { + super(msoPropID, cloudConfigFactory); this.msoPropID = msoPropID; LOGGER.debug("MsoKeyStoneUtils:" + msoPropID); } @@ -93,7 +95,7 @@ public class MsoKeystoneUtils extends MsoTenantUtils { Map metadata, boolean backout) throws MsoException { // Obtain the cloud site information where we will create the tenant - Optional cloudSiteOpt = cloudConfig.getCloudSite(cloudSiteId); + Optional cloudSiteOpt = getCloudConfigFactory().getCloudConfig().getCloudSite(cloudSiteId); if (!cloudSiteOpt.isPresent()) { LOGGER.error(MessageEnum.RA_CREATE_TENANT_ERR, "MSOCloudSite not found", "", "", MsoLogger.ErrorCode.DataError, "MSOCloudSite not found"); throw new MsoCloudSiteNotFound (cloudSiteId); @@ -197,7 +199,7 @@ public class MsoKeystoneUtils extends MsoTenantUtils { */ public MsoTenant queryTenant (String tenantId, String cloudSiteId) throws MsoException { // Obtain the cloud site information where we will query the tenant - CloudSite cloudSite = cloudConfig.getCloudSite(cloudSiteId).orElseThrow( + CloudSite cloudSite = getCloudConfigFactory().getCloudConfig().getCloudSite(cloudSiteId).orElseThrow( () -> new MsoCloudSiteNotFound(cloudSiteId)); Keystone keystoneAdminClient = getKeystoneAdminClient (cloudSite); @@ -245,7 +247,7 @@ public class MsoKeystoneUtils extends MsoTenantUtils { */ public MsoTenant queryTenantByName (String tenantName, String cloudSiteId) throws MsoException { // Obtain the cloud site information where we will query the tenant - CloudSite cloudSite = cloudConfig.getCloudSite(cloudSiteId).orElseThrow( + CloudSite cloudSite = getCloudConfigFactory().getCloudConfig().getCloudSite(cloudSiteId).orElseThrow( () -> new MsoCloudSiteNotFound(cloudSiteId)); Keystone keystoneAdminClient = getKeystoneAdminClient (cloudSite); @@ -290,7 +292,7 @@ public class MsoKeystoneUtils extends MsoTenantUtils { */ public boolean deleteTenant (String tenantId, String cloudSiteId) throws MsoException { // Obtain the cloud site information where we will query the tenant - CloudSite cloudSite = cloudConfig.getCloudSite(cloudSiteId).orElseThrow( + CloudSite cloudSite = getCloudConfigFactory().getCloudConfig().getCloudSite(cloudSiteId).orElseThrow( () -> new MsoCloudSiteNotFound(cloudSiteId)); Keystone keystoneAdminClient = getKeystoneAdminClient (cloudSite); diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoNeutronUtils.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoNeutronUtils.java index 9eba799e18..df769ec0c2 100644 --- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoNeutronUtils.java +++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoNeutronUtils.java @@ -65,8 +65,7 @@ public class MsoNeutronUtils extends MsoCommonUtils // The cache key is "tenantId:cloudId" private static Map neutronClientCache = new HashMap<>(); - // Fetch cloud configuration each time (may be cached in CloudConfig class) - private CloudConfig cloudConfig; + private CloudConfigFactory cloudConfigFactory; private static MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.RA); private String msoPropID; @@ -76,9 +75,13 @@ public class MsoNeutronUtils extends MsoCommonUtils }; public MsoNeutronUtils(String msoPropID, CloudConfigFactory cloudConfigFactory) { - cloudConfig = cloudConfigFactory.getCloudConfig(); + this.cloudConfigFactory = cloudConfigFactory; this.msoPropID = msoPropID; } + + protected CloudConfigFactory getCloudConfigFactory() { + return cloudConfigFactory; + } /** * Create a network with the specified parameters in the given cloud/tenant. @@ -101,7 +104,7 @@ public class MsoNeutronUtils extends MsoCommonUtils throws MsoException { // Obtain the cloud site information where we will create the stack - CloudSite cloudSite = cloudConfig.getCloudSite(cloudSiteId).orElseThrow( + CloudSite cloudSite = getCloudConfigFactory().getCloudConfig().getCloudSite(cloudSiteId).orElseThrow( () -> new MsoCloudSiteNotFound(cloudSiteId)); Quantum neutronClient = getNeutronClient (cloudSite, tenantId); @@ -179,7 +182,7 @@ public class MsoNeutronUtils extends MsoCommonUtils LOGGER.debug("In queryNetwork"); // Obtain the cloud site information - CloudSite cloudSite = cloudConfig.getCloudSite(cloudSiteId).orElseThrow( + CloudSite cloudSite = getCloudConfigFactory().getCloudConfig().getCloudSite(cloudSiteId).orElseThrow( () -> new MsoCloudSiteNotFound(cloudSiteId)); Quantum neutronClient = getNeutronClient (cloudSite, tenantId); @@ -219,7 +222,7 @@ public class MsoNeutronUtils extends MsoCommonUtils public boolean deleteNetwork(String networkId, String tenantId, String cloudSiteId) throws MsoException { // Obtain the cloud site information where we will create the stack - CloudSite cloudSite = cloudConfig.getCloudSite(cloudSiteId).orElseThrow( + CloudSite cloudSite = getCloudConfigFactory().getCloudConfig().getCloudSite(cloudSiteId).orElseThrow( () -> new MsoCloudSiteNotFound(cloudSiteId)); Quantum neutronClient = getNeutronClient (cloudSite, tenantId); try { @@ -276,7 +279,7 @@ public class MsoNeutronUtils extends MsoCommonUtils throws MsoException { // Obtain the cloud site information where we will create the stack - CloudSite cloudSite = cloudConfig.getCloudSite(cloudSiteId).orElseThrow( + CloudSite cloudSite = getCloudConfigFactory().getCloudConfig().getCloudSite(cloudSiteId).orElseThrow( () -> new MsoCloudSiteNotFound(cloudSiteId)); Quantum neutronClient = getNeutronClient (cloudSite, tenantId); // Check that the network exists diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoTenantUtils.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoTenantUtils.java index 2cd4597c18..964babd1e0 100644 --- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoTenantUtils.java +++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoTenantUtils.java @@ -22,7 +22,6 @@ package org.openecomp.mso.openstack.utils; import java.util.Map; -import org.openecomp.mso.cloud.CloudConfig; import org.openecomp.mso.cloud.CloudConfigFactory; import org.openecomp.mso.cloud.CloudIdentity; import org.openecomp.mso.logger.MessageEnum; @@ -36,16 +35,14 @@ import org.openecomp.mso.properties.MsoPropertiesFactory; public abstract class MsoTenantUtils extends MsoCommonUtils { - protected CloudConfigFactory cloudConfigFactory; + private CloudConfigFactory cloudConfigFactory; protected MsoPropertiesFactory msoPropFactory; protected static MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.RA); protected MsoJavaProperties msoProps; - protected CloudConfig cloudConfig; - public MsoTenantUtils (String msoPropID) { - cloudConfigFactory = new CloudConfigFactory(); + public MsoTenantUtils (String msoPropID, CloudConfigFactory cloudConfigFactory) { + this.cloudConfigFactory = cloudConfigFactory; msoPropFactory = new MsoPropertiesFactory(); - cloudConfig = cloudConfigFactory.getCloudConfig (); LOGGER.debug("msoTenantUtils:" + msoPropID); @@ -56,6 +53,10 @@ public abstract class MsoTenantUtils extends MsoCommonUtils { } } + public CloudConfigFactory getCloudConfigFactory() { + return cloudConfigFactory; + } + public abstract String createTenant (String tenantName, String cloudSiteId, Map metadata, boolean backout) throws MsoException; diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoTenantUtilsFactory.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoTenantUtilsFactory.java index cc9e869608..49c262268d 100644 --- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoTenantUtilsFactory.java +++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoTenantUtilsFactory.java @@ -33,18 +33,25 @@ import org.openecomp.mso.openstack.exceptions.MsoCloudSiteNotFound; public class MsoTenantUtilsFactory { private static MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.RA); - private CloudConfigFactory cloudConfigFactory= new CloudConfigFactory(); - private CloudConfig cloudConfig; + private CloudConfigFactory cloudConfigFactory = new CloudConfigFactory(); private String msoPropID; public MsoTenantUtilsFactory (String msoPropID) { this.msoPropID = msoPropID; } + public void setCloudConfigFactory(CloudConfigFactory cloudConfigFactory) { + this.cloudConfigFactory = cloudConfigFactory; + } + + public CloudConfigFactory getCloudConfigFactory() { + return cloudConfigFactory; + } + //based on Cloud IdentityServerType returns ORM or KEYSTONE Utils public MsoTenantUtils getTenantUtils(String cloudSiteId) throws MsoCloudSiteNotFound { // Obtain the cloud site information - cloudConfig = cloudConfigFactory.getCloudConfig(); + CloudConfig cloudConfig = getCloudConfigFactory().getCloudConfig(); CloudSite cloudSite = cloudConfig.getCloudSite(cloudSiteId).orElseThrow( () -> new MsoCloudSiteNotFound(cloudSiteId)); return getTenantUtilsByServerType(cloudSite.getIdentityService().getIdentityServerType().toString()); @@ -54,10 +61,11 @@ public class MsoTenantUtilsFactory { MsoTenantUtils tenantU = null; if (CloudIdentity.IdentityServerType.KEYSTONE.toString().equals(serverType)) { - tenantU = new MsoKeystoneUtils (msoPropID); + tenantU = new MsoKeystoneUtils(msoPropID, getCloudConfigFactory()); } else { try { - tenantU = CloudIdentity.IdentityServerType.valueOf(serverType).getMsoTenantUtilsClass().getConstructor(String.class).newInstance(msoPropID); + tenantU = CloudIdentity.IdentityServerType.valueOf(serverType).getMsoTenantUtilsClass() + .getConstructor(String.class, CloudConfigFactory.class).newInstance(msoPropID, getCloudConfigFactory()); } catch (InvocationTargetException | InstantiationException | NoSuchMethodException | IllegalAccessException e) { throw new RuntimeException("Could not instantiate an MsoTenantUtils class for " + serverType, e); } diff --git a/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/adapter_utils/tests/MsoHeatUtilsTest.java b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/adapter_utils/tests/MsoHeatUtilsTest.java index 931f11efad..93afbcccaf 100644 --- a/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/adapter_utils/tests/MsoHeatUtilsTest.java +++ b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/adapter_utils/tests/MsoHeatUtilsTest.java @@ -70,9 +70,9 @@ public class MsoHeatUtilsTest extends MsoCommonUtils { @BeforeClass public static final void loadClasses() throws MsoCloudIdentityNotFound, MsoPropertiesException { - ClassLoader classLoader = CloudConfigTest.class.getClassLoader(); - String config = classLoader.getResource("cloud_config.json").toString().substring(5); - cloudConfigFactory.initializeCloudConfig(config, 1); + ClassLoader classLoader = MsoHeatUtilsTest.class.getClassLoader(); + String cloudConfigJson = classLoader.getResource("cloud_config.json").getPath(); + cloudConfigFactory.initializeCloudConfig(cloudConfigJson, 1); msoPropertiesFactory.initializeMsoProperties("NO_PROP", classLoader.getResource("mso.properties").getPath()); msoHeatUtils = new MsoHeatUtils("NO_PROP", msoPropertiesFactory, cloudConfigFactory); } diff --git a/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/CloudConfigFactoryTest.java b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/CloudConfigFactoryTest.java index fe768b5774..c6c6baf61b 100644 --- a/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/CloudConfigFactoryTest.java +++ b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/CloudConfigFactoryTest.java @@ -30,6 +30,7 @@ import java.lang.reflect.Field; import java.util.HashMap; import java.util.Map; import javax.ws.rs.core.Response; +import org.junit.After; import org.junit.Before; import org.junit.Test; import org.openecomp.mso.openstack.exceptions.MsoCloudIdentityNotFound; @@ -41,12 +42,23 @@ public class CloudConfigFactoryTest { private CloudConfigFactory testedObject; private CloudConfig cloudConfigMock; + private CloudConfig savedCloudConfig; @Before public void init() throws NoSuchFieldException, IllegalAccessException { cloudConfigMock = mock(CloudConfig.class); testedObject = new CloudConfigFactory(); - setCloudConfig(); + Field field = CloudConfigFactory.class.getDeclaredField(CLOUD_CONFIG_FIELD_NAME); + field.setAccessible(true); + savedCloudConfig = (CloudConfig) field.get(null); + field.set(null, cloudConfigMock); + } + + @After + public void reset() throws NoSuchFieldException, IllegalAccessException { + Field field = CloudConfigFactory.class.getDeclaredField(CLOUD_CONFIG_FIELD_NAME); + field.setAccessible(true); + field.set(null, savedCloudConfig); } @Test @@ -66,17 +78,6 @@ public class CloudConfigFactoryTest { verify(cloudConfigMock).clone(); } - @Test - public void getNotValidCloudConfig() { - when(cloudConfigMock.isValidCloudConfig()).thenReturn(false); - - CloudConfig result = testedObject.getCloudConfig(); - - assertThat(result).isNotNull(); - assertThat(result.getCloudSites()).isEmpty(); - assertThat(result.getIdentityServices()).isEmpty(); - } - @Test public void reload_CloudConfigValid() throws IOException, MsoCloudIdentityNotFound { when(cloudConfigMock.isValidCloudConfig()).thenReturn(true); @@ -156,9 +157,6 @@ public class CloudConfigFactoryTest { private void setCloudConfig() throws NoSuchFieldException, IllegalAccessException { - Field field = testedObject.getClass().getDeclaredField(CLOUD_CONFIG_FIELD_NAME); - field.setAccessible(true); - field.set(testedObject, cloudConfigMock); } } diff --git a/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/servertype/NewServerTypeUtils.java b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/servertype/NewServerTypeUtils.java index aaa732c9a3..40108b3802 100644 --- a/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/servertype/NewServerTypeUtils.java +++ b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/servertype/NewServerTypeUtils.java @@ -22,6 +22,7 @@ package org.openecomp.mso.cloud.servertype; import java.util.Map; +import org.openecomp.mso.cloud.CloudConfigFactory; import org.openecomp.mso.cloud.CloudIdentity; import org.openecomp.mso.openstack.beans.MsoTenant; import org.openecomp.mso.openstack.exceptions.MsoCloudSiteNotFound; @@ -31,11 +32,8 @@ import org.openecomp.mso.openstack.utils.MsoTenantUtils; public class NewServerTypeUtils extends MsoTenantUtils { - /** - * @param msoPropID - */ - public NewServerTypeUtils(String msoPropID) { - super(msoPropID); + public NewServerTypeUtils(String msoPropID, CloudConfigFactory cloudConfigFactory) { + super(msoPropID, cloudConfigFactory); } @Override diff --git a/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/servertype/ServerTypeTest.java b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/servertype/ServerTypeTest.java index 4aaf379512..69fab27f78 100644 --- a/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/servertype/ServerTypeTest.java +++ b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/cloud/servertype/ServerTypeTest.java @@ -24,14 +24,24 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.fail; +import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; +import org.openecomp.mso.cloud.CloudConfigFactory; import org.openecomp.mso.cloud.CloudIdentity; import org.openecomp.mso.cloud.CloudIdentity.IdentityServerType; import org.openecomp.mso.cloud.IdentityServerTypeAbstract; import org.openecomp.mso.openstack.exceptions.MsoException; +import org.openecomp.mso.openstack.utils.MsoKeystoneUtilsTest; public class ServerTypeTest { + + @BeforeClass + public static void init() throws Exception { + String cloudConfigJson = ServerTypeTest.class.getClassLoader() + .getResource("cloud_config.json").getPath(); + (new CloudConfigFactory()).initializeCloudConfig(cloudConfigJson, 0); + } @Test @Ignore // IGNORED FOR 1710 MERGE TO ONAP diff --git a/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/openstack/utils/MsoHeatUtilsTest2.java b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/openstack/utils/MsoHeatUtilsTest2.java index a0ab8e6b11..74d512c63e 100644 --- a/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/openstack/utils/MsoHeatUtilsTest2.java +++ b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/openstack/utils/MsoHeatUtilsTest2.java @@ -42,6 +42,7 @@ import org.openecomp.mso.adapters.vdu.VduModelInfo; import org.openecomp.mso.adapters.vdu.VduStateType; import org.openecomp.mso.adapters.vdu.VduStatus; import org.openecomp.mso.cloud.CloudConfig; +import org.openecomp.mso.cloud.CloudConfigFactory; import org.openecomp.mso.cloud.CloudSite; import org.openecomp.mso.cloudify.beans.DeploymentInfo; import org.openecomp.mso.cloudify.beans.DeploymentStatus; @@ -68,7 +69,9 @@ public class MsoHeatUtilsTest2 { CloudSite site = new CloudSite(); Optional opSite = Optional.ofNullable(site); CloudConfig config = Mockito.mock(CloudConfig.class); - heatUtils.cloudConfig = config; + CloudConfigFactory cloudConfigFactory = Mockito.mock(CloudConfigFactory.class); + when(cloudConfigFactory.getCloudConfig()).thenReturn(config); + when(heatUtils.getCloudConfigFactory()).thenReturn(cloudConfigFactory); CloudInfo cloudInfo = new CloudInfo(); cloudInfo.setCloudSiteId("cloudSiteId"); cloudInfo.setTenantId("tenantId"); diff --git a/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/openstack/utils/MsoKeystoneUtilsTest.java b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/openstack/utils/MsoKeystoneUtilsTest.java index 3e4758a8a2..f2d14d8b22 100644 --- a/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/openstack/utils/MsoKeystoneUtilsTest.java +++ b/adapters/mso-adapter-utils/src/test/java/org/openecomp/mso/openstack/utils/MsoKeystoneUtilsTest.java @@ -29,9 +29,13 @@ import static org.mockito.Mockito.mock; import java.util.HashMap; import java.util.Map; import org.junit.Assert; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; +import org.mockito.Mockito; +import org.openecomp.mso.cloud.CloudConfig; +import org.openecomp.mso.cloud.CloudConfigFactory; import org.openecomp.mso.cloud.CloudIdentity; import org.openecomp.mso.cloud.CloudSite; import org.openecomp.mso.openstack.beans.MsoTenant; @@ -66,9 +70,19 @@ public class MsoKeystoneUtilsTest { @Mock MsoJavaProperties msoProps; + @Mock + private static CloudConfigFactory cloudConfigFactory; + + @BeforeClass + public static final void prepare () { + cloudConfigFactory = Mockito.mock(CloudConfigFactory.class); + CloudConfig cloudConfig = Mockito.mock(CloudConfig.class); + Mockito.when(cloudConfigFactory.getCloudConfig()).thenReturn(cloudConfig); + } + @Test public void testcreateTenant() throws MsoException{ - MsoKeystoneUtils msk = PowerMockito.spy(new MsoKeystoneUtils("ID")); + MsoKeystoneUtils msk = PowerMockito.spy(new MsoKeystoneUtils("ID", cloudConfigFactory)); Mapmetadata=new HashMap<>(); metadata.put("1", "value"); tenant = mock(Tenant.class); @@ -81,19 +95,19 @@ public class MsoKeystoneUtilsTest { } @Test public void testdeleteTenant() throws MsoException{ - MsoKeystoneUtils msk = PowerMockito.spy(new MsoKeystoneUtils("ID")); + MsoKeystoneUtils msk = PowerMockito.spy(new MsoKeystoneUtils("ID", cloudConfigFactory)); doReturn(true).when(msk).deleteTenant("tenantId", "cloudSiteId"); assertTrue(msk.deleteTenant("tenantId", "cloudSiteId")); } @Test public void testfindTenantByName() throws Exception{ - MsoKeystoneUtils msk = PowerMockito.spy(new MsoKeystoneUtils("ID")); + MsoKeystoneUtils msk = PowerMockito.spy(new MsoKeystoneUtils("ID", cloudConfigFactory)); doReturn(null).when(msk).findTenantByName(adminClient, "tenantName"); assertNull(msk.findTenantByName(adminClient, "tenantName")); } @Test public void testqueryTenant() throws MsoException{ - MsoKeystoneUtils msk = PowerMockito.spy(new MsoKeystoneUtils("ID")); + MsoKeystoneUtils msk = PowerMockito.spy(new MsoKeystoneUtils("ID", cloudConfigFactory)); Mapmetadata=new HashMap<>(); metadata.put("1", "value"); mst = mock(MsoTenant.class); @@ -106,7 +120,7 @@ public class MsoKeystoneUtilsTest { @Test public void testqueryTenantByName()throws MsoException { - MsoKeystoneUtils msk = PowerMockito.spy(new MsoKeystoneUtils("ID")); + MsoKeystoneUtils msk = PowerMockito.spy(new MsoKeystoneUtils("ID", cloudConfigFactory)); Mapmetadata=new HashMap<>(); metadata.put("1", "value"); mst = mock(MsoTenant.class); @@ -122,9 +136,8 @@ public class MsoKeystoneUtilsTest { public void testgetKeystoneAdminClient() throws MsoException{ cloudIdentity = mock(CloudIdentity.class); Keystone keystone = new Keystone (cloudIdentity.getKeystoneUrl ("region", "msoPropID")); - MsoKeystoneUtils msk = PowerMockito.spy(new MsoKeystoneUtils("ID")); + MsoKeystoneUtils msk = PowerMockito.spy(new MsoKeystoneUtils("ID", cloudConfigFactory)); doReturn(keystone).when(msk).getKeystoneAdminClient(cs); assertNotNull(msk.getKeystoneAdminClient(cs)); } - - } +} \ No newline at end of file -- cgit 1.2.3-korg