summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsubhash kumar singh <subhash.kumar.singh@huawei.com>2018-02-23 06:23:15 +0000
committersubhash kumar singh <subhash.kumar.singh@huawei.com>2018-02-28 09:20:29 +0000
commit44a21ae0bb0e6d26e4bb986764cd6edd1e8e05b5 (patch)
tree35547d8fc23ca8b19596f449a274ef070bf101a7
parent225400a393da49322bdf500a61ae423ec00efead (diff)
Add support for context parameter
Add support for context parameter, which can be used to communicate data from framework to profile. Change-Id: Idf77f3c225e7e65be2660f687782b37dc3da76c3 Issue-ID: CLI-74 Signed-off-by: subhash kumar singh <subhash.kumar.singh@huawei.com>
-rw-r--r--framework/src/main/resources/open-cli-schema/default_input_parameters.yaml9
-rw-r--r--framework/src/test/java/org/onap/cli/fw/utils/OnapCommandUtilsTest.java41
-rw-r--r--profiles/http/src/test/java/org/onap/cli/fw/http/utils/OnapCommandUtilsTest.java2
3 files changed, 49 insertions, 3 deletions
diff --git a/framework/src/main/resources/open-cli-schema/default_input_parameters.yaml b/framework/src/main/resources/open-cli-schema/default_input_parameters.yaml
index bb35ac26..1dbeedb4 100644
--- a/framework/src/main/resources/open-cli-schema/default_input_parameters.yaml
+++ b/framework/src/main/resources/open-cli-schema/default_input_parameters.yaml
@@ -42,4 +42,11 @@ parameters:
short_option: t
long_option: no-title
default_value: false
- is_default_param: true \ No newline at end of file
+ is_default_param: true
+ - name: context
+ type: map
+ description: command context
+ short_option: D
+ long_option: context
+ is_default_param: true
+ is_optional: true \ No newline at end of file
diff --git a/framework/src/test/java/org/onap/cli/fw/utils/OnapCommandUtilsTest.java b/framework/src/test/java/org/onap/cli/fw/utils/OnapCommandUtilsTest.java
index 11f97070..6b465c09 100644
--- a/framework/src/test/java/org/onap/cli/fw/utils/OnapCommandUtilsTest.java
+++ b/framework/src/test/java/org/onap/cli/fw/utils/OnapCommandUtilsTest.java
@@ -46,6 +46,7 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.Optional;
import java.util.Set;
import static org.junit.Assert.assertEquals;
@@ -182,7 +183,45 @@ public class OnapCommandUtilsTest {
}
Map<String, OnapCommandParameter> map = OnapCommandUtils.getInputMap(cmd.getParameters());
- assertTrue(map.size() == 16);
+ assertTrue(map.size() == 17);
+ }
+
+ @Test
+ public void contextParameterTest() throws OnapCommandException {
+ OnapCommand cmd = new OnapCommandSample();
+ OnapCommandSchemaLoader.loadSchema(cmd, "sample-test-schema.yaml", true, false);
+ Optional<OnapCommandParameter> contextOpt = cmd.getParameters().stream()
+ .filter(e -> e.getName().equals("context"))
+ .findFirst();
+
+ if (contextOpt.isPresent()) {
+ OnapCommandParameter context = contextOpt.get();
+ assertTrue(context.getDefaultValue() instanceof HashMap);
+ } else {
+ fail("context parameter is not available");
+ }
+ }
+
+ @Test
+ public void contextParameterSetAndGetTest() throws OnapCommandException {
+ OnapCommand cmd = new OnapCommandSample();
+ OnapCommandSchemaLoader.loadSchema(cmd, "sample-test-schema.yaml", true, false);
+ Optional<OnapCommandParameter> contextOpt = cmd.getParameters().stream()
+ .filter(e -> e.getName().equals("context"))
+ .findFirst();
+
+ if (contextOpt.isPresent()) {
+ OnapCommandParameter context = contextOpt.get();
+ HashMap<String, String> map = new HashMap();
+ map.put("a", "b");
+ context.setValue(map);
+
+ map = (HashMap<String, String>) context.getValue();
+ assertTrue(map.keySet().contains("a"));
+ assertTrue(map.values().contains("b"));
+ } else {
+ fail("context parameter is not available");
+ }
}
@Test
diff --git a/profiles/http/src/test/java/org/onap/cli/fw/http/utils/OnapCommandUtilsTest.java b/profiles/http/src/test/java/org/onap/cli/fw/http/utils/OnapCommandUtilsTest.java
index 12920515..67956a88 100644
--- a/profiles/http/src/test/java/org/onap/cli/fw/http/utils/OnapCommandUtilsTest.java
+++ b/profiles/http/src/test/java/org/onap/cli/fw/http/utils/OnapCommandUtilsTest.java
@@ -93,7 +93,7 @@ public class OnapCommandUtilsTest {
assertTrue("sample-test".equals(cmd.getName()));
Map<String, OnapCommandParameter> map = OnapCommandUtils.getInputMap(cmd.getParameters());
- assertTrue(map.size() == 7);
+ assertTrue(map.size() == 8);
}
@Test(expected = OnapCommandHttpHeaderNotFound.class)