From: Pavel Aharoni Date: Thu, 18 May 2017 10:07:44 +0000 (+0300) Subject: [SDC-22] DC artifact name fix X-Git-Tag: v1.1.32~13 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=0334ca30e848fb2465e556d924675aec38f48c11;p=sdc%2Fsdc-distribution-client.git [SDC-22] DC artifact name fix Change-Id: I63dbb04c8d7ab96dc48ba8dae9661f278080c4d4 Signed-off-by: Pavel Aharoni --- diff --git a/sdc-distribution-ci/src/main/java/org/openecomp/test/AdvanceCallBack.java b/sdc-distribution-ci/src/main/java/org/openecomp/test/AdvanceCallBack.java index d5ef6cd..f78a38b 100644 --- a/sdc-distribution-ci/src/main/java/org/openecomp/test/AdvanceCallBack.java +++ b/sdc-distribution-ci/src/main/java/org/openecomp/test/AdvanceCallBack.java @@ -58,8 +58,8 @@ public class AdvanceCallBack extends SimpleCallback{ protected void saveArtifactPayloadToDisk(IDistributionClientDownloadResult downloadResult) { System.out.println("################ Downloaded Artifact Payload Start ################"); - String fileName = downloadResult.getArtifactName().replaceAll("attachment; filename=",""); - saveFile(downloadResult.getArtifactPayload(), fileName.replaceAll("\"", "")); + String fileName = downloadResult.getArtifactFilename(); + saveFile(downloadResult.getArtifactPayload(), fileName); System.out.println("################ Downloaded Artifact Payload End ################"); } diff --git a/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/results/IDistributionClientDownloadResult.java b/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/results/IDistributionClientDownloadResult.java index e101636..6030b9e 100644 --- a/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/results/IDistributionClientDownloadResult.java +++ b/sdc-distribution-client/src/main/java/org/openecomp/sdc/api/results/IDistributionClientDownloadResult.java @@ -22,6 +22,24 @@ package org.openecomp.sdc.api.results; /**Distribution Client Result For Download API*/ public interface IDistributionClientDownloadResult extends IDistributionClientResult{ + + byte[] getArtifactPayload(); + + + /** + * @deprecated + * This method is deprecated and will be removed in 1710. + * It returns attachment; filename="filename" rather than "filename". + * Please use {@link #getArtifactFilename()}. + * @return + */ + @Deprecated String getArtifactName(); + + /** + * Returns the filename of the artifact. + * @return the filename of the artifact. + */ + String getArtifactFilename(); } diff --git a/sdc-distribution-client/src/main/java/org/openecomp/sdc/impl/DistributionClientDownloadResultImpl.java b/sdc-distribution-client/src/main/java/org/openecomp/sdc/impl/DistributionClientDownloadResultImpl.java index b69cb24..0fa918a 100644 --- a/sdc-distribution-client/src/main/java/org/openecomp/sdc/impl/DistributionClientDownloadResultImpl.java +++ b/sdc-distribution-client/src/main/java/org/openecomp/sdc/impl/DistributionClientDownloadResultImpl.java @@ -61,4 +61,14 @@ public class DistributionClientDownloadResultImpl extends DistributionClientRes this.artifactName = artifactName; } + @Override + public String getArtifactFilename() { + //Fix of bug 292443 in TDP + if (artifactName == null || !artifactName.matches("attachment;\\s*filename=\".*?\"")){ + return artifactName; + } + String fileName = "filename=\""; + return artifactName.substring(artifactName.indexOf(fileName)+fileName.length(), artifactName.lastIndexOf("\"")); + } + } diff --git a/sdc-distribution-client/src/main/java/org/openecomp/sdc/impl/mock/DistributionClientDownloadResultStubImpl.java b/sdc-distribution-client/src/main/java/org/openecomp/sdc/impl/mock/DistributionClientDownloadResultStubImpl.java index d69451a..aff0d0e 100644 --- a/sdc-distribution-client/src/main/java/org/openecomp/sdc/impl/mock/DistributionClientDownloadResultStubImpl.java +++ b/sdc-distribution-client/src/main/java/org/openecomp/sdc/impl/mock/DistributionClientDownloadResultStubImpl.java @@ -69,4 +69,10 @@ public class DistributionClientDownloadResultStubImpl extends DistributionClient return "MackArtifactName"; } + @Override + public String getArtifactFilename() { + // TODO Auto-generated method stub + return "MackArtifactName"; + } + } diff --git a/sdc-distribution-client/src/test/java/org/openecomp/sdc/impl/DistributionClientDownloadResultTest.java b/sdc-distribution-client/src/test/java/org/openecomp/sdc/impl/DistributionClientDownloadResultTest.java new file mode 100644 index 0000000..8f8fca2 --- /dev/null +++ b/sdc-distribution-client/src/test/java/org/openecomp/sdc/impl/DistributionClientDownloadResultTest.java @@ -0,0 +1,55 @@ +package org.openecomp.sdc.impl; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; + +import org.junit.BeforeClass; +import org.junit.Test; +import org.openecomp.sdc.utils.DistributionActionResultEnum; + + +public class DistributionClientDownloadResultTest { + + public static DistributionClientDownloadResultImpl distributionClientDownloadResult; + + @BeforeClass + public static void init(){ + distributionClientDownloadResult = new DistributionClientDownloadResultImpl(DistributionActionResultEnum.SUCCESS, ""); + } + + @Test + public void testNonHeaderFilename(){ + distributionClientDownloadResult.setArtifactName("service-BkPerformanceSrvs-csar.csar"); + assertEquals("service-BkPerformanceSrvs-csar.csar", distributionClientDownloadResult.getArtifactFilename()); + } + + @Test + public void testNullFilename(){ + distributionClientDownloadResult.setArtifactName(null); + assertNull(distributionClientDownloadResult.getArtifactFilename()); + } + + @Test + public void testFilenameFromHeaderNoSpace(){ + distributionClientDownloadResult.setArtifactName("attachment;filename=\"service-BkPerformanceSrvs-csar.csar\""); + assertEquals("service-BkPerformanceSrvs-csar.csar", distributionClientDownloadResult.getArtifactFilename()); + } + + @Test + public void testFilenameFromHeaderOneSpace(){ + distributionClientDownloadResult.setArtifactName("attachment; filename=\"service-BkPerformanceSrvs-csar.csar\""); + assertEquals("service-BkPerformanceSrvs-csar.csar", distributionClientDownloadResult.getArtifactFilename()); + } + + @Test + public void testFilenameFromHeaderManySpaces(){ + distributionClientDownloadResult.setArtifactName("attachment; filename=\"service-BkPerformanceSrvs-csar.csar\""); + assertEquals("service-BkPerformanceSrvs-csar.csar", distributionClientDownloadResult.getArtifactFilename()); + } + + @Test + public void testFilenameEmpty(){ + distributionClientDownloadResult.setArtifactName("attachment; filename=\"\""); + assertEquals("", distributionClientDownloadResult.getArtifactFilename()); + } +}