From dda9213466af575725b3e0b734c1fe70b1e2944f Mon Sep 17 00:00:00 2001 From: Lathishbabu Ganesan Date: Mon, 28 May 2018 11:07:44 +0100 Subject: Unit test cases for iaas impl package Change-Id: Iac6167dca83413b7533cb65a73775a616866589c Issue-ID: APPC-436 Signed-off-by: Lathishbabu Ganesan --- .../adapter/iaas/impl/ProviderAdapterImpl.java | 3 +- .../adapter/iaas/impl/ServiceCatalogFactory.java | 16 +++----- .../appc/adapter/iaas/impl/ServiceCatalogV3.java | 45 ++++++++++++---------- .../onap/appc/adapter/iaas/impl/TenantCache.java | 25 ++++++------ 4 files changed, 44 insertions(+), 45 deletions(-) (limited to 'appc-adapters/appc-iaas-adapter/appc-iaas-adapter-bundle/src/main/java') diff --git a/appc-adapters/appc-iaas-adapter/appc-iaas-adapter-bundle/src/main/java/org/onap/appc/adapter/iaas/impl/ProviderAdapterImpl.java b/appc-adapters/appc-iaas-adapter/appc-iaas-adapter-bundle/src/main/java/org/onap/appc/adapter/iaas/impl/ProviderAdapterImpl.java index 79d7aa569..36191dd5a 100644 --- a/appc-adapters/appc-iaas-adapter/appc-iaas-adapter-bundle/src/main/java/org/onap/appc/adapter/iaas/impl/ProviderAdapterImpl.java +++ b/appc-adapters/appc-iaas-adapter/appc-iaas-adapter-bundle/src/main/java/org/onap/appc/adapter/iaas/impl/ProviderAdapterImpl.java @@ -68,7 +68,7 @@ public class ProviderAdapterImpl implements ProviderAdapter { /** * reference to operation factory */ - ProviderOperationFactory factory = ProviderOperationFactory.getInstance(); + private ProviderOperationFactory factory; /** * A cache of providers that are predefined. */ @@ -257,6 +257,7 @@ public class ProviderAdapterImpl implements ProviderAdapter { * provider2.identity=http://provider2:5000/v2.0 provider2.tenant1.name=someName * provider2.tenant1.userid=someUser provider2.tenant1.password=somePassword

*/ + factory = ProviderOperationFactory.getInstance(); providerCache = new HashMap<>(); Properties properties = configuration.getProperties(); List providers = StructuredPropertyHelper.getStructuredProperties(properties, Property.PROVIDER); diff --git a/appc-adapters/appc-iaas-adapter/appc-iaas-adapter-bundle/src/main/java/org/onap/appc/adapter/iaas/impl/ServiceCatalogFactory.java b/appc-adapters/appc-iaas-adapter/appc-iaas-adapter-bundle/src/main/java/org/onap/appc/adapter/iaas/impl/ServiceCatalogFactory.java index a4be23349..74d87571b 100644 --- a/appc-adapters/appc-iaas-adapter/appc-iaas-adapter-bundle/src/main/java/org/onap/appc/adapter/iaas/impl/ServiceCatalogFactory.java +++ b/appc-adapters/appc-iaas-adapter/appc-iaas-adapter-bundle/src/main/java/org/onap/appc/adapter/iaas/impl/ServiceCatalogFactory.java @@ -51,18 +51,12 @@ public class ServiceCatalogFactory { return null; } String version = idUrl.getVersion(); - if(version == null){ - logger.error("Invalid Identity URL check configuration"); - return null; - } String prefix = version.split("\\.")[0]; - if (prefix != null) { - switch (prefix) { - case "v2": - return new ServiceCatalogV2(url, projectIdentifier, principal, credential, properties); - case "v3": - return new ServiceCatalogV3(url, projectIdentifier, principal, credential, domain, properties); - } + if("v2".equals(prefix)){ + return new ServiceCatalogV2(url, projectIdentifier, principal, credential, properties); + } + else if("v3".equals(prefix)){ + return new ServiceCatalogV3(url, projectIdentifier, principal, credential, domain, properties); } return null; } diff --git a/appc-adapters/appc-iaas-adapter/appc-iaas-adapter-bundle/src/main/java/org/onap/appc/adapter/iaas/impl/ServiceCatalogV3.java b/appc-adapters/appc-iaas-adapter/appc-iaas-adapter-bundle/src/main/java/org/onap/appc/adapter/iaas/impl/ServiceCatalogV3.java index 1e057d147..4773603c3 100644 --- a/appc-adapters/appc-iaas-adapter/appc-iaas-adapter-bundle/src/main/java/org/onap/appc/adapter/iaas/impl/ServiceCatalogV3.java +++ b/appc-adapters/appc-iaas-adapter/appc-iaas-adapter-bundle/src/main/java/org/onap/appc/adapter/iaas/impl/ServiceCatalogV3.java @@ -23,13 +23,25 @@ package org.onap.appc.adapter.iaas.impl; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.concurrent.locks.Lock; +import java.util.concurrent.locks.ReentrantReadWriteLock; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import com.att.cdp.exceptions.ContextConnectionException; import com.att.cdp.exceptions.ZoneException; import com.att.cdp.openstack.util.ExceptionMapper; import com.att.cdp.pal.util.Time; import com.att.cdp.zones.ContextFactory; import com.att.cdp.zones.spi.RequestState; -import com.google.common.collect.Lists; import com.woorea.openstack.base.client.OpenStackBaseException; import com.woorea.openstack.base.client.OpenStackClientConnector; import com.woorea.openstack.base.client.OpenStackSimpleTokenProvider; @@ -42,19 +54,6 @@ import com.woorea.openstack.keystone.v3.model.Token; import com.woorea.openstack.keystone.v3.model.Token.Project; import com.woorea.openstack.keystone.v3.model.Token.Service; import com.woorea.openstack.keystone.v3.model.Token.Service.Endpoint; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Properties; -import java.util.Set; -import java.util.concurrent.locks.Lock; -import java.util.concurrent.locks.ReentrantReadWriteLock; -import java.util.regex.Matcher; -import java.util.regex.Pattern; /** * This class is used to capture and cache the service catalog for a specific OpenStack provider. @@ -225,13 +224,7 @@ public class ServiceCatalogV3 extends ServiceCatalog { */ @Override public String getProjectName() { - Lock readLock = rwLock.readLock(); - readLock.lock(); - try { - return project.getName(); - } finally { - readLock.unlock(); - } + return getProject().getName(); } /** @@ -403,4 +396,14 @@ public class ServiceCatalogV3 extends ServiceCatalog { } return now.getTime(); } + + public Project getProject() { + Lock readLock = rwLock.readLock(); + readLock.lock(); + try { + return project; + } finally { + readLock.unlock(); + } + } } \ No newline at end of file diff --git a/appc-adapters/appc-iaas-adapter/appc-iaas-adapter-bundle/src/main/java/org/onap/appc/adapter/iaas/impl/TenantCache.java b/appc-adapters/appc-iaas-adapter/appc-iaas-adapter-bundle/src/main/java/org/onap/appc/adapter/iaas/impl/TenantCache.java index c99889ce4..29b9cd314 100644 --- a/appc-adapters/appc-iaas-adapter/appc-iaas-adapter-bundle/src/main/java/org/onap/appc/adapter/iaas/impl/TenantCache.java +++ b/appc-adapters/appc-iaas-adapter/appc-iaas-adapter-bundle/src/main/java/org/onap/appc/adapter/iaas/impl/TenantCache.java @@ -23,13 +23,6 @@ package org.onap.appc.adapter.iaas.impl; -import com.att.cdp.exceptions.ContextConnectionException; -import com.att.cdp.exceptions.ZoneException; -import com.att.cdp.zones.Context; -import com.att.cdp.zones.ContextFactory; -import com.att.cdp.zones.Provider; -import com.att.eelf.configuration.EELFLogger; -import com.att.eelf.configuration.EELFManager; import java.io.IOException; import java.util.HashMap; import java.util.Map; @@ -42,6 +35,13 @@ import org.onap.appc.pool.Allocator; import org.onap.appc.pool.Destructor; import org.onap.appc.pool.Pool; import org.onap.appc.pool.PoolSpecificationException; +import com.att.cdp.exceptions.ContextConnectionException; +import com.att.cdp.exceptions.ZoneException; +import com.att.cdp.zones.Context; +import com.att.cdp.zones.ContextFactory; +import com.att.cdp.zones.Provider; +import com.att.eelf.configuration.EELFLogger; +import com.att.eelf.configuration.EELFManager; /** * This class maintains a cache of tenants within a specific provider. @@ -121,7 +121,6 @@ public class TenantCache implements Allocator, Destructor { configuration = ConfigurationFactory.getConfiguration(); logger = EELFManager.getInstance().getLogger(getClass()); this.provider = provider; - configuration = ConfigurationFactory.getConfiguration(); } /** @@ -157,12 +156,10 @@ public class TenantCache implements Allocator, Destructor { int max = configuration.getIntegerProperty(Constants.PROPERTY_MAX_POOL_SIZE); int delay = configuration.getIntegerProperty(Constants.PROPERTY_RETRY_DELAY); int limit = configuration.getIntegerProperty(Constants.PROPERTY_RETRY_LIMIT); - String url = provider.getIdentityURL(); String tenant = tenantName == null ? tenantId : tenantName; Properties properties = configuration.getProperties(); - catalog = ServiceCatalogFactory.getServiceCatalog(url, tenant, userid, password, domain, properties); - + catalog = getServiceCatalogFactory(url, tenant, properties); if (catalog == null) { logger.error(Msg.IAAS_UNSUPPORTED_IDENTITY_SERVICE, url); return; @@ -195,12 +192,16 @@ public class TenantCache implements Allocator, Destructor { } } + public ServiceCatalog getServiceCatalogFactory(String url, String tenant, Properties properties) { + return ServiceCatalogFactory.getServiceCatalog(url, tenant, userid, password, domain, properties); + } + private void createPools(int min, int max, String url, Properties properties) { for (String region : catalog.getRegions()) { try { Pool pool = new Pool<>(min, max); pool.setProperty(ContextFactory.PROPERTY_IDENTITY_URL, url); - pool.setProperty(ContextFactory.PROPERTY_TENANT, tenantName); + pool.setProperty(ContextFactory.PROPERTY_TENANT, getTenantName()); pool.setProperty(ContextFactory.PROPERTY_CLIENT_CONNECTOR_CLASS, CLIENT_CONNECTOR_CLASS); pool.setProperty(ContextFactory.PROPERTY_RETRY_DELAY, configuration.getProperty(Constants.PROPERTY_RETRY_DELAY)); -- cgit 1.2.3-korg