* Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.\r
* ================================================================================\r
* Copyright (C) 2017 Amdocs\r
+ * ================================================================================\r
+ * Modifications Copyright (C) 2019 Ericsson\r
* =============================================================================\r
* Licensed under the Apache License, Version 2.0 (the "License");\r
* you may not use this file except in compliance with the License.\r
loggerV2.error(e.getMessage());\r
return;\r
}\r
- Keystone keystone = new Keystone(identityURL, connector);\r
+ Keystone keystone = getKeystone(identityURL, connector);\r
\r
String proxyHost = properties.getProperty(ContextFactory.PROPERTY_PROXY_HOST);\r
String proxyPort = properties.getProperty(ContextFactory.PROPERTY_PROXY_PORT);\r
}\r
return now.getTime();\r
}\r
+\r
+ protected Keystone getKeystone(String identityUrl, OpenStackClientConnector connector) {\r
+ return new Keystone(identityURL, connector);\r
+ }\r
}\r
import static org.junit.Assert.assertNull;\r
import static org.junit.Assert.assertTrue;\r
import static org.mockito.Mockito.when;\r
+import java.util.ArrayList;\r
import java.util.Arrays;\r
import java.util.HashSet;\r
import java.util.List;\r
import org.junit.Test;\r
import org.junit.runner.RunWith;\r
import org.mockito.Mock;\r
+import org.mockito.Mockito;\r
import org.mockito.runners.MockitoJUnitRunner;\r
import org.onap.appc.configuration.ConfigurationFactory;\r
+import org.powermock.reflect.Whitebox;\r
import com.att.cdp.exceptions.ZoneException;\r
+import com.att.cdp.zones.ContextFactory;\r
import com.google.common.collect.ImmutableMap;\r
+import com.woorea.openstack.keystone.model.Access;\r
import com.woorea.openstack.keystone.model.Access.Service;\r
import com.woorea.openstack.keystone.model.Access.Service.Endpoint;\r
+import com.woorea.openstack.base.client.OpenStackClientConnector;\r
+import com.woorea.openstack.base.client.OpenStackConnectException;\r
+import com.woorea.openstack.base.client.OpenStackResponseException;\r
+import com.woorea.openstack.keystone.Keystone;\r
+import com.woorea.openstack.keystone.api.TokensResource;\r
import com.woorea.openstack.keystone.model.Tenant;\r
+import com.woorea.openstack.keystone.model.Token;\r
\r
/**\r
* This class tests the service catalog against a known provider.\r
public void setup() {\r
URL = String.format("http://%s:%s/v2/%s/servers/%s", IP, PORT, TENANTID, VMID);\r
properties = new Properties();\r
+ properties.setProperty(ContextFactory.PROPERTY_PROXY_HOST, "PROXY_HOST");\r
+ properties.setProperty(ContextFactory.PROPERTY_PROXY_PORT, "PROXY_PORT");\r
catalog = new ServiceCatalogV2(IDENTITY_URL, TENANT_NAME, PRINCIPAL, CREDENTIAL, properties);\r
final Service service = new Service();\r
serviceTypes = ImmutableMap.<String, Service>builder().put(ServiceCatalog.COMPUTE_SERVICE, service)\r
String out = catalog.toString();\r
System.out.println(out);\r
}\r
+\r
+ @Test\r
+ public void testInit() throws ZoneException, ClassNotFoundException, InstantiationException, IllegalAccessException, OpenStackConnectException, OpenStackResponseException {\r
+ ServiceCatalogV2 catalogSpy = Mockito.spy(catalog);\r
+ Class<?> connectorClass = Class.forName(ServiceCatalogV2.CLIENT_CONNECTOR_CLASS);\r
+ OpenStackClientConnector connector = (OpenStackClientConnector) connectorClass.newInstance();\r
+ Keystone keystone = Mockito.spy(new Keystone(IDENTITY_URL, connector));\r
+ TokensResource tokens = Mockito.mock(TokensResource.class);\r
+ TokensResource.Authenticate authenticate = Mockito.mock(TokensResource.Authenticate.class);\r
+ Mockito.when(keystone.tokens()).thenReturn(tokens);\r
+ Mockito.when(tokens.authenticate(Mockito.any())).thenReturn(authenticate);\r
+ Access access = Mockito.mock(Access.class);\r
+\r
+ Token token = new Token();\r
+ Mockito.when(access.getToken()).thenReturn(token);\r
+ Mockito.when(authenticate.execute()).thenReturn(access);\r
+ Mockito.when(authenticate.withTenantName(Mockito.anyString())).thenReturn(authenticate);\r
+ Mockito.when(catalogSpy.getKeystone(Mockito.anyString(), Mockito.any())).thenReturn(keystone);\r
+ Access.Service service = new Access.Service();\r
+ Endpoint endpoint = new Endpoint();\r
+ List<Endpoint> endpointList = new ArrayList<>();\r
+ endpointList.add(endpoint);\r
+ Whitebox.setInternalState(service, "endpoints", endpointList);\r
+ List<Service> serviceList = new ArrayList<>();\r
+ serviceList.add(service);\r
+ Mockito.when(access.getServiceCatalog()).thenReturn(serviceList);\r
+ catalogSpy.init();\r
+ Mockito.verify(access).getServiceCatalog();\r
+ }\r
}\r