summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--framework/src/main/java/org/onap/cli/fw/error/OnapCommandLoadProfileFailed.java5
-rw-r--r--framework/src/main/java/org/onap/cli/fw/error/OnapCommandPersistProfileFailed.java6
-rw-r--r--framework/src/main/java/org/onap/cli/fw/input/cache/OnapCommandParameterCache.java8
-rw-r--r--framework/src/main/java/org/onap/cli/fw/utils/OnapCommandUtils.java5
-rw-r--r--main/src/main/java/org/onap/cli/main/OnapCli.java2
-rw-r--r--main/src/test/java/org/onap/cli/main/OnapCliMainTest.java19
-rw-r--r--main/src/test/resources/sample-test-schema.yaml18
7 files changed, 46 insertions, 17 deletions
diff --git a/framework/src/main/java/org/onap/cli/fw/error/OnapCommandLoadProfileFailed.java b/framework/src/main/java/org/onap/cli/fw/error/OnapCommandLoadProfileFailed.java
index 62fd84fa..0e3846a0 100644
--- a/framework/src/main/java/org/onap/cli/fw/error/OnapCommandLoadProfileFailed.java
+++ b/framework/src/main/java/org/onap/cli/fw/error/OnapCommandLoadProfileFailed.java
@@ -30,4 +30,9 @@ public class OnapCommandLoadProfileFailed extends OnapCommandException {
public OnapCommandLoadProfileFailed(String error) {
super("0x1301", "Failed to load profile details, " + error);
}
+
+ public OnapCommandLoadProfileFailed(Throwable error) {
+ this(error.getMessage());
+ }
+
}
diff --git a/framework/src/main/java/org/onap/cli/fw/error/OnapCommandPersistProfileFailed.java b/framework/src/main/java/org/onap/cli/fw/error/OnapCommandPersistProfileFailed.java
index f49e35c6..4e563d51 100644
--- a/framework/src/main/java/org/onap/cli/fw/error/OnapCommandPersistProfileFailed.java
+++ b/framework/src/main/java/org/onap/cli/fw/error/OnapCommandPersistProfileFailed.java
@@ -16,6 +16,8 @@
package org.onap.cli.fw.error;
+import java.io.IOException;
+
/**
* Command profile persistence failed.
*
@@ -30,4 +32,8 @@ public class OnapCommandPersistProfileFailed extends OnapCommandException {
public OnapCommandPersistProfileFailed(String error) {
super("0x1302", "Failed to persist profile details, " + error);
}
+
+ public OnapCommandPersistProfileFailed(Throwable e1) {
+ this(e1.getMessage());
+ }
}
diff --git a/framework/src/main/java/org/onap/cli/fw/input/cache/OnapCommandParameterCache.java b/framework/src/main/java/org/onap/cli/fw/input/cache/OnapCommandParameterCache.java
index 6f043665..f8afd549 100644
--- a/framework/src/main/java/org/onap/cli/fw/input/cache/OnapCommandParameterCache.java
+++ b/framework/src/main/java/org/onap/cli/fw/input/cache/OnapCommandParameterCache.java
@@ -34,8 +34,6 @@ public class OnapCommandParameterCache {
private String profileName = Constants.PARAM_CACHE_FILE_NAME;
- private boolean isLastPersistFailed = false;
-
private OnapCommandParameterCache() {
}
@@ -97,16 +95,16 @@ public class OnapCommandParameterCache {
try {
OnapCommandUtils.persistParams(params, this.profileName);
} catch (OnapCommandPersistProfileFailed e) {
- isLastPersistFailed = true;
+ throw new RuntimeException(e);
}
}
private void load() {
- List<Param> params;
+ List<Param> params= new ArrayList<>();
try {
params = OnapCommandUtils.loadParamFromCache(this.profileName);
} catch (OnapCommandLoadProfileFailed e) {
- params = new ArrayList<>();
+ throw new RuntimeException(e);
}
for (Param p : params) {
diff --git a/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandUtils.java b/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandUtils.java
index 639e9636..2404a899 100644
--- a/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandUtils.java
+++ b/framework/src/main/java/org/onap/cli/fw/utils/OnapCommandUtils.java
@@ -138,6 +138,7 @@ import org.onap.cli.fw.http.HttpResult;
import org.onap.cli.fw.input.OnapCommandParameter;
import org.onap.cli.fw.input.ParameterType;
import org.onap.cli.fw.input.cache.Param;
+import org.onap.cli.fw.log.OnapCommandLogger;
import org.onap.cli.fw.output.OnapCommandResult;
import org.onap.cli.fw.output.OnapCommandResultAttribute;
import org.onap.cli.fw.output.OnapCommandResultAttributeScope;
@@ -1639,7 +1640,7 @@ public class OnapCommandUtils {
mapper.writerWithDefaultPrettyPrinter().writeValue(file, params);
}
} catch (IOException e1) {
- throw new OnapCommandPersistProfileFailed(e1.getMessage());
+ throw new OnapCommandPersistProfileFailed(e1);
}
}
}
@@ -1715,7 +1716,7 @@ public class OnapCommandUtils {
params.addAll(Arrays.asList(list));
}
} catch (IOException e) {
- throw new OnapCommandLoadProfileFailed(e.getMessage());
+ throw new OnapCommandLoadProfileFailed(e);
}
return params;
diff --git a/main/src/main/java/org/onap/cli/main/OnapCli.java b/main/src/main/java/org/onap/cli/main/OnapCli.java
index e33e54ac..9255da20 100644
--- a/main/src/main/java/org/onap/cli/main/OnapCli.java
+++ b/main/src/main/java/org/onap/cli/main/OnapCli.java
@@ -74,7 +74,7 @@ public class OnapCli {
throwable.printStackTrace(); // NOSONAR
}
} catch (OnapCommandException e) {
- this.print(e.getCause());
+ System.out.println(e);
}
}
diff --git a/main/src/test/java/org/onap/cli/main/OnapCliMainTest.java b/main/src/test/java/org/onap/cli/main/OnapCliMainTest.java
index 0a84d268..f052cbd1 100644
--- a/main/src/test/java/org/onap/cli/main/OnapCliMainTest.java
+++ b/main/src/test/java/org/onap/cli/main/OnapCliMainTest.java
@@ -129,6 +129,25 @@ public class OnapCliMainTest {
}
@Test
+ public void testVersionSampleCommandShort() {
+ this.handle(new String[] { "sample-test", "-v" });
+ }
+
+ @Test
+ public void testHandleSampleCommandSet() throws OnapCommandException {
+ OnapCommandRegistrar.getRegistrar().addParamCache("sample:string-param", "paramValue");
+ OnapCommandRegistrar.getRegistrar().addParamCache("onap-username", "paramValue");
+ OnapCommandRegistrar.getRegistrar().addParamCache("onap-password", "paramValue");
+ OnapCommandRegistrar.getRegistrar().addParamCache("host-url", "paramValue");
+ this.handle(new String[] { "sample-test", "--string-param", "test"});
+ }
+
+ @Test
+ public void testHandleSampleCommandFailure() throws OnapCommandException {
+ this.handle(new String[] { "sample-test", "--string-param"});
+ }
+
+ @Test
public void interactiveTest() {
cli = new OnapCli(new String[] {});
diff --git a/main/src/test/resources/sample-test-schema.yaml b/main/src/test/resources/sample-test-schema.yaml
index ac601c86..36edc7de 100644
--- a/main/src/test/resources/sample-test-schema.yaml
+++ b/main/src/test/resources/sample-test-schema.yaml
@@ -19,60 +19,60 @@ parameters:
short_option: x
long_option: secure
is_secured: true
- is_optional: false
+ is_optional: true
default_Value: pass123#
- name: string-param
type: string
description: Onap string param
long_option: string-param
short_option: c
- is_optional: false
+ is_optional: true
default_Value: test
- name: yaml-param
type: json
description: Onap yaml file location param
long_option: yaml-param
short_option: y
- is_optional: false
+ is_optional: true
- name: json-param
type: json
description: Onap json file location param
long_option: json-param
short_option: j
- is_optional: false
+ is_optional: true
- name: long-param
type: digit
description: Onap long param
short_option: l
long_option: long-opt
- is_optional: false
+ is_optional: true
default_value: 10
- name: url-param
type: url
description: Onap url param
short_option: r
long_option: url
- is_optional: false
+ is_optional: true
default_value: http://localhost:8082/file.txt
- name: env-param
type: string
description: Onap env param.
short_option: z
long_option: env
- is_optional: false
+ is_optional: true
default_value: ${ENV_VAR}
default_value: http://localhost:8082/file.txt
- name: positional-args
type: string
description: Onap positional args, if no short option and no long option given for it
- is_optional: false
+ is_optional: true
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
+ is_optional: true
results:
direction: portrait
attributes: