Fix the sample file name align with schema
[cli.git] / framework / src / main / java / org / onap / cli / fw / cmd / OnapHttpCommand.java
index a5c79f7..90ac961 100644 (file)
@@ -16,6 +16,7 @@
 
 package org.onap.cli.fw.cmd;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -26,11 +27,14 @@ import org.onap.cli.fw.conf.Constants;
 import org.onap.cli.fw.conf.OnapCommandConfg;
 import org.onap.cli.fw.error.OnapCommandException;
 import org.onap.cli.fw.error.OnapCommandExecutionFailed;
+import org.onap.cli.fw.error.OnapCommandFailedMocoGenerate;
 import org.onap.cli.fw.http.HttpInput;
 import org.onap.cli.fw.http.HttpResult;
-import org.onap.cli.fw.http.mock.MockJsonGenerator;
 import org.onap.cli.fw.output.OnapCommandResultAttribute;
 import org.onap.cli.fw.utils.OnapCommandUtils;
+import org.onap.cli.http.mock.MockJsonGenerator;
+import org.onap.cli.http.mock.MockRequest;
+import org.onap.cli.http.mock.MockResponse;
 
 /**
  * Onap Command.
@@ -95,9 +99,29 @@ public class OnapHttpCommand extends OnapCommand {
         for (OnapCommandResultAttribute attr : this.getResult().getRecords()) {
             attr.setValues(results.get(attr.getName()));
         }
+        generateJsonMock(httpInput, output, this.getSchemaName());
+    }
 
-        if (OnapCommandConfg.isMocoGenerateEnabled()) {
-            MockJsonGenerator.generateMocking(httpInput, output, this.getName());
+    private void generateJsonMock(HttpInput httpInput, HttpResult httpResult, String schemaName)
+            throws OnapCommandFailedMocoGenerate {
+
+        if (OnapCommandConfg.isSampleGenerateEnabled()) {
+            try {
+                MockRequest mockRequest = new MockRequest();
+                mockRequest.setMethod(httpInput.getMethod());
+                mockRequest.setUri(httpInput.getUri());
+                mockRequest.setHeaders(httpInput.getReqHeaders());
+                mockRequest.setJson(httpInput.getBody());
+
+                MockResponse mockResponse = new MockResponse();
+                mockResponse.setStatus(httpResult.getStatus());
+                mockResponse.setJson(httpResult.getBody());
+
+                MockJsonGenerator.generateMocking(mockRequest, mockResponse, OnapCommandConfg.getSampleGenerateTargetFolder()
+                        + "/" + schemaName.replace(".yaml", "") + "-moco.json");
+            } catch (IOException error) {
+                throw new OnapCommandFailedMocoGenerate(schemaName, error);
+            }
         }
     }
 }