From 2aed5c9968c48f665b85569333aa61011e611321 Mon Sep 17 00:00:00 2001 From: Pavel Aharoni Date: Thu, 25 May 2017 20:29:43 +0300 Subject: [SDC-24] sdnc problems Change-Id: I5bb5fd91ae1daf73fdf63cf8108531295bb8e96d Signed-off-by: Pavel Aharoni --- .../java/org/openecomp/test/SimpleCallback.java | 42 +++++++++++++++++++--- .../org/openecomp/test/SimpleConfiguration.java | 2 +- 2 files changed, 38 insertions(+), 6 deletions(-) (limited to 'sdc-distribution-ci/src/main/java/org/openecomp') diff --git a/sdc-distribution-ci/src/main/java/org/openecomp/test/SimpleCallback.java b/sdc-distribution-ci/src/main/java/org/openecomp/test/SimpleCallback.java index 1166109..c5cce09 100644 --- a/sdc-distribution-ci/src/main/java/org/openecomp/test/SimpleCallback.java +++ b/sdc-distribution-ci/src/main/java/org/openecomp/test/SimpleCallback.java @@ -26,8 +26,11 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.stream.Collectors; +import org.json.JSONArray; +import org.json.JSONObject; import org.openecomp.sdc.api.IDistributionClient; import org.openecomp.sdc.api.consumer.IDistributionStatusMessage; import org.openecomp.sdc.api.consumer.INotificationCallback; @@ -157,7 +160,7 @@ public class SimpleCallback implements INotificationCallback { if (downloadResult.getDistributionActionResult() == DistributionActionResultEnum.SUCCESS) { - handleSuccessfullDownload(data, relevantArtifact); + handleSuccessfullDownload(data, relevantArtifact, downloadResult.getArtifactPayload()); } else { handleFailedDownload(data, relevantArtifact); } @@ -207,7 +210,7 @@ public class SimpleCallback implements INotificationCallback { postDownloadStatusSendLogic(sendDownloadStatus); } - private void handleSuccessfullDownload(INotificationData data, IArtifactInfo relevantArtifact) { + private void handleSuccessfullDownload(INotificationData data, IArtifactInfo relevantArtifact, byte[] payload) { // Send Download Status IDistributionClientResult sendDownloadStatus = client.sendDownloadStatus(buildStatusMessage(client, data, relevantArtifact, DistributionStatusEnum.DOWNLOAD_OK)); @@ -216,7 +219,7 @@ public class SimpleCallback implements INotificationCallback { // Doing deployment ... postDownloadStatusSendLogic(sendDownloadStatus); - boolean isDeployedSuccessfully = handleDeployment(); + boolean isDeployedSuccessfully = handleDeployment(data, relevantArtifact, payload); IDistributionClientResult deploymentStatus; try { Thread.sleep(1000); @@ -269,8 +272,37 @@ public class SimpleCallback implements INotificationCallback { return false; } - private boolean handleDeployment() { - return true; + private boolean handleDeployment(INotificationData data, IArtifactInfo relevantArtifact, byte[] payload) { + if (relevantArtifact.getArtifactType().equals(ArtifactTypeEnum.VF_MODULES_METADATA.name())) { + + try { + List serviceArtifacts = data.getServiceArtifacts(); + JSONArray jsonData = new JSONArray(new String(payload)); + boolean artifactIsFound = true; + for (int index = 0 ; index < jsonData.length(); index++) { + + JSONObject jsonObject = (JSONObject) jsonData.get(index); + JSONArray artifacts = (JSONArray) jsonObject.get("artifacts"); + for (int i = 0 ; i < artifacts.length(); i++) { + String artifact = artifacts.getString(i).toString(); + Optional serviceArtifactFound = serviceArtifacts.stream().filter(x -> x.getArtifactUUID().equals(artifact)).findFirst(); + if (!serviceArtifactFound.isPresent()) { + artifactIsFound = false; + System.out.println("################ Artifact: " + artifact + " NOT FOUND in Notification Data ################"); + } + } + } + return artifactIsFound; + + } catch (Exception e) { + System.out.println("################ Couldn't convert vf_modules_metadata.json to json : " + e.getMessage()); + return false; + } + } + else { + return true; + } + // to return deploy_error use return false // return false; } diff --git a/sdc-distribution-ci/src/main/java/org/openecomp/test/SimpleConfiguration.java b/sdc-distribution-ci/src/main/java/org/openecomp/test/SimpleConfiguration.java index 9c07c12..115bfab 100644 --- a/sdc-distribution-ci/src/main/java/org/openecomp/test/SimpleConfiguration.java +++ b/sdc-distribution-ci/src/main/java/org/openecomp/test/SimpleConfiguration.java @@ -150,7 +150,7 @@ public class SimpleConfiguration implements IConfiguration{ } public static Boolean toDownload() { - return false; + return true; } public static String downloadPath() { -- cgit 1.2.3-korg