aboutsummaryrefslogtreecommitdiffstats
path: root/sdc-distribution-client/src/test/java/org/openecomp/sdc
diff options
context:
space:
mode:
Diffstat (limited to 'sdc-distribution-client/src/test/java/org/openecomp/sdc')
-rw-r--r--sdc-distribution-client/src/test/java/org/openecomp/sdc/http/SdcConnectorClientTest.java119
-rw-r--r--sdc-distribution-client/src/test/java/org/openecomp/sdc/impl/DistributionClientTest.java103
-rw-r--r--sdc-distribution-client/src/test/java/org/openecomp/sdc/utils/TestConfiguration.java12
3 files changed, 143 insertions, 91 deletions
diff --git a/sdc-distribution-client/src/test/java/org/openecomp/sdc/http/SdcConnectorClientTest.java b/sdc-distribution-client/src/test/java/org/openecomp/sdc/http/SdcConnectorClientTest.java
new file mode 100644
index 0000000..5ddc915
--- /dev/null
+++ b/sdc-distribution-client/src/test/java/org/openecomp/sdc/http/SdcConnectorClientTest.java
@@ -0,0 +1,119 @@
+package org.openecomp.sdc.http;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpStatus;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+import org.openecomp.sdc.api.asdc.RegistrationRequest;
+import org.openecomp.sdc.api.consumer.IConfiguration;
+import org.openecomp.sdc.impl.DistributionClientResultImpl;
+import org.openecomp.sdc.utils.Pair;
+
+import com.att.nsa.apiClient.credentials.ApiCredential;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+
+import fj.data.Either;
+
+public class SdcConnectorClientTest {
+ private Gson gson = new GsonBuilder().create();
+ private static final String MOCK_ENV = "MockEnv";
+ private static final String MOCK_API_KEY = "MockApikey";
+ private static HttpAsdcClient httpClient = Mockito.mock(HttpAsdcClient.class);
+ private static IConfiguration configuration = Mockito.mock(IConfiguration.class);
+ private static ApiCredential apiCredential = Mockito.mock(ApiCredential.class);
+ private static HttpAsdcResponse httpAsdcResponse = Mockito.mock(HttpAsdcResponse.class);
+ @SuppressWarnings("unchecked")
+ private static Either<TopicRegistrationResponse, DistributionClientResultImpl> mockResponse = Mockito
+ .mock(Either.class);
+ private static Map<String, String> mockHeaders = new HashMap<>();
+ Pair<HttpAsdcResponse, CloseableHttpResponse> mockPair = new Pair<>(httpAsdcResponse, null);
+ private HttpEntity lastHttpEntity = null;
+
+ private static SdcConnectorClient asdcClient = Mockito.spy(new SdcConnectorClient());
+
+ @BeforeClass
+ public static void beforeClass() {
+ asdcClient.setConfiguration(configuration);
+ asdcClient.setHttpClient(httpClient);
+ when(apiCredential.getApiKey()).thenReturn(MOCK_API_KEY);
+ when(httpAsdcResponse.getStatus()).thenReturn(HttpStatus.SC_OK);
+
+ doReturn(mockHeaders).when(asdcClient).addHeadersToHttpRequest(Mockito.anyString());
+ doReturn(mockResponse).when(asdcClient).parseRegistrationResponse(httpAsdcResponse);
+ }
+
+ @Before
+ public void beforeMethod() {
+ Mockito.reset(configuration, httpClient);
+ lastHttpEntity = null;
+ when(configuration.getEnvironmentName()).thenReturn(MOCK_ENV);
+
+
+ doAnswer(new Answer<Pair<HttpAsdcResponse, CloseableHttpResponse>>() {
+ @Override
+ public Pair<HttpAsdcResponse, CloseableHttpResponse> answer(InvocationOnMock invocation) throws Throwable {
+ lastHttpEntity = invocation.getArgumentAt(1, HttpEntity.class);
+ return mockPair;
+ }
+ }).when(httpClient).postRequest(Mockito.eq(AsdcUrls.POST_FOR_TOPIC_REGISTRATION), Mockito.any(HttpEntity.class),
+ Mockito.eq(mockHeaders), Mockito.eq(false));
+ }
+
+ @Test
+ public void testConsumeProduceStatusTopicFalse() throws UnsupportedOperationException, IOException {
+
+ testConsumeProduceStatusTopic(false);
+
+ }
+
+ @Test
+ public void testConsumeProduceStatusTopicTrue() throws UnsupportedOperationException, IOException {
+
+ testConsumeProduceStatusTopic(true);
+
+ }
+
+ private void testConsumeProduceStatusTopic(final boolean isConsumeProduceStatusFlag) throws IOException {
+ when(configuration.isConsumeProduceStatusTopic()).thenReturn(isConsumeProduceStatusFlag);
+ asdcClient.registerAsdcTopics(apiCredential);
+ verify(httpClient, times(1)).postRequest(Mockito.eq(AsdcUrls.POST_FOR_TOPIC_REGISTRATION),
+ Mockito.any(HttpEntity.class), Mockito.eq(mockHeaders), Mockito.eq(false));
+ assertNotNull(lastHttpEntity);
+ RegistrationRequest actualRegRequest = gson.fromJson(IOUtils.toString(lastHttpEntity.getContent(), StandardCharsets.UTF_8), RegistrationRequest.class);
+ RegistrationRequest expectedRegRequest = gson.fromJson(excpectedStringBody(isConsumeProduceStatusFlag), RegistrationRequest.class);
+
+ assertTrue(actualRegRequest.getApiPublicKey().equals(expectedRegRequest.getApiPublicKey()));
+ assertTrue(actualRegRequest.getDistrEnvName().equals(expectedRegRequest.getDistrEnvName()));
+ assertTrue(actualRegRequest.getIsConsumerToSdcDistrStatusTopic()
+ .equals(expectedRegRequest.getIsConsumerToSdcDistrStatusTopic()));
+ }
+
+
+
+ private String excpectedStringBody(boolean isConsumeProduceStatusTopic) {
+ String stringBodyTemplate = "{\r\n" + " \"apiPublicKey\": \"MockApikey\",\r\n"
+ + " \"distrEnvName\": \"MockEnv\",\r\n" + " \"isConsumerToSdcDistrStatusTopic\": %s\r\n" + "}";
+ return String.format(stringBodyTemplate, isConsumeProduceStatusTopic);
+
+ }
+}
diff --git a/sdc-distribution-client/src/test/java/org/openecomp/sdc/impl/DistributionClientTest.java b/sdc-distribution-client/src/test/java/org/openecomp/sdc/impl/DistributionClientTest.java
index cf380cb..81f9a17 100644
--- a/sdc-distribution-client/src/test/java/org/openecomp/sdc/impl/DistributionClientTest.java
+++ b/sdc-distribution-client/src/test/java/org/openecomp/sdc/impl/DistributionClientTest.java
@@ -22,16 +22,14 @@ package org.openecomp.sdc.impl;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.doReturn;
import java.io.IOException;
-import java.net.MalformedURLException;
-import java.security.GeneralSecurityException;
import java.util.ArrayList;
import java.util.List;
import org.junit.After;
import org.junit.Assert;
-import org.junit.BeforeClass;
import org.junit.Test;
import org.mockito.Mockito;
import org.openecomp.sdc.api.IDistributionClient;
@@ -39,7 +37,7 @@ import org.openecomp.sdc.api.consumer.IConfiguration;
import org.openecomp.sdc.api.notification.IArtifactInfo;
import org.openecomp.sdc.api.notification.IVfModuleMetadata;
import org.openecomp.sdc.api.results.IDistributionClientResult;
-import org.openecomp.sdc.http.AsdcConnectorClient;
+import org.openecomp.sdc.http.SdcConnectorClient;
import org.openecomp.sdc.http.TopicRegistrationResponse;
import org.openecomp.sdc.utils.ArtifactTypeEnum;
import org.openecomp.sdc.utils.ArtifactsUtils;
@@ -51,28 +49,17 @@ import org.openecomp.sdc.utils.Wrapper;
import com.att.nsa.apiClient.credentials.ApiCredential;
import com.att.nsa.apiClient.http.HttpException;
import com.att.nsa.cambria.client.CambriaClient.CambriaApiException;
-import com.att.nsa.cambria.client.CambriaClientBuilders;
import com.att.nsa.cambria.client.CambriaIdentityManager;
-import com.att.nsa.cambria.client.CambriaTopicManager;
import fj.data.Either;
public class DistributionClientTest {
static CambriaIdentityManager cc;
- static List<String> serverList;
- DistributionClientImpl client = new DistributionClientImpl();
+ DistributionClientImpl client = Mockito.spy(new DistributionClientImpl());
IConfiguration testConfiguration = new TestConfiguration();
- AsdcConnectorClient connector = Mockito.mock(AsdcConnectorClient.class);
+ SdcConnectorClient connector = Mockito.mock(SdcConnectorClient.class);
- @BeforeClass
- public static void setup() {
- serverList = new ArrayList<String>();
- serverList.add("uebsb91sfdc.it.open.com:3904");
- serverList.add("uebsb92sfdc.it.open.com:3904");
- serverList.add("uebsb93sfdc.it.open.com:3904");
-
- }
@After
public void afterTest() {
@@ -150,9 +137,6 @@ public class DistributionClientTest {
@Test
public void initWithMocksBadConfigurationTest() throws HttpException, CambriaApiException, IOException {
- // connectorMock
- Either<List<String>, IDistributionClientResult> serversResult = Either.left(serverList);
- Mockito.when(connector.getServerList()).thenReturn(serversResult);
TopicRegistrationResponse topics = new TopicRegistrationResponse();
topics.setDistrNotificationTopicName("notificationTopic");
@@ -222,7 +206,7 @@ public class DistributionClientTest {
validationResult = client.init(testEnv, new TestNotificationCallback());
Assert.assertEquals(DistributionActionResultEnum.CONF_MISSING_ENVIRONMENT_NAME, validationResult.getDistributionActionResult());
- Mockito.verify(connector, Mockito.times(0)).getServerList();
+ Mockito.verify(client, Mockito.times(0)).getUEBServerList();
Mockito.verify(cambriaMock, Mockito.times(0)).createApiKey(Mockito.anyString(), Mockito.anyString());
Mockito.verify(connector, Mockito.times(0)).registerAsdcTopics(Mockito.any(ApiCredential.class));
}
@@ -252,8 +236,6 @@ public class DistributionClientTest {
@Test
public void getConfigurationTest() throws HttpException, CambriaApiException, IOException {
// connectorMock
- Either<List<String>, IDistributionClientResult> serversResult = Either.left(serverList);
- Mockito.when(connector.getServerList()).thenReturn(serversResult);
mockArtifactTypeList();
TopicRegistrationResponse topics = new TopicRegistrationResponse();
topics.setDistrNotificationTopicName("notificationTopic");
@@ -300,9 +282,6 @@ public class DistributionClientTest {
@Test
public void initWithMocksTest() throws HttpException, CambriaApiException, IOException {
- // connectorMock
- Either<List<String>, IDistributionClientResult> serversResult = Either.left(serverList);
- Mockito.when(connector.getServerList()).thenReturn(serversResult);
mockArtifactTypeList();
TopicRegistrationResponse topics = new TopicRegistrationResponse();
@@ -323,7 +302,7 @@ public class DistributionClientTest {
IDistributionClientResult initResponse = client.init(testConfiguration, new TestNotificationCallback());
assertEquals(DistributionActionResultEnum.SUCCESS, initResponse.getDistributionActionResult());
- Mockito.verify(connector, Mockito.times(1)).getServerList();
+ Mockito.verify(client, Mockito.times(1)).getUEBServerList();
Mockito.verify(cambriaMock, Mockito.times(1)).createApiKey(Mockito.anyString(), Mockito.anyString());
Mockito.verify(connector, Mockito.times(1)).registerAsdcTopics(Mockito.any(ApiCredential.class));
System.out.println(initResponse);
@@ -352,7 +331,7 @@ public class DistributionClientTest {
// connectorMock
IDistributionClientResult getServersResult = new DistributionClientResultImpl(DistributionActionResultEnum.ASDC_SERVER_PROBLEM, "problem");
Either<List<String>, IDistributionClientResult> serversResult = Either.right(getServersResult);
- Mockito.when(connector.getServerList()).thenReturn(serversResult);
+ doReturn(serversResult).when(client).getUEBServerList();
TopicRegistrationResponse topics = new TopicRegistrationResponse();
topics.setDistrNotificationTopicName("notificationTopic");
@@ -371,7 +350,7 @@ public class DistributionClientTest {
IDistributionClientResult initResponse = client.init(testConfiguration, new TestNotificationCallback());
assertEquals(DistributionActionResultEnum.ASDC_SERVER_PROBLEM, initResponse.getDistributionActionResult());
- Mockito.verify(connector, Mockito.times(1)).getServerList();
+ Mockito.verify(client, Mockito.times(1)).getUEBServerList();
Mockito.verify(cambriaMock, Mockito.times(0)).createApiKey(Mockito.anyString(), Mockito.anyString());
Mockito.verify(connector, Mockito.times(0)).registerAsdcTopics(Mockito.any(ApiCredential.class));
@@ -382,8 +361,6 @@ public class DistributionClientTest {
public void initCreateKeysFailedTest() throws HttpException, CambriaApiException, IOException {
// connectorMock
- Either<List<String>, IDistributionClientResult> serversResult = Either.left(serverList);
- Mockito.when(connector.getServerList()).thenReturn(serversResult);
mockArtifactTypeList();
TopicRegistrationResponse topics = new TopicRegistrationResponse();
@@ -403,7 +380,7 @@ public class DistributionClientTest {
IDistributionClientResult initResponse = client.init(testConfiguration, new TestNotificationCallback());
assertEquals(DistributionActionResultEnum.UEB_KEYS_CREATION_FAILED, initResponse.getDistributionActionResult());
- Mockito.verify(connector, Mockito.times(1)).getServerList();
+ Mockito.verify(client, Mockito.times(1)).getUEBServerList();
Mockito.verify(cambriaMock, Mockito.times(1)).createApiKey(Mockito.anyString(), Mockito.anyString());
Mockito.verify(connector, Mockito.times(0)).registerAsdcTopics(Mockito.any(ApiCredential.class));
System.out.println(initResponse);
@@ -413,8 +390,6 @@ public class DistributionClientTest {
public void initRegistrationFailedTest() throws HttpException, CambriaApiException, IOException {
// connectorMock
- Either<List<String>, IDistributionClientResult> serversResult = Either.left(serverList);
- Mockito.when(connector.getServerList()).thenReturn(serversResult);
mockArtifactTypeList();
DistributionClientResultImpl failureResult = new DistributionClientResultImpl(DistributionActionResultEnum.BAD_REQUEST, "Bad Request");
Either<TopicRegistrationResponse, DistributionClientResultImpl> topicsResult = Either.right(failureResult);
@@ -430,7 +405,7 @@ public class DistributionClientTest {
IDistributionClientResult initResponse = client.init(testConfiguration, new TestNotificationCallback());
assertEquals(DistributionActionResultEnum.BAD_REQUEST, initResponse.getDistributionActionResult());
- Mockito.verify(connector, Mockito.times(1)).getServerList();
+ Mockito.verify(client, Mockito.times(1)).getUEBServerList();
Mockito.verify(cambriaMock, Mockito.times(1)).createApiKey(Mockito.anyString(), Mockito.anyString());
Mockito.verify(connector, Mockito.times(1)).registerAsdcTopics(Mockito.any(ApiCredential.class));
System.out.println(initResponse);
@@ -450,7 +425,7 @@ public class DistributionClientTest {
}
// ########### TESTS TO ADD TO CI START ###########
- public void createKeysTestCI() throws MalformedURLException, GeneralSecurityException {
+ /*public void createKeysTestCI() throws MalformedURLException, GeneralSecurityException {
validateConfigurationTest();
CambriaIdentityManager trueCambria = new CambriaClientBuilders.IdentityManagerBuilder().usingHttps().usingHosts(serverList).build();
client.cambriaIdentityManager = trueCambria;
@@ -462,7 +437,7 @@ public class DistributionClientTest {
System.out.println(keysResult);
System.out.println("keys: public=" + client.credential.getApiKey() + " | secret=" + client.credential.getApiSecret());
}
-
+*/
public void initTestCI() {
IDistributionClient distributionClient = DistributionClientFactory.createDistributionClient();
IDistributionClientResult init = distributionClient.init(testConfiguration, new TestNotificationCallback());
@@ -507,59 +482,9 @@ public class DistributionClientTest {
}
- // @Test
- public void registerProducerCI() {
-
- try {
- CambriaTopicManager topicManager = new CambriaClientBuilders.TopicManagerBuilder().usingHttps().usingHosts(serverList).authenticatedBy("sSJc5qiBnKy2qrlc", "4ZRPzNJfEUK0sSNBvccd2m7X").build();
- topicManager.allowProducer("ASDC-DISTR-STATUS-TOPIC-TESTER", "1FSVAA3bRjhSKNAI");
- } catch (HttpException | IOException | GeneralSecurityException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
-
- // publish
- // StringBuilder sb = new StringBuilder();
- // for (String s : serverList)
- // {
- // sb.append(s);
- // sb.append(",");
- // }
- // CambriaBatchingPublisher pub = CambriaClientFactory.createSimplePublisher(sb.toString(), "ASDC-DISTR-STATUS-TOPIC-TESTER");
- // pub.setApiCredentials("yPMwjhmOgHUyJEeW", "3RYpgvBsjpA8Y2CHdA1PM8xK" );
- //
- //
- // try {
- // pub.send("MyPartitionKey", "{\"artifactURL\":\"artifactURL_Val\", \"consumerID\" : \"123\", \"distributionID\" : \"AAA\", \"status\" : \"DOWNLOAD_OK\", \"timestamp\" : 1000}");
- // } catch (IOException e) {
- // e.printStackTrace();
- // }
- //
- // finally{
- //
- //
- // try {
- // List<message> stuck = pub.close(15L, TimeUnit.SECONDS);
- // assertTrue(stuck.isEmpty());
- // } catch (IOException | InterruptedException e) {
- // // TODO Auto-generated catch block
- // e.printStackTrace();
- // }
- // }
-
- }
-
- public void connectorGetServersTestCI() {
- AsdcConnectorClient connector = new AsdcConnectorClient();
- connector.init(testConfiguration);
-
- Either<List<String>, IDistributionClientResult> serverListFromAsdc = connector.getServerList();
- assertTrue(serverListFromAsdc.isLeft());
- assertEquals(serverList, serverListFromAsdc.left().value());
- }
public void connectorRegisterCI() {
- AsdcConnectorClient connector = new AsdcConnectorClient();
+ SdcConnectorClient connector = new SdcConnectorClient();
connector.init(testConfiguration);
ApiCredential creds = new ApiCredential("publicKey", "secretKey");
@@ -569,7 +494,7 @@ public class DistributionClientTest {
}
public void downloadArtifactTestCI() {
- AsdcConnectorClient connector = new AsdcConnectorClient();
+ SdcConnectorClient connector = new SdcConnectorClient();
connector.init(testConfiguration);
IArtifactInfo artifactInfo = initArtifactInfo();
connector.dowloadArtifact(artifactInfo);
diff --git a/sdc-distribution-client/src/test/java/org/openecomp/sdc/utils/TestConfiguration.java b/sdc-distribution-client/src/test/java/org/openecomp/sdc/utils/TestConfiguration.java
index 727f9a6..22814f4 100644
--- a/sdc-distribution-client/src/test/java/org/openecomp/sdc/utils/TestConfiguration.java
+++ b/sdc-distribution-client/src/test/java/org/openecomp/sdc/utils/TestConfiguration.java
@@ -24,8 +24,6 @@ import java.util.ArrayList;
import java.util.List;
import org.openecomp.sdc.api.consumer.IConfiguration;
-import org.openecomp.sdc.utils.ArtifactTypeEnum;
-import org.openecomp.sdc.utils.DistributionClientConstants;
public class TestConfiguration implements IConfiguration {
@@ -43,6 +41,7 @@ public class TestConfiguration implements IConfiguration {
private boolean activateServerTLSAuth;
private boolean isFilterInEmptyResources;
private boolean useHttpsWithDmaap;
+ private List<String> msgBusAddress;
public TestConfiguration(IConfiguration other) {
this.asdcAddress = other.getAsdcAddress();
@@ -75,6 +74,10 @@ public class TestConfiguration implements IConfiguration {
this.keyStorePassword = "Aa123456";
this.activateServerTLSAuth = false;
this.isFilterInEmptyResources = false;
+ msgBusAddress = new ArrayList<String>();
+ msgBusAddress.add("www.cnn.com");
+ msgBusAddress.add("www.cnn.com");
+ msgBusAddress.add("www.cnn.com");
}
@Override
@@ -83,6 +86,11 @@ public class TestConfiguration implements IConfiguration {
}
@Override
+ public List<String> getMsgBusAddress() {
+ return msgBusAddress;
+ }
+
+ @Override
public String getUser() {
return user;
}