From 2741f49b3b5e92c5c31f44133fd458c4f15b5479 Mon Sep 17 00:00:00 2001 From: subhash kumar singh Date: Tue, 1 Aug 2017 19:56:00 +0530 Subject: Populate default param based on no-auth Based on no-auth customise the default parameter for onap-command. e.g. If "no-auth = true" then command should not add default parameter "onap-username, onap-password, msb-url and no-auth". Issue-Id: CLI-22 Change-Id: Ic9228feb1deb7e6f24eb9b9f0c8f15fd45364e94 Signed-off-by: subhash kumar singh --- .../org/onap/cli/fw/OnapCommandRegistrarTest.java | 10 ++-- .../java/org/onap/cli/fw/TestCommandValidate.java | 55 ++++++++++++++++++++++ .../TestDefaultParameterSection.java | 39 ++++++++++++--- .../cli/fw/input/OnapCommandParameterTest.java | 4 +- .../onap/cli/fw/utils/OnapCommandUtilsTest.java | 12 ++++- 5 files changed, 106 insertions(+), 14 deletions(-) create mode 100644 framework/src/test/java/org/onap/cli/fw/TestCommandValidate.java (limited to 'framework/src/test/java/org/onap') diff --git a/framework/src/test/java/org/onap/cli/fw/OnapCommandRegistrarTest.java b/framework/src/test/java/org/onap/cli/fw/OnapCommandRegistrarTest.java index 83f3a743..a076eee6 100644 --- a/framework/src/test/java/org/onap/cli/fw/OnapCommandRegistrarTest.java +++ b/framework/src/test/java/org/onap/cli/fw/OnapCommandRegistrarTest.java @@ -16,11 +16,6 @@ package org.onap.cli.fw; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - import org.junit.Before; import org.junit.Test; import org.onap.cli.fw.error.OnapCommandException; @@ -31,6 +26,11 @@ import org.onap.cli.fw.error.OnapCommandRegistrationFailed; import java.io.File; import java.net.URL; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + public class OnapCommandRegistrarTest { OnapCommandRegistrar registerar; diff --git a/framework/src/test/java/org/onap/cli/fw/TestCommandValidate.java b/framework/src/test/java/org/onap/cli/fw/TestCommandValidate.java new file mode 100644 index 00000000..b8ac72ef --- /dev/null +++ b/framework/src/test/java/org/onap/cli/fw/TestCommandValidate.java @@ -0,0 +1,55 @@ +/* + * 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; + +import org.junit.Before; +import org.junit.Test; +import org.onap.cli.fw.error.OnapCommandException; +import org.onap.cli.fw.error.OnapCommandParameterMissing; +import org.onap.cli.fw.input.OnapCommandParameter; +import org.onap.cli.fw.utils.OnapCommandUtils; + +public class TestCommandValidate { + + OnapCommand cmd; + + @Before + public void before() { + cmd = new OnapCommand() { + @Override + protected void run() throws OnapCommandException {} + }; + } + + @Test + public void testNoAuthArgumentTrue() throws OnapCommandException { + + OnapCommandUtils.loadSchema(cmd, "sample-test-include-param.yaml", true); + + OnapCommandParameter noAuthParam = cmd.getParameters().stream().filter(p -> p.getName().equalsIgnoreCase("no-auth")).findFirst().get(); + noAuthParam.setValue(true); + OnapCommandParameter msbParam = cmd.getParameters().stream().filter(p -> p.getName().equalsIgnoreCase("msb-url")).findFirst().get(); + msbParam.setValue("localhost://msbip:msb:port"); + cmd.validate(); + } + + @Test(expected = OnapCommandParameterMissing.class) + public void testNoAuthArgFalse() throws OnapCommandException { + OnapCommandUtils.loadSchema(cmd, "sample-test-include-param.yaml", true); + cmd.validate(); + } +} diff --git a/framework/src/test/java/org/onap/cli/fw/defaultParameter/TestDefaultParameterSection.java b/framework/src/test/java/org/onap/cli/fw/defaultParameter/TestDefaultParameterSection.java index bd2ad0d1..004bf7cf 100644 --- a/framework/src/test/java/org/onap/cli/fw/defaultParameter/TestDefaultParameterSection.java +++ b/framework/src/test/java/org/onap/cli/fw/defaultParameter/TestDefaultParameterSection.java @@ -21,6 +21,7 @@ import org.onap.cli.fw.OnapCommand; import org.onap.cli.fw.error.OnapCommandException; import org.onap.cli.fw.error.OnapCommandInvalidDefaultParameter; import org.onap.cli.fw.error.OnapCommandInvalidSchema; +import org.onap.cli.fw.input.OnapCommandParameter; import org.onap.cli.fw.utils.OnapCommandUtils; import java.util.List; @@ -54,9 +55,12 @@ public class TestDefaultParameterSection { OnapCommandUtils.loadSchema(cmd, "sample-test-exclude-param.yaml", true); List parameters = cmd.getParameters().stream().map(p -> p.getName()).collect(Collectors.toList()); - assertFalse(parameters.contains("onap-username")); + assertTrue(parameters.contains("onap-username")); assertTrue(parameters.contains("onap-password")); - assertFalse(parameters.contains("msb-url")); + assertTrue(parameters.contains("msb-url")); + assertFalse(parameters.contains("long")); + assertFalse(parameters.contains("format")); + assertTrue(parameters.contains("debug")); } @Test @@ -70,8 +74,8 @@ public class TestDefaultParameterSection { List parameters = cmd.getParameters().stream().map(p -> p.getName()).collect(Collectors.toList()); assertTrue(parameters.contains("onap-username")); - assertFalse(parameters.contains("onap-password")); - assertFalse(parameters.contains("msb-url")); + assertTrue(parameters.contains("onap-password")); + assertTrue(parameters.contains("msb-url")); } @Test @@ -84,9 +88,12 @@ public class TestDefaultParameterSection { OnapCommandUtils.loadSchema(cmd, "onap-test-schema.yaml", true); List parameters = cmd.getParameters().stream().map(p -> p.getName()).collect(Collectors.toList()); - assertTrue(parameters.contains("onap-username")); - assertTrue(parameters.contains("onap-password")); + assertFalse(parameters.contains("onap-username")); + assertFalse(parameters.contains("onap-password")); assertTrue(parameters.contains("msb-url")); + assertTrue(parameters.contains("debug")); + assertTrue(parameters.contains("long")); + assertTrue(parameters.contains("format")); } @Test(expected = OnapCommandInvalidDefaultParameter.class) @@ -118,4 +125,24 @@ public class TestDefaultParameterSection { OnapCommandUtils.loadSchema(cmd, "sample-test-import-def-param-false.yaml", true); } + + @Test(expected = OnapCommandInvalidDefaultParameter.class) + public void checkInvalidIncludeNoAuth() throws OnapCommandException { + OnapCommand cmd = new OnapCommand() { + @Override + protected void run() throws OnapCommandException {} + }; + + OnapCommandUtils.loadSchema(cmd, "sample-test-invalid-include-noauth.yaml", true); + } + + @Test(expected = OnapCommandInvalidDefaultParameter.class) + public void checkInvalidExcludeNoAuth() throws OnapCommandException { + OnapCommand cmd = new OnapCommand() { + @Override + protected void run() throws OnapCommandException {} + }; + + OnapCommandUtils.loadSchema(cmd, "sample-test-invalid-exclude-noauth.yaml", true); + } } diff --git a/framework/src/test/java/org/onap/cli/fw/input/OnapCommandParameterTest.java b/framework/src/test/java/org/onap/cli/fw/input/OnapCommandParameterTest.java index 40b07861..604411ed 100644 --- a/framework/src/test/java/org/onap/cli/fw/input/OnapCommandParameterTest.java +++ b/framework/src/test/java/org/onap/cli/fw/input/OnapCommandParameterTest.java @@ -16,8 +16,6 @@ package org.onap.cli.fw.input; -import static org.junit.Assert.assertTrue; - import org.junit.Test; import org.onap.cli.fw.error.OnapCommandException; import org.onap.cli.fw.error.OnapCommandInvalidParameterValue; @@ -26,6 +24,8 @@ import java.util.Arrays; import java.util.HashMap; import java.util.Map; +import static org.junit.Assert.assertTrue; + public class OnapCommandParameterTest { @Test 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 b74027a0..d01e2e77 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 @@ -179,7 +179,17 @@ public class OnapCommandUtilsTest { OnapCredentials cre = OnapCommandUtils.fromParameters(cmd.getParameters()); assertTrue(cre != null); Map map = OnapCommandUtils.getInputMap(cmd.getParameters()); - assertTrue(map.size() == 19); + assertTrue(map.size() == 16); + } + + @Test + public void loadOnapCommandSchemaAuthRequiredTest() throws OnapCommandException { + OnapCommand cmd = new OnapCommandSample(); + OnapCommandUtils.loadSchema(cmd, "sample-test-schema-auth-required.yaml", true); + assertTrue("sample-test".equals(cmd.getName())); + + Map map = OnapCommandUtils.getInputMap(cmd.getParameters()); + assertTrue(map.size() == 11); } @Test -- cgit 1.2.3-korg