From 20dc78d226aca6cb390586a9e19e522d68d0821b Mon Sep 17 00:00:00 2001 From: Kanagaraj Manickam k00365106 Date: Fri, 6 Oct 2017 22:30:23 +0530 Subject: Normalize OnapCommandSchema discovery is optimized to register the plugins and http commands from one function Issue-Id: CLI-66 Change-Id: I3b813862ffd5640c5218c4cced7d10f914dce4ad Signed-off-by: Kanagaraj Manickam k00365106 --- .../org/onap/cli/cmd/sample/OnapCommandSample.java | 2 +- .../org/onap/cli/fw/OnapCommandRegistrarTest.java | 6 +- .../cli/fw/cmd/OnapSchemaRefreshCommandTest.java | 5 -- .../onap/cli/fw/utils/OnapCommandUtilsTest.java | 18 ++--- .../cli/fw/utils/OpenCommandRegistrarTest.java | 1 - .../open-cli-schema/sample-test-schema.yaml | 86 ++++++++++++++++++++++ .../src/test/resources/sample-test-schema.yaml | 86 ---------------------- 7 files changed, 99 insertions(+), 105 deletions(-) create mode 100644 framework/src/test/resources/open-cli-schema/sample-test-schema.yaml delete mode 100644 framework/src/test/resources/sample-test-schema.yaml (limited to 'framework/src/test') diff --git a/framework/src/test/java/org/onap/cli/cmd/sample/OnapCommandSample.java b/framework/src/test/java/org/onap/cli/cmd/sample/OnapCommandSample.java index 87527f07..c76df290 100644 --- a/framework/src/test/java/org/onap/cli/cmd/sample/OnapCommandSample.java +++ b/framework/src/test/java/org/onap/cli/cmd/sample/OnapCommandSample.java @@ -25,7 +25,7 @@ import org.onap.cli.fw.error.OnapCommandExecutionFailed; * This command helps to test the Command functionalities. * */ -@OnapCommandSchema(name = "sample-test", version="open-cli", schema = "sample-test-schema.yaml") +@OnapCommandSchema(schema = "sample-test-schema.yaml") public class OnapCommandSample extends OnapCommand { public OnapCommandSample() { 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 af9cc524..03744345 100644 --- a/framework/src/test/java/org/onap/cli/fw/OnapCommandRegistrarTest.java +++ b/framework/src/test/java/org/onap/cli/fw/OnapCommandRegistrarTest.java @@ -90,7 +90,7 @@ public class OnapCommandRegistrarTest { @Test public void onapCommandRegistrationFailedTest() throws OnapCommandException { - @OnapCommandSchema(name = "Test2", version= "open-cli", schema = "sample-test-schema.yaml") + @OnapCommandSchema(schema = "sample-test-schema.yaml") class Test extends OnapCommand { @Override @@ -161,7 +161,7 @@ public class OnapCommandRegistrarTest { } } -@OnapCommandSchema(name = OnapCommandTest.CMD_NAME, version = "open-cli", schema = "sample-test-schema.yaml") +@OnapCommandSchema(schema = "sample-test-schema.yaml") class OnapCommandTest extends OnapCommand { public OnapCommandTest() { @@ -176,7 +176,7 @@ class OnapCommandTest extends OnapCommand { } -@OnapCommandSchema(name = OnapCommandTest1.CMD_NAME, version = "open-cli", schema = "test-schema.yaml") +@OnapCommandSchema(schema = "test-schema.yaml") class OnapCommandTest1 extends OnapCommand { public OnapCommandTest1() { diff --git a/framework/src/test/java/org/onap/cli/fw/cmd/OnapSchemaRefreshCommandTest.java b/framework/src/test/java/org/onap/cli/fw/cmd/OnapSchemaRefreshCommandTest.java index 8c96facd..b9345f77 100644 --- a/framework/src/test/java/org/onap/cli/fw/cmd/OnapSchemaRefreshCommandTest.java +++ b/framework/src/test/java/org/onap/cli/fw/cmd/OnapSchemaRefreshCommandTest.java @@ -42,10 +42,5 @@ public class OnapSchemaRefreshCommandTest { String version = onapCommandResultAttribute.get(4).getValues().get(0); assertTrue(s1Number.equalsIgnoreCase("1")); - assertTrue(cmdName.equalsIgnoreCase("sample-test1")); - assertTrue(cmdFile.equalsIgnoreCase("sample-test1-schema-http.yaml")); - assertTrue(version.equalsIgnoreCase("1.0")); - assertTrue(cmdVer.equalsIgnoreCase("open-cli")); - } } 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 82869fa3..db94a555 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 @@ -81,7 +81,7 @@ public class OnapCommandUtilsTest { @Test public void externalSchemaTest() { - ExternalSchema schema = new ExternalSchema(); + SchemaInfo schema = new SchemaInfo(); schema.setCmdName("cmdName"); schema.setSchemaName("schemaName"); schema.setVersion("version"); @@ -254,7 +254,7 @@ public class OnapCommandUtilsTest { @Test public void findOnapCommandsTest() { - List> cmds = OnapCommandUtils.findOnapCommands(); + List> cmds = OnapCommandUtils.discoverCommandPlugins(); assertTrue(cmds.size() == 6); } @@ -405,21 +405,21 @@ public class OnapCommandUtilsTest { public void zendExceptionTest4() throws OnapCommandException { mockExternalResources(); - OnapCommandUtils.loadExternalSchemasFromJson(); + OnapCommandUtils.discoverOrLoadSchemas(); } @Test(expected = OnapCommandException.class) public void zendExceptionTest5() throws OnapCommandException { mockExternalResources(); - OnapCommandUtils.findAllExternalSchemas(); + OnapCommandUtils.discoverSchemas(); } @Test(expected = OnapCommandException.class) public void zendExceptionTest6() throws OnapCommandException { mockExternalResources(); - OnapCommandUtils.persist(new ArrayList()); + OnapCommandUtils.persistSchemaInfo(new ArrayList()); } @Test(expected = OnapCommandHelpFailed.class) @@ -442,21 +442,21 @@ public class OnapCommandUtilsTest { assert info != null; } - @OnapCommandSchema(name = "sample-test-info", version = "open-cli", schema = "sample-test-info.yaml") + @OnapCommandSchema(schema = "sample-test-info.yaml") class OnapCommandSampleInfo extends OnapCommand { @Override protected void run() throws OnapCommandException { } } - @OnapCommandSchema(name = "sample-test", version = "open-cli", schema = "sample-test-schema.yaml") + @OnapCommandSchema(schema = "sample-test-schema.yaml") class OnapCommandSample extends OnapCommand { @Override protected void run() throws OnapCommandException { } } - @OnapCommandSchema(name = "sample-swagger-test", version = "open-cli", schema = "sample-test-schema-swagger.yaml") + @OnapCommandSchema(schema = "sample-test-schema-swagger.yaml") class OnapSwaggerBasedCommandSample extends OnapSwaggerCommand { @Override @@ -464,7 +464,7 @@ public class OnapCommandUtilsTest { } } - @OnapCommandSchema(name = "sample-http-test", version = "open-cli", schema = "sample-test-schema-http.yaml") + @OnapCommandSchema(schema = "sample-test-schema-http.yaml") class OnapHttpCommandSample extends OnapHttpCommand { @Override diff --git a/framework/src/test/java/org/onap/cli/fw/utils/OpenCommandRegistrarTest.java b/framework/src/test/java/org/onap/cli/fw/utils/OpenCommandRegistrarTest.java index f7ba2355..648746ca 100644 --- a/framework/src/test/java/org/onap/cli/fw/utils/OpenCommandRegistrarTest.java +++ b/framework/src/test/java/org/onap/cli/fw/utils/OpenCommandRegistrarTest.java @@ -36,7 +36,6 @@ public class OpenCommandRegistrarTest { OnapCommand cmd = registrar.get("sample-test"); cmd.printVersion(); registrar.listCommands(); - } } diff --git a/framework/src/test/resources/open-cli-schema/sample-test-schema.yaml b/framework/src/test/resources/open-cli-schema/sample-test-schema.yaml new file mode 100644 index 00000000..e3b415b1 --- /dev/null +++ b/framework/src/test/resources/open-cli-schema/sample-test-schema.yaml @@ -0,0 +1,86 @@ +open_cli_schema_version: 1.0 +name: sample-test +description: Onap sample command to test the command features +info: + product: open-cli + service: test + type: cmd + author: Kanagaraj Manickam mkr1481@gmail.com +parameters: + - name: bool-param + type: bool + description: Onap boolean param, by default its always false. + short_option: b + long_option: bool + is_optional: true + default_value: false + is_include: true + - name: secure-param + type: string + description: Onap secure param such as password + short_option: x + long_option: secure + is_secured: true + is_optional: true + default_Value: pass123# + - name: string-param + type: string + description: Onap string param + long_option: string-param + short_option: c + 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: true + - name: json-param + type: json + description: Onap json file location param + long_option: json-param + short_option: j + is_optional: true + is_secured: false + - name: long-param + type: digit + description: Onap long param + short_option: l + long_option: long-opt + is_optional: true + default_value: 10 + - name: url-param + type: url + description: Onap url param + short_option: r + long_option: url + 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: true + default_value: ${ENV_VAR} + - name: positional-args + type: string + description: Onap positional args, if no short option and no long option given for it + is_optional: true + default_value: http://localhost:8082/file.txt +results: + direction: portrait + attributes: + - name: output-1 + description: Onap output attribute marked in short + scope: short + type: string + is_secured: true + default_value: req-$s{uuid} + - name: output-2 + description: Onap output attribute marked in long + scope: short + is_secured: false + type: string + default_value: Hello ${string-param} ! \ No newline at end of file diff --git a/framework/src/test/resources/sample-test-schema.yaml b/framework/src/test/resources/sample-test-schema.yaml deleted file mode 100644 index e3b415b1..00000000 --- a/framework/src/test/resources/sample-test-schema.yaml +++ /dev/null @@ -1,86 +0,0 @@ -open_cli_schema_version: 1.0 -name: sample-test -description: Onap sample command to test the command features -info: - product: open-cli - service: test - type: cmd - author: Kanagaraj Manickam mkr1481@gmail.com -parameters: - - name: bool-param - type: bool - description: Onap boolean param, by default its always false. - short_option: b - long_option: bool - is_optional: true - default_value: false - is_include: true - - name: secure-param - type: string - description: Onap secure param such as password - short_option: x - long_option: secure - is_secured: true - is_optional: true - default_Value: pass123# - - name: string-param - type: string - description: Onap string param - long_option: string-param - short_option: c - 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: true - - name: json-param - type: json - description: Onap json file location param - long_option: json-param - short_option: j - is_optional: true - is_secured: false - - name: long-param - type: digit - description: Onap long param - short_option: l - long_option: long-opt - is_optional: true - default_value: 10 - - name: url-param - type: url - description: Onap url param - short_option: r - long_option: url - 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: true - default_value: ${ENV_VAR} - - name: positional-args - type: string - description: Onap positional args, if no short option and no long option given for it - is_optional: true - default_value: http://localhost:8082/file.txt -results: - direction: portrait - attributes: - - name: output-1 - description: Onap output attribute marked in short - scope: short - type: string - is_secured: true - default_value: req-$s{uuid} - - name: output-2 - description: Onap output attribute marked in long - scope: short - is_secured: false - type: string - default_value: Hello ${string-param} ! \ No newline at end of file -- cgit 1.2.3-korg