If error returned from test, result was not sent to caller. 96/86896/2
authorJames Guistwite <jguistwite@iconectiv.com>
Fri, 3 May 2019 12:26:54 +0000 (08:26 -0400)
committerJames Guistwite <jguistwite@iconectiv.com>
Fri, 3 May 2019 14:20:04 +0000 (10:20 -0400)
Was still an issue when errors was an empty JSON object.

Issue-ID: VNFSDK-392

Change-Id: I588789e4bca0ce0933e318a625a54ba04260ce5e
Signed-off-by: James Guistwite <jguistwite@iconectiv.com>
vnfmarket-be/vnf-sdk-marketplace/src/main/java/org/onap/vtp/execution/VTPExecutionResource.java

index e051336..70ec6e6 100644 (file)
@@ -40,6 +40,7 @@ import javax.ws.rs.core.Response;
 
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.eclipse.jetty.http.HttpStatus;
 import org.glassfish.jersey.media.multipart.BodyPartEntity;
 import org.glassfish.jersey.media.multipart.FormDataBodyPart;
@@ -100,12 +101,12 @@ public class VTPExecutionResource  extends VTPResource{
             // tests can fail but still produce results.
             ObjectMapper mapper = new ObjectMapper();
             Map<String,String> m = output.getAttrsMap();
-            if (m.containsKey("results")) {
-              execution.setResults(mapper.readTree(m.get("results")));
-            }
-            else if (m.containsKey("error")) {
+            if ((m.containsKey("error")) && (!StringUtils.equals(m.get("error"), "{}"))) {
               execution.setResults(mapper.readTree(m.get("error")));
             }
+            else if (m.containsKey("results")) {
+              execution.setResults(mapper.readTree(m.get("results")));
+            }
         }
 
         return executions;