diff options
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) |