diff options
author | 2017-05-18 13:07:44 +0300 | |
---|---|---|
committer | 2017-05-18 13:07:44 +0300 | |
commit | 0334ca30e848fb2465e556d924675aec38f48c11 (patch) | |
tree | dde5c9f70b7dcbe3acd3d80fa35d9645246accb7 | |
parent | e82432429b960c9de5be12360bded3e89c45ead3 (diff) |
[SDC-22] DC artifact name fix
Change-Id: I63dbb04c8d7ab96dc48ba8dae9661f278080c4d4
Signed-off-by: Pavel Aharoni <pa0916@att.com>
5 files changed, 91 insertions, 2 deletions
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 <b>attachment; filename="filename"</b> rather than <b>"filename"</b>. + * 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());
+ }
+}
|