From 0334ca30e848fb2465e556d924675aec38f48c11 Mon Sep 17 00:00:00 2001 From: Pavel Aharoni Date: Thu, 18 May 2017 13:07:44 +0300 Subject: [SDC-22] DC artifact name fix Change-Id: I63dbb04c8d7ab96dc48ba8dae9661f278080c4d4 Signed-off-by: Pavel Aharoni --- .../results/IDistributionClientDownloadResult.java | 18 +++++++ .../impl/DistributionClientDownloadResultImpl.java | 10 ++++ .../DistributionClientDownloadResultStubImpl.java | 6 +++ .../impl/DistributionClientDownloadResultTest.java | 55 ++++++++++++++++++++++ 4 files changed, 89 insertions(+) create mode 100644 sdc-distribution-client/src/test/java/org/openecomp/sdc/impl/DistributionClientDownloadResultTest.java (limited to 'sdc-distribution-client/src') 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()); + } +} -- cgit 1.2.3-korg