--- /dev/null
+/*
+ * Copyright 2017 Huawei Technologies Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.cli.fw.error;
+
+/**
+ * Command profile persistence failed.
+ *
+ */
+public class OnapCommandLoadProfileFailed extends OnapCommandException {
+
+    private static final long serialVersionUID = 8580121615330415123L;
+
+    /**
+     * Command result empty.
+     */
+    public OnapCommandLoadProfileFailed(String error) {
+        super("0x1301", "Failed to load profile details, " + error);
+    }
+}
 
--- /dev/null
+/*
+ * Copyright 2017 Huawei Technologies Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.cli.fw.error;
+
+/**
+ * Command profile persistence failed.
+ *
+ */
+public class OnapCommandPersistProfileFailed extends OnapCommandException {
+
+    private static final long serialVersionUID = 8580121615330415123L;
+
+    /**
+     * Command result empty.
+     */
+    public OnapCommandPersistProfileFailed(String error) {
+        super("0x1302", "Failed to persist profile details, " + error);
+    }
+}
 
 import java.util.Map;
 
 import org.onap.cli.fw.conf.Constants;
+import org.onap.cli.fw.error.OnapCommandLoadProfileFailed;
+import org.onap.cli.fw.error.OnapCommandPersistProfileFailed;
 import org.onap.cli.fw.utils.OnapCommandUtils;
 
 public class OnapCommandParameterCache {
 
     private String profileName = Constants.PARAM_CACHE_FILE_NAME;
 
+    private boolean isLastPersistFailed = false;
+
     private OnapCommandParameterCache() {
 
     }
 
     private void persist() {
         List<Param> params = new ArrayList<>();
+
         for (String p: this.paramCache.keySet()) {
             for (String name: this.paramCache.get(p).keySet()) {
 
              }
         }
 
-        OnapCommandUtils.persistParams(params, this.profileName);
+        try {
+            OnapCommandUtils.persistParams(params, this.profileName);
+        } catch (OnapCommandPersistProfileFailed e) {
+            isLastPersistFailed = true;
+        }
     }
 
     private void load() {
-        List<Param> params = OnapCommandUtils.loadParamFromCache(this.profileName);
+        List<Param> params;
+        try {
+            params = OnapCommandUtils.loadParamFromCache(this.profileName);
+        } catch (OnapCommandLoadProfileFailed e) {
+            params = new ArrayList<>();
+        }
 
         for (Param p : params) {
             this.add(p.getProduct(), p.getName(), p.getValue());
 
 import static org.onap.cli.fw.conf.Constants.BODY;
 import static org.onap.cli.fw.conf.Constants.BOOLEAN_VALUE;
 import static org.onap.cli.fw.conf.Constants.CLIENT;
+import static org.onap.cli.fw.conf.Constants.DATA_DIRECTORY;
+import static org.onap.cli.fw.conf.Constants.DATA_DIRECTORY_JSON_PATTERN;
 import static org.onap.cli.fw.conf.Constants.DEAFULT_PARAMETER_HOST_URL;
 import static org.onap.cli.fw.conf.Constants.DEAFULT_PARAMETER_PASS_WORD;
 import static org.onap.cli.fw.conf.Constants.DEAFULT_PARAMETER_USERNAME;
 import static org.onap.cli.fw.conf.Constants.ENTITY;
 import static org.onap.cli.fw.conf.Constants.EXCEPTION;
 import static org.onap.cli.fw.conf.Constants.EXECUTOR;
-import static org.onap.cli.fw.conf.Constants.DATA_DIRECTORY;
-import static org.onap.cli.fw.conf.Constants.DATA_DIRECTORY_JSON_PATTERN;
 import static org.onap.cli.fw.conf.Constants.EXTERNAL_DISCOVERY_FILE;
 import static org.onap.cli.fw.conf.Constants.EXTERNAL_SCHEMA_DIRECTORY;
 import static org.onap.cli.fw.conf.Constants.EXTERNAL_SCHEMA_PATH_PATERN;
 import org.onap.cli.fw.error.OnapCommandInvalidResultAttributeScope;
 import org.onap.cli.fw.error.OnapCommandInvalidSchema;
 import org.onap.cli.fw.error.OnapCommandInvalidSchemaVersion;
+import org.onap.cli.fw.error.OnapCommandLoadProfileFailed;
 import org.onap.cli.fw.error.OnapCommandParameterNameConflict;
 import org.onap.cli.fw.error.OnapCommandParameterNotFound;
 import org.onap.cli.fw.error.OnapCommandParameterOptionConflict;
+import org.onap.cli.fw.error.OnapCommandPersistProfileFailed;
 import org.onap.cli.fw.error.OnapCommandResultEmpty;
 import org.onap.cli.fw.error.OnapCommandResultMapProcessingFailed;
 import org.onap.cli.fw.error.OnapCommandSchemaNotFound;
         }
     }
 
-    public static void persistParams(List<Param> params, String profileName) {
+    public static void persistParams(List<Param> params, String profileName) throws OnapCommandPersistProfileFailed {
         if (params != null) {
             try {
                 Resource[] resources = getExternalResources(DATA_DIRECTORY);
                     mapper.writerWithDefaultPrettyPrinter().writeValue(file, params);
                 }
             } catch (IOException e1) {
-                // pass // NOSONAR
+                throw new OnapCommandPersistProfileFailed(e1.getMessage());
             }
         }
     }
         return schemas;
     }
 
-    public static List<Param> loadParamFromCache(String profileName) {
+    public static List<Param> loadParamFromCache(String profileName) throws OnapCommandLoadProfileFailed {
         List<Param> params = new ArrayList<>();
 
         try {
                 params.addAll(Arrays.asList(list));
             }
         } catch (IOException e) {
-            // pass // NOSONAR
+            throw new OnapCommandLoadProfileFailed(e.getMessage());
         }
 
         return params;
 
     }
 
     @Test
-    public void testParamCache() throws OnapCommandException {
+    public void testCoverageScope() throws OnapCommandException {
+        OnapCommandRegistrar.getRegistrar().setProfile("test");
         OnapCommandRegistrar.getRegistrar().addParamCache("a", "b");
         OnapCommandRegistrar.getRegistrar().getParamCache();
-        OnapCommandRegistrar.getRegistrar().getAvailableProductVersions();
+        OnapCommandRegistrar.getRegistrar().removeParamCache("a");
+
         OnapCommandRegistrar.getRegistrar().setDevMode(true);
         OnapCommandRegistrar.getRegistrar().isDevMode();
+
         OnapCommandRegistrar.getRegistrar().isInteractiveMode();
-        OnapCommandRegistrar.getRegistrar().getEnabledProductVersion();
+        OnapCommandRegistrar.getRegistrar().setInteractiveMode(false);
+
         OnapCommandRegistrar.getRegistrar().setEnabledProductVersion("cli-1.0");
+        OnapCommandRegistrar.getRegistrar().getEnabledProductVersion();
+        OnapCommandRegistrar.getRegistrar().getAvailableProductVersions();
+        OnapCommandRegistrar.getRegistrar().listCommandsForEnabledProductVersion();
+
+        OnapCommandRegistrar.getRegistrar().listCommandInfo();
 
     }
 }
 
         assertEquals("0x0013::Command  does not support the output format Format", failed.getMessage());
     }
 
+
+    @Test
+    public void onapProfilePersistTest() {
+        OnapCommandPersistProfileFailed failed = new OnapCommandPersistProfileFailed("error");
+
+        assertEquals("0x1302::Failed to persist profile details, error", failed.getMessage());
+    }
+
+
+    @Test
+    public void onapProfileLoadTest() {
+        OnapCommandLoadProfileFailed failed = new OnapCommandLoadProfileFailed("error");
+
+        assertEquals("0x1301::Failed to load profile details, error", failed.getMessage());
+    }
 }
 
                 throwable.printStackTrace();  // NOSONAR
             }
         } catch (OnapCommandException e) {
-            // pass // NOSONAR
+            this.print(e.getCause());
         }
     }
 
 
         Assert.assertNotNull(expectedList.get(1), paramslist.get(0).getValue());
     }
 
+    @Test
+    public void testTextparamslong() throws OnapCommandException {
+        OnapCommandParameter boolparam = new OnapCommandParameter();
+        boolparam.setLongOption("text-param");
+        boolparam.setName("text-param");
+        List<OnapCommandParameter> paramslist = new ArrayList<>();
+        paramslist.add(boolparam);
+        String[] args = new String[] { "sample-create", "--text-param" , "text"};
+
+        boolparam.setParameterType(ParameterType.TEXT);
+        OnapCliUtils.populateParams(paramslist, Arrays.asList(args));
+        List<String> expectedList = Arrays.asList(args);
+        Assert.assertNotNull(expectedList.get(1), paramslist.get(0).getValue());
+
+    }
+
+    @Test
+    public void testTextparamsshort() throws OnapCommandException {
+        OnapCommandParameter boolparam = new OnapCommandParameter();
+        boolparam.setShortOption("e");
+        boolparam.setName("text-param");
+        List<OnapCommandParameter> paramslist = new ArrayList<>();
+        paramslist.add(boolparam);
+        String[] args = new String[] { "sample-create", "-e" , "text"};
+
+        boolparam.setParameterType(ParameterType.TEXT);
+        OnapCliUtils.populateParams(paramslist, Arrays.asList(args));
+        List<String> expectedList = Arrays.asList(args);
+        Assert.assertNotNull(expectedList.get(1), paramslist.get(0).getValue());
+    }
+
     @Test
     public void testjsonparamsshort() throws OnapCommandException {
         OnapCommandParameter jsonparam = new OnapCommandParameter();
 
     description: Onap positional args, if no short option and no long option given for it
     is_optional: false
     default_value: http://localhost:8082/file.txt
+  - name: text-param
+    type: text
+    description: Onap text file location param
+    long_option: text-param
+    short_option: e
+    is_optional: false
 results:
   direction: portrait
   attributes: