Enable feature to disable mock for verify 37/35437/1
authorsubhash kumar singh <subhash.kumar.singh@huawei.com>
Tue, 13 Mar 2018 10:43:36 +0000 (10:43 +0000)
committersubhash kumar singh <subhash.kumar.singh@huawei.com>
Tue, 13 Mar 2018 10:44:57 +0000 (10:44 +0000)
Enable feature to disable mock for verify so that real environment
can be used.

Issue-ID: CLI-74
Change-Id: Ibaa15b7c93fcf077e3f28e9f7e96b1b8a68ad5c0
Signed-off-by: subhash kumar singh <subhash.kumar.singh@huawei.com>
framework/src/main/resources/open-cli-schema/default_input_parameters.yaml
main/src/main/java/org/onap/cli/main/OnapCli.java
profiles/http/src/main/java/org/onap/cli/fw/http/cmd/OnapHttpCommand.java
profiles/http/src/main/java/org/onap/cli/fw/http/conf/OnapCommandHttpConstants.java
profiles/http/src/main/resources/open-cli-schema/http/default_input_parameters_http.yaml

index 652401e..d6a360c 100644 (file)
@@ -45,7 +45,7 @@ parameters:
     is_default_param: true
   - name: verify
     type: bool
-    description: verify the command using available command sample file and mocking file
+    description: verify the command using available command sample file and mocking file. By default it goes with mock style. To enable the verification in real time, set DISABLE_MOCKING=true in the context param.
     short_option: V
     long_option: verify
     default_value: false
index e70c718..7f70e1c 100644 (file)
@@ -219,6 +219,13 @@ public class OnapCli {
     }
 
     public void verifyCommand(OnapCommand cmd) throws OnapCommandException {
+
+        OnapCliArgsParser.populateParams(cmd.getParameters(), args);
+
+        Optional<OnapCommandParameter> contextOptArg = cmd.getParameters().stream()
+                .filter(e -> e.getName().equals(OnapCommandConstants.VERIFY_CONTEXT_PARAM))
+                .findFirst();
+
         List<Map<String, ?>> testSuite = OnapCommandRegistrar.getRegistrar().getTestSuite(cmd.getName());
 
         OnapCommandResult testSuiteResult = new OnapCommandResult();
@@ -254,6 +261,12 @@ public class OnapCli {
             if (contextOpt.isPresent()) {
                 HashMap map = new HashMap();
                 map.put(OnapCommandConstants.VERIFY_MOCO, sampleTest.get(OnapCommandConstants.VERIFY_MOCO));
+
+                if (contextOptArg.isPresent()) {
+                    OnapCommandParameter contextArg = contextOptArg.get();
+                    map.putAll((Map) contextArg.getValue());
+                }
+
                 contextOpt.get().setValue(map);
             }
 
index 9477cfa..6574552 100644 (file)
@@ -68,6 +68,8 @@ public class OnapHttpCommand extends OnapCommand {
 
     boolean shouldVerify = false;
 
+    boolean mockingEnabled;
+
     public OnapHttpCommand() {
         super.addDefaultSchemas(OnapCommandHttpConstants.DEFAULT_PARAMETER_HTTP_FILE_NAME);
     }
@@ -176,17 +178,23 @@ public class OnapHttpCommand extends OnapCommand {
 
             if (contextOpt.isPresent()) {
                 OnapCommandParameter context = contextOpt.get();
-                String mockedFile = ((Map<String, String>)context.getValue()).get(OnapCommandConstants.VERIFY_MOCO);
+                Map<String, String> map = (Map<String, String>) context.getValue();
+
+                mockingEnabled =  map.containsKey(OnapCommandHttpConstants.VERIFY_DISABLE_MOCKING)
+                        && map.get(OnapCommandHttpConstants.VERIFY_DISABLE_MOCKING).equals("true") ? false : true;
 
-                mocoServer = new MocoServer(mockedFile);
-                mocoServer.start();
+                if (mockingEnabled) {
+                    String mockedFile = ((Map<String, String>) context.getValue()).get(OnapCommandConstants.VERIFY_MOCO);
+                    mocoServer = new MocoServer(mockedFile);
+                    mocoServer.start();
+                }
             }
         }
     }
 
     @Override
     protected void postRun() throws OnapCommandException {
-        if (shouldVerify) {
+        if (shouldVerify && mockingEnabled) {
             mocoServer.stop();
         }
     }
index 185582c..18dde33 100644 (file)
@@ -108,6 +108,7 @@ public class OnapCommandHttpConstants {
     public static final String VERIFY_RESPONSE = "response";
     public static final String VERIFY_CONTENT_TYPE = "Content-Type";
     public static final String VERIFY_CONTENT_TYPE_VALUE = APPLICATION_JSON;
+    public static final String VERIFY_DISABLE_MOCKING = "DISABLE_MOCKING";
 }
 
 
index 6ac0ded..01a4e3f 100644 (file)
@@ -43,7 +43,7 @@ parameters:
     default_value: false
   - name: verify
     type: bool
-    description: verify the command using available command sample file and mocking file
+    description: verify the command using available command sample file and mocking file. By default it goes with mock style. To enable the verification in real time, set DISABLE_MOCKING=true in the context param.
     default_value: false
     is_include: true
     is_optional: true
\ No newline at end of file