diff options
20 files changed, 183 insertions, 802 deletions
@@ -2,66 +2,55 @@ project: 'sdc/sdc-distribution-client' project_creation_date: '2017-02-14' lifecycle_state: 'Incubation' -project_category: '' project_lead: &onap_releng_ptl name: 'Ofir Sonsino' email: 'ofir.sonsino@intl.att.com' company: 'ATT' id: 'os0695' - timezone: 'Asia/Jerusalem' + timezone: 'Israel/Lod' primary_contact: *onap_releng_ptl -mailing_list: - type: 'groups.io' - url: 'lists.onap.org' - tag: '<[sub-project_name]>' -realtime_discussion: '' issue_tracking: type: 'jira' url: 'https://jira.onap.org/projects/SDC' key: 'SDC' meetings: - type: 'zoom' - agenda: '' - url: 'https://wiki.onap.org/pages/viewpage.action?pageId=6592847' - server: 'n/a' - channel: 'n/a' - repeats: 'weekly' - time: '14:00 UTC' -repositories: - - 'sdc/sdc-distribution-client' + agenda: '' + url: 'https://wiki.onap.org/pages/viewpage.action?pageId=6592847' + server: 'n/a' + channel: 'n/a' + repeats: 'weekly' + time: '14:00 UTC' committers: - <<: *onap_releng_ptl + - name: 'Idan Amit' + email: 'ia096e@intl.att.com' + company: 'ATT' + id: 'idanamit' + timezone: 'Israel/Aviv' - name: 'Tal Gitelman' - email: 'tg851x@intl.att.com' - company: 'ATT' - id: 'tgitelman' - timezone: 'Asia/Jerusalem' + email: 'tg851x@intl.att.com' + company: 'ATT' + id: 'tgitelman' + timezone: 'Israel/Aviv' - name: 'Yuli Shlosberg' - email: 'ys9693@att.com' - company: 'ATT' - id: 'ys9693' - timezone: 'Asia/Jerusalem' + email: 'ys9693@att.com' + company: 'ATT' + id: 'ys9693' + timezone: 'Israel/Aviv' tsc: approval: 'https://lists.onap.org/pipermail/onap-tsc' changes: - type: 'Addition' - name: 'Michael Lando' - link: 'https://wiki.onap.org/pages/viewpage.action?pageId=25435557' + name: 'Michael Lando' + name: 'Idan Amit' + name: 'Tal Gitelman' + name: 'Yuli Shlosberg' + link: 'https://wiki.onap.org/pages/viewpage.action?pageId=25435557' - type: 'Addition' - name: 'Idan Amit' - link: 'https://wiki.onap.org/pages/viewpage.action?pageId=25435557' - - type: 'Addition' - name: 'Tal Gitelman' - link: 'https://wiki.onap.org/pages/viewpage.action?pageId=25435557' - - type: 'Addition' - name: 'Yuli Shlosberg' - link: 'https://wiki.onap.org/pages/viewpage.action?pageId=25435557' - - type: 'Addition' - name: 'Ofir Sonsino' - link: 'https://wiki.onap.org/pages/viewpage.action?pageId=45305945' - - type: 'Removal' - name: 'Michael Lando' - link: 'https://lists.onap.org/g/onap-tsc/message/4239' + name: 'Ofir Sonsino' + link: 'https://wiki.onap.org/pages/viewpage.action?pageId=45305945' - type: 'Removal' - name: 'Idan Amit' - link: 'https://lists.onap.org/g/onap-tsc/message/5218' + name: 'Michael Lando' + link: 'https://lists.onap.org/g/onap-tsc/message/4239' + @@ -4,7 +4,7 @@ <groupId>org.onap.sdc.sdc-distribution-client</groupId> <artifactId>sdc-main-distribution-client</artifactId> - <version>1.4.1-SNAPSHOT</version> + <version>1.4.0-SNAPSHOT</version> <packaging>pom</packaging> <name>sdc-sdc-distribution-client</name> @@ -42,7 +42,6 @@ <snakeyaml.version>1.14</snakeyaml.version> <guava.version>21.0</guava.version> <jetty.version>9.4.18.v20190429</jetty.version> - <bean-matchers.version>0.11</bean-matchers.version> <!--<sonar.skipDesign>true</sonar.skipDesign>--> @@ -124,15 +123,6 @@ </execution> </executions> </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-surefire-plugin</artifactId> - <version>2.19.1</version> - <configuration> - <argLine>${argLine} -Xmx2048m</argLine> - </configuration> - </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> @@ -178,12 +168,12 @@ <distributionManagement> <repository> - <id>ecomp-releases</id> + <id>onap-releases</id> <name>Release Repository</name> <url>${nexus.proxy}/content/repositories/${releases.path}/</url> </repository> <snapshotRepository> - <id>ecomp-snapshots</id> + <id>onap-snapshots</id> <name>Snapshot Repository</name> <url>${nexus.proxy}/content/repositories/${snapshots.path}/</url> </snapshotRepository> diff --git a/sdc-distribution-ci/pom.xml b/sdc-distribution-ci/pom.xml index 7b32b37..1914d07 100644 --- a/sdc-distribution-ci/pom.xml +++ b/sdc-distribution-ci/pom.xml @@ -45,6 +45,13 @@ </dependency> <dependency> + <groupId>commons-codec</groupId> + <artifactId>commons-codec</artifactId> + <version>1.9</version> + <scope>compile</scope> + </dependency> + + <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>${logback.version}</version> diff --git a/sdc-distribution-ci/src/main/java/org/onap/test/Decoder.java b/sdc-distribution-ci/src/main/java/org/onap/test/Decoder.java index fc029ff..384d26d 100644 --- a/sdc-distribution-ci/src/main/java/org/onap/test/Decoder.java +++ b/sdc-distribution-ci/src/main/java/org/onap/test/Decoder.java @@ -3,14 +3,13 @@ * sdc-distribution-client * ================================================================================ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * Modifications copyright (C) 2019 Nokia. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -24,21 +23,22 @@ package org.onap.test; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; -import java.util.Base64; +import org.apache.commons.codec.binary.Base64; public class Decoder { public static String encode(byte[] byteArrayToEncode) { - return new String(Base64.getEncoder().encode(byteArrayToEncode)); + return new String(Base64.encodeBase64(byteArrayToEncode)); } public static String decode(String strEncoded) { - return new String(Base64.getDecoder().decode(strEncoded)); + return new String(Base64.decodeBase64(strEncoded)); } public static String readFileToString(String file) throws IOException { - try (FileReader fileReader = new FileReader(file); BufferedReader reader = new BufferedReader(fileReader)) { + try (FileReader fileReader = new FileReader(file); + BufferedReader reader = new BufferedReader(fileReader)) { String line; StringBuilder stringBuilder = new StringBuilder(); String ls = System.getProperty("line.separator"); @@ -47,7 +47,7 @@ public class Decoder { stringBuilder.append(line); stringBuilder.append(ls); } - + reader.close(); fileReader.close(); return stringBuilder.toString(); diff --git a/sdc-distribution-client/pom.xml b/sdc-distribution-client/pom.xml index f774af3..a1999f3 100644 --- a/sdc-distribution-client/pom.xml +++ b/sdc-distribution-client/pom.xml @@ -6,7 +6,7 @@ <parent> <groupId>org.onap.sdc.sdc-distribution-client</groupId> <artifactId>sdc-main-distribution-client</artifactId> - <version>1.4.1-SNAPSHOT</version> + <version>1.4.0-SNAPSHOT</version> </parent> <artifactId>sdc-distribution-client</artifactId> @@ -62,17 +62,18 @@ <version>2.5</version> </dependency> + <dependency> + <groupId>commons-codec</groupId> + <artifactId>commons-codec</artifactId> + <version>1.9</version> + <scope>compile</scope> + </dependency> + <!-- http client --> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>${httpclient.version}</version> - <exclusions> - <exclusion> - <groupId>commons-codec</groupId> - <artifactId>commons-codec</artifactId> - </exclusion> - </exclusions> <scope>compile</scope> </dependency> @@ -99,12 +100,6 @@ <scope>compile</scope> </dependency> - <dependency> - <groupId>com.google.guava</groupId> - <artifactId>guava</artifactId> - <version>${guava.version}</version> - </dependency> - <!-- TEST --> <dependency> <groupId>org.eclipse.jetty</groupId> @@ -135,9 +130,9 @@ </dependency> <dependency> - <groupId>com.google.code.bean-matchers</groupId> - <artifactId>bean-matchers</artifactId> - <version>${bean-matchers.version}</version> + <groupId>com.google.guava</groupId> + <artifactId>guava</artifactId> + <version>${guava.version}</version> <scope>test</scope> </dependency> diff --git a/sdc-distribution-client/src/main/java/org/onap/sdc/http/HttpAsdcClient.java b/sdc-distribution-client/src/main/java/org/onap/sdc/http/HttpAsdcClient.java index 7871816..a93b4a7 100644 --- a/sdc-distribution-client/src/main/java/org/onap/sdc/http/HttpAsdcClient.java +++ b/sdc-distribution-client/src/main/java/org/onap/sdc/http/HttpAsdcClient.java @@ -3,7 +3,6 @@ * sdc-distribution-client * ================================================================================ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * Modifications copyright (C) 2019 Nokia. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -30,7 +29,6 @@ import java.security.KeyStore; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import java.util.ArrayList; -import java.util.Base64; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -43,6 +41,7 @@ import javax.net.ssl.TrustManager; import javax.net.ssl.TrustManagerFactory; import javax.net.ssl.X509TrustManager; +import org.apache.commons.codec.binary.Base64; import org.apache.http.Header; import org.apache.http.HttpEntity; import org.apache.http.HttpStatus; @@ -84,7 +83,7 @@ public class HttpAsdcClient implements IHttpAsdcClient { initSSL(username, password, configuraion.getKeyStorePath(), configuraion.getKeyStorePassword(), configuraion.activateServerTLSAuth()); String userNameAndPassword = username + ":" + password; - this.authHeaderValue = "Basic " + Base64.getEncoder().encodeToString(userNameAndPassword.getBytes()); + this.authHeaderValue = "Basic " + Base64.encodeBase64String(userNameAndPassword.getBytes()); } // @SuppressWarnings("deprecation") diff --git a/sdc-distribution-client/src/main/java/org/onap/sdc/http/SdcConnectorClient.java b/sdc-distribution-client/src/main/java/org/onap/sdc/http/SdcConnectorClient.java index 33fedc7..d294fef 100644 --- a/sdc-distribution-client/src/main/java/org/onap/sdc/http/SdcConnectorClient.java +++ b/sdc-distribution-client/src/main/java/org/onap/sdc/http/SdcConnectorClient.java @@ -3,7 +3,6 @@ * sdc-distribution-client * ================================================================================ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * Modifications copyright (C) 2019 Nokia. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -59,7 +58,7 @@ import com.google.gson.reflect.TypeToken; import fj.data.Either; public class SdcConnectorClient { - String contentDispositionHeader = "Content-Disposition"; + private String contentDispositionHeader = "Content-Disposition"; private static Logger log = LoggerFactory.getLogger(SdcConnectorClient.class.getName()); private IConfiguration configuration; private HttpAsdcClient httpClient = null; @@ -165,7 +164,7 @@ public class SdcConnectorClient { DistributionClientResultImpl response = null; String requestId = UUID.randomUUID().toString(); - HttpAsdcClient httpClient = createNewHttpClient(); + HttpAsdcClient httpClient = new HttpAsdcClient(configuration); Map<String, String> requestHeaders = addHeadersToHttpRequest(requestId); RegistrationRequest registrationRequest = new RegistrationRequest(credential.getApiKey(), configuration.getEnvironmentName(), configuration.isConsumeProduceStatusTopic(), configuration.getMsgBusAddress()); @@ -192,10 +191,6 @@ public class SdcConnectorClient { } - HttpAsdcClient createNewHttpClient() { - return new HttpAsdcClient(configuration); - } - public DistributionClientDownloadResultImpl dowloadArtifact(IArtifactInfo artifactInfo) { DistributionClientDownloadResultImpl response = new DistributionClientDownloadResultImpl(DistributionActionResultEnum.GENERAL_ERROR, "failed to download artifact from ASDC"); diff --git a/sdc-distribution-client/src/test/java/org/onap/sdc/impl/DistributionClientFactory.java b/sdc-distribution-client/src/main/java/org/onap/sdc/impl/DistributionClientFactory.java index 6262f06..f7a0041 100644 --- a/sdc-distribution-client/src/test/java/org/onap/sdc/impl/DistributionClientFactory.java +++ b/sdc-distribution-client/src/main/java/org/onap/sdc/impl/DistributionClientFactory.java @@ -3,7 +3,6 @@ * sdc-distribution-client * ================================================================================ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * Modifications copyright (C) 2019 Nokia. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,6 +21,7 @@ package org.onap.sdc.impl; import org.onap.sdc.api.IDistributionClient; +import org.onap.sdc.impl.mock.DistributionClientStubImpl; public class DistributionClientFactory { @@ -32,4 +32,7 @@ public class DistributionClientFactory { return new DistributionClientImpl(); } + public static IDistributionClient createMockDistributionClient() { + return new DistributionClientStubImpl(); + } } diff --git a/sdc-distribution-client/src/main/java/org/onap/sdc/impl/StatusDataImpl.java b/sdc-distribution-client/src/main/java/org/onap/sdc/impl/StatusDataImpl.java index de5d1ec..1d46186 100644 --- a/sdc-distribution-client/src/main/java/org/onap/sdc/impl/StatusDataImpl.java +++ b/sdc-distribution-client/src/main/java/org/onap/sdc/impl/StatusDataImpl.java @@ -3,7 +3,6 @@ * SDC * ================================================================================ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * Modifications copyright (C) 2019 Nokia. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -28,7 +27,7 @@ public class StatusDataImpl implements IStatusData { private String distributionID; private String consumerID; - private Long timestamp; + private long timestamp; private String artifactURL; private DistributionStatusEnum status; private String componentName; @@ -57,7 +56,7 @@ public class StatusDataImpl implements IStatusData { return timestamp; } - public void setTimestamp(Long timestamp) { + public void setTimestamp(long timestamp) { this.timestamp = timestamp; } @@ -82,7 +81,7 @@ public class StatusDataImpl implements IStatusData { @Override public String toString() { - return "StatusDataImpl [distributionID=" + distributionID + ", consumerID=" + consumerID + ", timestamp=" + timestamp + ", artifactURL=" + artifactURL + ", status=" + status + ", errorReason=" + errorReason + "]"; + return "StatusDataImpl [distributionId=" + distributionID + ", consumerId=" + consumerID + ", timestamp=" + timestamp + ", artifactURL=" + artifactURL + ", status=" + status + ", errorReason=" + errorReason + "]"; } @Override diff --git a/sdc-distribution-client/src/test/java/org/onap/sdc/impl/mock/DistributionClientDownloadResultStubImpl.java b/sdc-distribution-client/src/main/java/org/onap/sdc/impl/mock/DistributionClientDownloadResultStubImpl.java index 5ffb655..5ffb655 100644 --- a/sdc-distribution-client/src/test/java/org/onap/sdc/impl/mock/DistributionClientDownloadResultStubImpl.java +++ b/sdc-distribution-client/src/main/java/org/onap/sdc/impl/mock/DistributionClientDownloadResultStubImpl.java diff --git a/sdc-distribution-client/src/test/java/org/onap/sdc/impl/mock/DistributionClientResultStubImpl.java b/sdc-distribution-client/src/main/java/org/onap/sdc/impl/mock/DistributionClientResultStubImpl.java index d176608..d176608 100644 --- a/sdc-distribution-client/src/test/java/org/onap/sdc/impl/mock/DistributionClientResultStubImpl.java +++ b/sdc-distribution-client/src/main/java/org/onap/sdc/impl/mock/DistributionClientResultStubImpl.java diff --git a/sdc-distribution-client/src/test/java/org/onap/sdc/impl/mock/DistributionClientStubImpl.java b/sdc-distribution-client/src/main/java/org/onap/sdc/impl/mock/DistributionClientStubImpl.java index 40e1869..40e1869 100644 --- a/sdc-distribution-client/src/test/java/org/onap/sdc/impl/mock/DistributionClientStubImpl.java +++ b/sdc-distribution-client/src/main/java/org/onap/sdc/impl/mock/DistributionClientStubImpl.java diff --git a/sdc-distribution-client/src/main/java/org/onap/sdc/utils/GeneralUtils.java b/sdc-distribution-client/src/main/java/org/onap/sdc/utils/GeneralUtils.java index d550b74..ac2a904 100644 --- a/sdc-distribution-client/src/main/java/org/onap/sdc/utils/GeneralUtils.java +++ b/sdc-distribution-client/src/main/java/org/onap/sdc/utils/GeneralUtils.java @@ -3,7 +3,6 @@ * sdc-distribution-client * ================================================================================ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * Modifications copyright (C) 2019 Nokia. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,15 +20,13 @@ package org.onap.sdc.utils; -import com.google.common.base.Charsets; -import com.google.common.hash.Hashing; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.ArrayList; -import java.util.Base64; import java.util.List; import java.util.regex.Pattern; +import org.apache.commons.codec.binary.Base64; import org.onap.sdc.api.results.IDistributionClientResult; import org.onap.sdc.impl.DistributionClientResultImpl; import org.slf4j.Logger; @@ -39,21 +36,24 @@ import fj.data.Either; public class GeneralUtils { private static final Logger LOGGER = LoggerFactory.getLogger(GeneralUtils.class.getName()); - private static final int STRING_LENGTH_DIVIDER = 4; + public static final int STRING_LENGTH_DIVIDER = 4; private GeneralUtils() { + } public static String calculateMD5(String data) { - String calculatedMd5 = Hashing.md5().hashString(data, Charsets.UTF_8).toString(); + String calculatedMd5 = org.apache.commons.codec.digest.DigestUtils.md5Hex(data); // encode base-64 result - byte[] encodeBase64 = Base64.getEncoder().encode(calculatedMd5.getBytes()); - return new String(encodeBase64); + byte[] encodeBase64 = Base64.encodeBase64(calculatedMd5.getBytes()); + String encodeBase64Str = new String(encodeBase64); + return encodeBase64Str; + } public static String calculateMD5(byte[] decodedPayload) { - String decodedMd5 = Hashing.md5().hashBytes(decodedPayload).toString(); - byte[] encodeMd5 = Base64.getEncoder().encode(decodedMd5.getBytes()); + String decodedMd5 = org.apache.commons.codec.digest.DigestUtils.md5Hex(decodedPayload); + byte[] encodeMd5 = Base64.encodeBase64(decodedMd5.getBytes()); return new String(encodeMd5); } @@ -61,7 +61,7 @@ public class GeneralUtils { boolean isEncoded = false; try { // If no exception is caught, then it is possibly a base64 encoded string - byte[] data = Base64.getDecoder().decode(str); + byte[] data = Base64.decodeBase64(str); // checks if the string was properly padded to the isEncoded = ((str.length() % STRING_LENGTH_DIVIDER == 0) && (Pattern.matches("\\A[a-zA-Z0-9/+]+={1,2}\\z", str))); diff --git a/sdc-distribution-client/src/test/java/org/onap/sdc/api/asdc/RegistrationRequestTest.java b/sdc-distribution-client/src/test/java/org/onap/sdc/api/asdc/RegistrationRequestTest.java deleted file mode 100644 index 50ff94c..0000000 --- a/sdc-distribution-client/src/test/java/org/onap/sdc/api/asdc/RegistrationRequestTest.java +++ /dev/null @@ -1,45 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2019 Nokia. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ -package org.onap.sdc.api.asdc; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - -import java.util.Collections; -import java.util.List; -import org.junit.Test; - -public class RegistrationRequestTest { - - private static final List<String> DIST_ENV_END_POINTS = Collections.emptyList(); - private static final boolean IS_CONSUMER_TO_SDC_DISTR_STATUS_TOPIC = true; - private static final String ENV_NAME = "ENV_NAME"; - private static final String API_KEY = "API_KEY"; - - @Test - public void testConstructorShouldSetProperties() { - RegistrationRequest registrationRequest = - new RegistrationRequest(API_KEY, ENV_NAME, IS_CONSUMER_TO_SDC_DISTR_STATUS_TOPIC, DIST_ENV_END_POINTS); - assertEquals(registrationRequest.getApiPublicKey(), API_KEY); - assertEquals(registrationRequest.getDistEnvEndPoints(), DIST_ENV_END_POINTS); - assertEquals(registrationRequest.getDistrEnvName(), ENV_NAME); - assertTrue(registrationRequest.getIsConsumerToSdcDistrStatusTopic()); - } -}
\ No newline at end of file diff --git a/sdc-distribution-client/src/test/java/org/onap/sdc/api/asdc/ServerListResponseTest.java b/sdc-distribution-client/src/test/java/org/onap/sdc/api/asdc/ServerListResponseTest.java deleted file mode 100644 index 449eca8..0000000 --- a/sdc-distribution-client/src/test/java/org/onap/sdc/api/asdc/ServerListResponseTest.java +++ /dev/null @@ -1,32 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2019 Nokia. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ -package org.onap.sdc.api.asdc; - -import static com.google.code.beanmatchers.BeanMatchers.hasValidGettersAndSetters; -import static org.junit.Assert.assertThat; - -import org.junit.Test; - -public class ServerListResponseTest { - @Test - public void shouldHaveValidGettersAndSetters() { - assertThat(ServerListResponse.class, hasValidGettersAndSetters()); - } -}
\ No newline at end of file diff --git a/sdc-distribution-client/src/test/java/org/onap/sdc/http/SdcConnectorClientTest.java b/sdc-distribution-client/src/test/java/org/onap/sdc/http/SdcConnectorClientTest.java index 20228e0..ac156b1 100644 --- a/sdc-distribution-client/src/test/java/org/onap/sdc/http/SdcConnectorClientTest.java +++ b/sdc-distribution-client/src/test/java/org/onap/sdc/http/SdcConnectorClientTest.java @@ -3,14 +3,13 @@ * SDC * ================================================================================ * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. - * Modifications copyright (C) 2019 Nokia. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -21,27 +20,17 @@ package org.onap.sdc.http; -import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; -import static org.mockito.Matchers.any; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.doThrow; -import static org.mockito.Mockito.eq; -import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import com.google.common.hash.Hashing; -import java.io.ByteArrayInputStream; import java.io.IOException; -import java.io.InputStream; import java.nio.charset.StandardCharsets; -import java.util.Arrays; import java.util.HashMap; -import java.util.List; import java.util.Map; import org.apache.commons.io.IOUtils; @@ -51,16 +40,12 @@ import org.apache.http.client.methods.CloseableHttpResponse; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; -import org.mockito.Matchers; import org.mockito.Mockito; import org.mockito.invocation.InvocationOnMock; import org.mockito.stubbing.Answer; -import org.onap.sdc.api.notification.IArtifactInfo; -import org.onap.sdc.api.results.IDistributionClientResult; import org.onap.sdc.impl.DistributionClientResultImpl; import org.onap.sdc.api.asdc.RegistrationRequest; import org.onap.sdc.api.consumer.IConfiguration; -import org.onap.sdc.utils.DistributionActionResultEnum; import org.onap.sdc.utils.Pair; import com.att.nsa.apiClient.credentials.ApiCredential; @@ -70,341 +55,85 @@ import com.google.gson.GsonBuilder; import fj.data.Either; public class SdcConnectorClientTest { - - private static Gson gson = new GsonBuilder().create(); - private static final String MOCK_ENV = "MockEnv"; - private static final String MOCK_API_KEY = "MockApikey"; - private static HttpAsdcClient httpClient = mock(HttpAsdcClient.class); - private static IConfiguration configuration = mock(IConfiguration.class); - private static ApiCredential apiCredential = mock(ApiCredential.class); - private static HttpAsdcResponse httpAsdcResponse = 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()); - - private static final String ARTIFACT_URL = "http://127.0.0.1/artifact/url"; - private static final String IT_JUST_DIDN_T_WORK = "It just didn't work"; - private static final List<String> ARTIFACT_TYPES = Arrays.asList("Service", "Resource", "VF", "VFC"); - private static final String VALID_JSON_PAYLOAD = gson.toJson(ARTIFACT_TYPES); - private static final int PORT = 49512; - private static final byte[] BYTES = new byte[] {0xA, 0xB, 0xC, 0xD}; - - - @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(expected = IllegalStateException.class) - public void initAndCloseTest() { - IConfiguration conf = Mockito.mock(IConfiguration.class); - when(conf.getUser()).thenReturn("user"); - when(conf.getPassword()).thenReturn("password"); - - when(conf.activateServerTLSAuth()).thenReturn(false); - SdcConnectorClient client = new SdcConnectorClient(); - client.init(conf); - assertNotNull(client.getHttpClient()); - client.close(); - - //check if client is really closed - client.getHttpClient().getRequest(AsdcUrls.POST_FOR_TOPIC_REGISTRATION, new HashMap<>()); - } - - - @Test - public void getConfigurationTest() { - IConfiguration conf = asdcClient.getConfiguration(); - assertEquals(configuration, conf); - } - - @Test - public void getHttpClientTest() { - HttpAsdcClient httpAsdcClient = asdcClient.getHttpClient(); - assertEquals(httpClient, httpAsdcClient); - } - - @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), 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())); - } - - @Test - public void getValidArtifactTypesListHappyScenarioTest() throws IOException { - HttpAsdcResponse responseMock = mock(HttpAsdcResponse.class); - CloseableHttpResponse closeableHttpResponseMock = mock(CloseableHttpResponse.class); - HttpEntity messageMock = mock(HttpEntity.class); - Pair<HttpAsdcResponse, CloseableHttpResponse> responsePair = - new Pair<>(responseMock, closeableHttpResponseMock); - - when(responseMock.getStatus()).thenReturn(HttpStatus.SC_OK); - when(responseMock.getMessage()).thenReturn(messageMock); - when(messageMock.getContent()).thenReturn(new ByteArrayInputStream(VALID_JSON_PAYLOAD.getBytes())); - when(httpClient.getRequest(eq(AsdcUrls.GET_VALID_ARTIFACT_TYPES), Matchers.any(), eq(false))) - .thenReturn(responsePair); - - Either<List<String>, IDistributionClientResult> result = asdcClient.getValidArtifactTypesList(); - assertTrue(result.isLeft()); - List<String> list = result.left().value(); - assertEquals(ARTIFACT_TYPES, list); - } - - @Test - public void getValidArtifactTypesListErrorResponseScenarioTest() throws IOException { - HttpAsdcResponse responseMock = mock(HttpAsdcResponse.class); - HttpEntity messageMock = mock(HttpEntity.class); - Pair<HttpAsdcResponse, CloseableHttpResponse> responsePair = new Pair<>(responseMock, null); - - when(responseMock.getStatus()).thenReturn(HttpStatus.SC_GATEWAY_TIMEOUT); - when(responseMock.getMessage()).thenReturn(messageMock); - when(messageMock.getContent()).thenReturn(new ByteArrayInputStream(IT_JUST_DIDN_T_WORK.getBytes())); - when(httpClient.getRequest(eq(AsdcUrls.GET_VALID_ARTIFACT_TYPES), Matchers.any(), eq(false))) - .thenReturn(responsePair); - - Either<List<String>, IDistributionClientResult> result = asdcClient.getValidArtifactTypesList(); - assertTrue(result.isRight()); - IDistributionClientResult distributionClientResult = result.right().value(); - assertEquals(DistributionActionResultEnum.ASDC_SERVER_TIMEOUT, - distributionClientResult.getDistributionActionResult()); - } - - - @Test - public void getValidArtifactTypesListExceptionDuringConnectionClosingTest() throws IOException { - HttpAsdcResponse responseMock = mock(HttpAsdcResponse.class); - CloseableHttpResponse closeableHttpResponseMock = mock(CloseableHttpResponse.class); - HttpEntity messageMock = mock(HttpEntity.class); - Pair<HttpAsdcResponse, CloseableHttpResponse> responsePair = - new Pair<>(responseMock, closeableHttpResponseMock); - - when(responseMock.getStatus()).thenReturn(HttpStatus.SC_GATEWAY_TIMEOUT); - when(responseMock.getMessage()).thenReturn(messageMock); - when(messageMock.getContent()).thenReturn(new ByteArrayInputStream(VALID_JSON_PAYLOAD.getBytes())); - when(httpClient.getRequest(eq(AsdcUrls.GET_VALID_ARTIFACT_TYPES), Matchers.any(), eq(false))) - .thenReturn(responsePair); - - doThrow(new IOException("Test exception")).when(closeableHttpResponseMock).close(); - - Either<List<String>, IDistributionClientResult> result = asdcClient.getValidArtifactTypesList(); - assertTrue(result.isRight()); - IDistributionClientResult distributionClientResult = result.right().value(); - assertEquals(DistributionActionResultEnum.ASDC_SERVER_TIMEOUT, - distributionClientResult.getDistributionActionResult()); - } - - @Test - public void getValidArtifactTypesListParsingExceptionHandlingTest() throws IOException { - HttpAsdcResponse responseMock = mock(HttpAsdcResponse.class); - CloseableHttpResponse closeableHttpResponseMock = mock(CloseableHttpResponse.class); - HttpEntity messageMock = mock(HttpEntity.class); - Pair<HttpAsdcResponse, CloseableHttpResponse> responsePair = - new Pair<>(responseMock, closeableHttpResponseMock); - - when(responseMock.getStatus()).thenReturn(HttpStatus.SC_OK); - when(responseMock.getMessage()).thenReturn(messageMock); - when(messageMock.getContent()).thenReturn(new ThrowingInputStreamForTesting()); - when(httpClient.getRequest(eq(AsdcUrls.GET_VALID_ARTIFACT_TYPES), Matchers.any(), eq(false))) - .thenReturn(responsePair); - - Either<List<String>, IDistributionClientResult> result = asdcClient.getValidArtifactTypesList(); - assertTrue(result.isRight()); - IDistributionClientResult distributionClientResult = result.right().value(); - assertEquals(DistributionActionResultEnum.GENERAL_ERROR, - distributionClientResult.getDistributionActionResult()); - } - - @Test - public void unregisterTopicsErrorDuringProcessingTest() throws IOException { - when(configuration.getAsdcAddress()).thenReturn("127.0.0.1" + PORT); - when(configuration.isConsumeProduceStatusTopic()).thenReturn(false); - when(configuration.getMsgBusAddress()) - .thenReturn(Arrays.asList("http://127.0.0.1:45321/dmaap", "http://127.0.0.1:45321/dmaap")); - - doReturn(httpClient).when(asdcClient).createNewHttpClient(); - - String failMessage = "It just didn't work"; - HttpAsdcResponse responseMock = mock(HttpAsdcResponse.class); - HttpEntity messageMock = mock(HttpEntity.class); - Pair<HttpAsdcResponse, CloseableHttpResponse> responsePair = new Pair<>(responseMock, null); - - when(responseMock.getStatus()).thenReturn(HttpStatus.SC_BAD_GATEWAY); - when(responseMock.getMessage()).thenReturn(messageMock); - when(messageMock.getContent()).thenReturn(new ByteArrayInputStream(failMessage.getBytes())); - doReturn(responsePair).when(httpClient) - .postRequest(eq(AsdcUrls.POST_FOR_UNREGISTER), any(HttpEntity.class), any(), eq(false)); - - IDistributionClientResult result = asdcClient.unregisterTopics(apiCredential); - assertEquals(DistributionActionResultEnum.ASDC_CONNECTION_FAILED, result.getDistributionActionResult()); - } - - @Test - public void unregisterTopicsHappyScenarioTest() throws IOException { - when(configuration.getAsdcAddress()).thenReturn("127.0.0.1" + PORT); - when(configuration.isConsumeProduceStatusTopic()).thenReturn(false); - - doReturn(httpClient).when(asdcClient).createNewHttpClient(); - - String failMessage = ""; - HttpAsdcResponse responseMock = mock(HttpAsdcResponse.class); - HttpEntity messageMock = mock(HttpEntity.class); - Pair<HttpAsdcResponse, CloseableHttpResponse> responsePair = new Pair<>(responseMock, null); - - when(responseMock.getStatus()).thenReturn(HttpStatus.SC_NO_CONTENT); - when(responseMock.getMessage()).thenReturn(messageMock); - when(messageMock.getContent()).thenReturn(new ByteArrayInputStream(failMessage.getBytes())); - doReturn(responsePair).when(httpClient) - .postRequest(eq(AsdcUrls.POST_FOR_UNREGISTER), any(HttpEntity.class), any(), eq(false)); - - IDistributionClientResult result = asdcClient.unregisterTopics(apiCredential); - assertEquals(DistributionActionResultEnum.SUCCESS, result.getDistributionActionResult()); - } - - @Test - public void downloadArtifactHappyScenarioTest() throws IOException { - Map<String, String> headers = new HashMap<>(); - headers.put(asdcClient.contentDispositionHeader, "SomeHeader"); - - IArtifactInfo artifactInfo = mock(IArtifactInfo.class); - when(artifactInfo.getArtifactURL()).thenReturn(ARTIFACT_URL); - when(artifactInfo.getArtifactChecksum()).thenReturn(Hashing.md5().hashBytes(BYTES).toString()); - - HttpAsdcResponse responseMock = mock(HttpAsdcResponse.class); - HttpEntity messageMock = mock(HttpEntity.class); - Pair<HttpAsdcResponse, CloseableHttpResponse> responsePair = new Pair<>(responseMock, null); - - when(responseMock.getStatus()).thenReturn(HttpStatus.SC_OK); - when(responseMock.getMessage()).thenReturn(messageMock); - when(responseMock.getHeadersMap()).thenReturn(headers); - when(messageMock.getContent()).thenReturn(new ByteArrayInputStream(BYTES)); - doReturn(responsePair).when(httpClient).getRequest(eq(ARTIFACT_URL), any(), eq(false)); - - IDistributionClientResult result = asdcClient.dowloadArtifact(artifactInfo); - assertEquals(DistributionActionResultEnum.SUCCESS, result.getDistributionActionResult()); - } - - @Test - public void downloadArtifactDataIntegrityProblemTest() throws IOException { - IArtifactInfo artifactInfo = mock(IArtifactInfo.class); - when(artifactInfo.getArtifactURL()).thenReturn(ARTIFACT_URL); - - HttpAsdcResponse responseMock = mock(HttpAsdcResponse.class); - HttpEntity messageMock = mock(HttpEntity.class); - Pair<HttpAsdcResponse, CloseableHttpResponse> responsePair = new Pair<>(responseMock, null); - - when(responseMock.getStatus()).thenReturn(HttpStatus.SC_OK); - when(responseMock.getMessage()).thenReturn(messageMock); - when(messageMock.getContent()).thenReturn(new ByteArrayInputStream(BYTES)); - doReturn(responsePair).when(httpClient).getRequest(eq(ARTIFACT_URL), any(), eq(false)); - - IDistributionClientResult result = asdcClient.dowloadArtifact(artifactInfo); - assertEquals(DistributionActionResultEnum.DATA_INTEGRITY_PROBLEM, result.getDistributionActionResult()); - } - - @Test - public void downloadArtifactExceptionDuringDownloadHandlingTest() throws IOException { - IArtifactInfo artifactInfo = mock(IArtifactInfo.class); - when(artifactInfo.getArtifactURL()).thenReturn(ARTIFACT_URL); - - HttpAsdcResponse responseMock = mock(HttpAsdcResponse.class); - HttpEntity messageMock = mock(HttpEntity.class); - Pair<HttpAsdcResponse, CloseableHttpResponse> responsePair = new Pair<>(responseMock, null); - - when(responseMock.getStatus()).thenReturn(HttpStatus.SC_OK); - when(responseMock.getMessage()).thenReturn(messageMock); - when(messageMock.getContent()).thenReturn(new ThrowingInputStreamForTesting()); - doReturn(responsePair).when(httpClient).getRequest(eq(ARTIFACT_URL), any(), eq(false)); - - IDistributionClientResult result = asdcClient.dowloadArtifact(artifactInfo); - assertEquals(DistributionActionResultEnum.GENERAL_ERROR, result.getDistributionActionResult()); - } - - @Test - public void downloadArtifactHandleDownloadErrorTest() throws IOException { - IArtifactInfo artifactInfo = mock(IArtifactInfo.class); - when(artifactInfo.getArtifactURL()).thenReturn(ARTIFACT_URL); - - HttpAsdcResponse responseMock = mock(HttpAsdcResponse.class); - HttpEntity messageMock = mock(HttpEntity.class); - Pair<HttpAsdcResponse, CloseableHttpResponse> responsePair = new Pair<>(responseMock, null); - - when(responseMock.getStatus()).thenReturn(HttpStatus.SC_INTERNAL_SERVER_ERROR); - when(responseMock.getMessage()).thenReturn(messageMock); - when(messageMock.getContent()).thenReturn(new ThrowingInputStreamForTesting()); - doReturn(responsePair).when(httpClient).getRequest(eq(ARTIFACT_URL), any(), eq(false)); - - IDistributionClientResult result = asdcClient.dowloadArtifact(artifactInfo); - assertEquals(DistributionActionResultEnum.ASDC_SERVER_PROBLEM, result.getDistributionActionResult()); - } - - 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); - - } - - static class ThrowingInputStreamForTesting extends InputStream { - - @Override - public int read() throws IOException { - throw new IOException("Not implemented. This is expected as the implementation is for unit tests only."); - } - } + 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/onap/sdc/impl/DistributionStatusMessageImplTest.java b/sdc-distribution-client/src/test/java/org/onap/sdc/impl/DistributionStatusMessageImplTest.java deleted file mode 100644 index bf78a2a..0000000 --- a/sdc-distribution-client/src/test/java/org/onap/sdc/impl/DistributionStatusMessageImplTest.java +++ /dev/null @@ -1,138 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2019 Nokia. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ -package org.onap.sdc.impl; - -import static org.junit.Assert.assertEquals; - -import org.junit.Test; -import org.onap.sdc.api.consumer.IComponentDoneStatusMessage; -import org.onap.sdc.api.consumer.IDistributionStatusMessage; -import org.onap.sdc.api.consumer.IFinalDistrStatusMessage; -import org.onap.sdc.utils.DistributionStatusEnum; - -public class DistributionStatusMessageImplTest { - - private static final String ARTIFACT = "ARTIFACT"; - private static final String DISTRIBUTION_ID = "DISTRIBUTION_ID"; - private static final String CONSUMER_ID = "CONSUMER_ID"; - private static final String COMPONENT_NAME = "COMPONENT_NAME"; - - @Test - public void shouldProperlySetPropertiesFromIDistributionStatusMessage() { - IDistributionStatusMessage copyFrom = new IDistributionStatusMessage() { - @Override - public String getArtifactURL() { - return ARTIFACT; - } - - @Override - public String getDistributionID() { - return DISTRIBUTION_ID; - } - - @Override - public String getConsumerID() { - return CONSUMER_ID; - } - - @Override - public long getTimestamp() { - return 0; - } - - @Override - public DistributionStatusEnum getStatus() { - return DistributionStatusEnum.ALREADY_DEPLOYED; - } - }; - - DistributionStatusMessageImpl result = new DistributionStatusMessageImpl(copyFrom); - assertEquals(result.getArtifactURL(), copyFrom.getArtifactURL()); - assertEquals(result.getConsumerID(), copyFrom.getConsumerID()); - assertEquals(result.getDistributionID(), copyFrom.getDistributionID()); - assertEquals(result.getStatus(), copyFrom.getStatus()); - assertEquals(result.getTimestamp(), copyFrom.getTimestamp()); - } - - @Test - public void shouldProperlySetPropertiesFromIComponentDoneStatusMessage() { - IComponentDoneStatusMessage copyFrom = new IComponentDoneStatusMessage() { - @Override - public String getComponentName() { - return COMPONENT_NAME; - } - - @Override - public String getDistributionID() { - return DISTRIBUTION_ID; - } - - @Override - public String getConsumerID() { - return CONSUMER_ID; - } - - @Override - public long getTimestamp() { - return 0; - } - - @Override - public DistributionStatusEnum getStatus() { - return DistributionStatusEnum.ALREADY_DEPLOYED; - } - }; - - DistributionStatusMessageImpl result = new DistributionStatusMessageImpl(copyFrom); - assertEquals(result.getArtifactURL(), copyFrom.getArtifactURL()); - assertEquals(result.getConsumerID(), copyFrom.getConsumerID()); - assertEquals(result.getDistributionID(), copyFrom.getDistributionID()); - assertEquals(result.getStatus(), copyFrom.getStatus()); - assertEquals(result.getTimestamp(), copyFrom.getTimestamp()); - } - - @Test - public void shouldProperlySetPropertiesFromIFinalDistrStatusMessage() { - IFinalDistrStatusMessage copyFrom = new IFinalDistrStatusMessage() { - - @Override - public String getDistributionID() { - return DISTRIBUTION_ID; - } - - @Override - public long getTimestamp() { - return 0; - } - - @Override - public DistributionStatusEnum getStatus() { - return DistributionStatusEnum.ALREADY_DEPLOYED; - } - }; - - DistributionStatusMessageImpl result = new DistributionStatusMessageImpl(copyFrom); - assertEquals(result.getConsumerID(), copyFrom.getConsumerID()); - assertEquals(result.getDistributionID(), copyFrom.getDistributionID()); - assertEquals(result.getStatus(), copyFrom.getStatus()); - assertEquals(result.getTimestamp(), copyFrom.getTimestamp()); - } - -}
\ No newline at end of file diff --git a/sdc-distribution-client/src/test/java/org/onap/sdc/impl/StatusDataImplTest.java b/sdc-distribution-client/src/test/java/org/onap/sdc/impl/StatusDataImplTest.java deleted file mode 100644 index 82416fa..0000000 --- a/sdc-distribution-client/src/test/java/org/onap/sdc/impl/StatusDataImplTest.java +++ /dev/null @@ -1,42 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2019 Nokia. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ -package org.onap.sdc.impl; - -import static com.google.code.beanmatchers.BeanMatchers.hasValidBeanToStringExcluding; -import static com.google.code.beanmatchers.BeanMatchers.hasValidGettersAndSettersExcluding; -import static org.junit.Assert.assertThat; - -import org.junit.Test; - -public class StatusDataImplTest { - - private static final String COMPONENT_NAME = "componentName"; - private static final String ERROR_REASON = "errorReason"; - - @Test - public void shouldHaveValidGettersAndSetters() { - assertThat(StatusDataImpl.class, hasValidGettersAndSettersExcluding(COMPONENT_NAME, ERROR_REASON)); - } - - @Test - public void shouldHaveValidToString() { - assertThat(StatusDataImpl.class, hasValidBeanToStringExcluding(COMPONENT_NAME, ERROR_REASON)); - } -}
\ No newline at end of file diff --git a/sdc-distribution-client/src/test/java/org/onap/sdc/utils/ArtifactsUtils.java b/sdc-distribution-client/src/test/java/org/onap/sdc/utils/ArtifactsUtils.java index dad6d4a..b562ab7 100644 --- a/sdc-distribution-client/src/test/java/org/onap/sdc/utils/ArtifactsUtils.java +++ b/sdc-distribution-client/src/test/java/org/onap/sdc/utils/ArtifactsUtils.java @@ -3,14 +3,13 @@ * sdc-distribution-client * ================================================================================ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * Modifications copyright (C) 2019 Nokia. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -22,27 +21,26 @@ package org.onap.sdc.utils; -import java.util.Base64; + +import org.apache.commons.codec.binary.Base64; import org.onap.sdc.impl.mock.DistributionClientDownloadResultStubImpl; public class ArtifactsUtils { - - static DistributionClientDownloadResultStubImpl distributionClientDownloadResultStubImpl = - new DistributionClientDownloadResultStubImpl(); - - public static byte[] getArtifactPayload() { - return distributionClientDownloadResultStubImpl.getArtifactPayload(); - } - - public static String getValidChecksum() { - - String payloadStr = new String(distributionClientDownloadResultStubImpl.getArtifactPayload()); - - byte[] decodedPayload = Base64.getDecoder().decode(payloadStr); - String checkSum = GeneralUtils.calculateMD5(new String(decodedPayload)); - - return checkSum; - } + static DistributionClientDownloadResultStubImpl distributionClientDownloadResultStubImpl = new DistributionClientDownloadResultStubImpl(); + + public static byte [] getArtifactPayload(){ + return distributionClientDownloadResultStubImpl.getArtifactPayload(); + } + + public static String getValidChecksum(){ + + String payloadStr = new String(distributionClientDownloadResultStubImpl.getArtifactPayload()); + + byte[] decodedPayload = Base64.decodeBase64(payloadStr); + String checkSum = GeneralUtils.calculateMD5 (new String(decodedPayload)); + + return checkSum; + } } diff --git a/sdc-distribution-client/src/test/java/org/onap/sdc/utils/GeneralUtilsTest.java b/sdc-distribution-client/src/test/java/org/onap/sdc/utils/GeneralUtilsTest.java deleted file mode 100644 index 3ed80c3..0000000 --- a/sdc-distribution-client/src/test/java/org/onap/sdc/utils/GeneralUtilsTest.java +++ /dev/null @@ -1,66 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2019 Nokia. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.sdc.utils; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - -import com.google.common.base.Charsets; -import com.google.common.hash.HashCode; -import com.google.common.hash.Hashing; -import java.util.Base64; -import org.junit.Test; - -public class GeneralUtilsTest { - - private static final String TEXT_TO_CODE = "This is example text."; - - @Test - public void shouldCalculateMD5ForBytes() { - String hashed = GeneralUtils.calculateMD5(TEXT_TO_CODE.getBytes()); - byte[] decoded = Base64.getDecoder().decode(hashed); - HashCode expected = Hashing.md5().hashString(TEXT_TO_CODE, Charsets.UTF_8); - assertEquals(expected.toString(), new String(decoded)); - } - - @Test - public void shouldCalculateMD5ForString() { - String hashed = GeneralUtils.calculateMD5(TEXT_TO_CODE); - byte[] decoded = Base64.getDecoder().decode(hashed); - HashCode expected = Hashing.md5().hashString(TEXT_TO_CODE, Charsets.UTF_8); - assertEquals(expected.toString(), new String(decoded)); - } - - @Test - public void shouldValidateBase64EncodedString() { - HashCode expected = Hashing.md5().hashString(TEXT_TO_CODE, Charsets.UTF_8); - String base64String = Base64.getEncoder().encodeToString(expected.asBytes()); - assertTrue(GeneralUtils.isBase64Encoded(base64String)); - } - - @Test - public void shouldInvalidateBase64EncodedString() { - String base64String = Base64.getEncoder().encodeToString(TEXT_TO_CODE.getBytes()); - assertFalse(GeneralUtils.isBase64Encoded(base64String)); - } - -}
\ No newline at end of file |