aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/test')
-rw-r--r--framework/src/test/java/org/onap/cli/fw/ad/OnapAuthClientCommandBasedTest.java116
-rw-r--r--framework/src/test/resources/sample-test-schema-no-auth-no-catalog.yaml22
-rw-r--r--framework/src/test/resources/sample-test-schema-no-auth-yes-catalog.yaml22
-rw-r--r--framework/src/test/resources/sample-test-schema-yes-auth-no-catalog.yaml22
-rw-r--r--framework/src/test/resources/sample-test-schema-yes-auth-yes-catalog.yaml22
-rw-r--r--framework/src/test/resources/sample-test-schema.yaml16
6 files changed, 212 insertions, 8 deletions
diff --git a/framework/src/test/java/org/onap/cli/fw/ad/OnapAuthClientCommandBasedTest.java b/framework/src/test/java/org/onap/cli/fw/ad/OnapAuthClientCommandBasedTest.java
new file mode 100644
index 00000000..77ef680d
--- /dev/null
+++ b/framework/src/test/java/org/onap/cli/fw/ad/OnapAuthClientCommandBasedTest.java
@@ -0,0 +1,116 @@
+/*
+ * 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.ad;
+
+import static org.junit.Assert.fail;
+
+import org.junit.Test;
+import org.onap.cli.fw.OnapCommand;
+import org.onap.cli.fw.OnapCommandRegistrar;
+import org.onap.cli.fw.conf.Constants;
+import org.onap.cli.fw.conf.OnapCommandConfg;
+import org.onap.cli.fw.error.OnapCommandException;
+
+public class OnapAuthClientCommandBasedTest {
+
+ OnapCommand cmd;
+
+ @Test
+ public void internalCommandTest() {
+ try {
+ cmd = OnapCommandRegistrar.getRegistrar().get("sample-test");
+ cmd.getService().setName(OnapCommandConfg.getInternalCmd());
+
+ cmd.execute();
+ } catch (OnapCommandException e) {
+ fail("Internal command failed to run");
+ e.printStackTrace();
+ }
+ }
+
+ @Test
+ public void yesCatalogYesAuthTest() throws OnapCommandException {
+ try {
+ cmd = getCommand("sample-test-schema-yes-auth-yes-catalog.yaml");
+ cmd.getParametersMap().get(Constants.DEAFULT_PARAMETER_HOST_URL).setValue("http://localhost:8080");
+ cmd.getParametersMap().get(Constants.DEAFULT_PARAMETER_USERNAME).setValue("test");
+ cmd.getParametersMap().get(Constants.DEAFULT_PARAMETER_PASS_WORD).setValue("password");
+
+ cmd.execute();
+ } catch (OnapCommandException e) {
+ fail("External command Yes Auth Yes Catalog failed to run");
+ e.printStackTrace();
+ }
+ }
+
+ @Test
+ public void yesCatalogNoAuthTest() throws OnapCommandException {
+ try {
+ cmd = getCommand("sample-test-schema-no-auth-yes-catalog.yaml");
+ cmd.getParametersMap().get(Constants.DEAFULT_PARAMETER_HOST_URL).setValue("http://localhost:8080");
+
+ cmd.execute();
+ } catch (OnapCommandException e) {
+ fail("External command Yes Auth No Catalog failed to run");
+ e.printStackTrace();
+ }
+ }
+
+ @Test
+ public void noCatalogYesAuthTest() throws OnapCommandException {
+ try {
+ cmd = getCommand("sample-test-schema-yes-auth-no-catalog.yaml");
+ cmd.getParametersMap().get(Constants.DEAFULT_PARAMETER_HOST_URL).setValue("http://localhost:8080");
+ cmd.getParametersMap().get(Constants.DEAFULT_PARAMETER_USERNAME).setValue("test");
+ cmd.getParametersMap().get(Constants.DEAFULT_PARAMETER_PASS_WORD).setValue("password");
+
+ cmd.execute();
+ } catch (OnapCommandException e) {
+ fail("External command Yes Auth No Catalog failed to run");
+ e.printStackTrace();
+ }
+ }
+
+ @Test
+ public void noCatalogNoAuthTest() throws OnapCommandException {
+ try {
+ cmd = getCommand("sample-test-schema-no-auth-no-catalog.yaml");
+ cmd.getParametersMap().get(Constants.DEAFULT_PARAMETER_HOST_URL).setValue("http://localhost:8080");
+
+ cmd.execute();
+ } catch (OnapCommandException e) {
+ fail("External command No Auth No Catalog failed to run");
+ e.printStackTrace();
+ }
+ }
+
+ private OnapCommand getCommand(String yaml) throws OnapCommandException {
+ OnapCommand cmd = new OnapCommand() {
+ @Override
+ protected void run() throws OnapCommandException {
+ if (!this.getService().isModeDirect()) {
+ String url = this.authClient.getServiceUrl();
+ assert url.equals(this.getParametersMap().get(Constants.DEAFULT_PARAMETER_HOST_URL).getValue() + "/");
+ }
+ }
+ };
+
+ cmd.initializeSchema(yaml);
+
+ return cmd;
+ }
+ }
diff --git a/framework/src/test/resources/sample-test-schema-no-auth-no-catalog.yaml b/framework/src/test/resources/sample-test-schema-no-auth-no-catalog.yaml
new file mode 100644
index 00000000..295a2b80
--- /dev/null
+++ b/framework/src/test/resources/sample-test-schema-no-auth-no-catalog.yaml
@@ -0,0 +1,22 @@
+open_cli_schema_version: 1.0
+
+name: sample-cmd-no-auth-no-catalog
+
+description: sample
+
+version: sample-test-1.0
+
+service:
+ name: sample
+ version: v1
+ auth: none
+ mode: direct
+
+http:
+ request:
+ uri: /test
+ method: GET
+ success_codes:
+ - 200
+ result_map:
+ name: ${name}
diff --git a/framework/src/test/resources/sample-test-schema-no-auth-yes-catalog.yaml b/framework/src/test/resources/sample-test-schema-no-auth-yes-catalog.yaml
new file mode 100644
index 00000000..ebe03d86
--- /dev/null
+++ b/framework/src/test/resources/sample-test-schema-no-auth-yes-catalog.yaml
@@ -0,0 +1,22 @@
+open_cli_schema_version: 1.0
+
+name: sample-cmd-no-auth-no-catalog
+
+description: sample
+
+version: sample-test-1.0
+
+service:
+ name: sample
+ version: v1
+ auth: none
+ mode: catalog
+
+http:
+ request:
+ uri: /test
+ method: GET
+ success_codes:
+ - 200
+ result_map:
+ name: ${name}
diff --git a/framework/src/test/resources/sample-test-schema-yes-auth-no-catalog.yaml b/framework/src/test/resources/sample-test-schema-yes-auth-no-catalog.yaml
new file mode 100644
index 00000000..fada6f52
--- /dev/null
+++ b/framework/src/test/resources/sample-test-schema-yes-auth-no-catalog.yaml
@@ -0,0 +1,22 @@
+open_cli_schema_version: 1.0
+
+name: sample-cmd-yes-auth-no-catalog
+
+description: sample
+
+version: sample-test-1.0
+
+service:
+ name: sample
+ version: v1
+ auth: basic
+ mode: direct
+
+http:
+ request:
+ uri: /test
+ method: GET
+ success_codes:
+ - 200
+ result_map:
+ name: ${name}
diff --git a/framework/src/test/resources/sample-test-schema-yes-auth-yes-catalog.yaml b/framework/src/test/resources/sample-test-schema-yes-auth-yes-catalog.yaml
new file mode 100644
index 00000000..e8b814a4
--- /dev/null
+++ b/framework/src/test/resources/sample-test-schema-yes-auth-yes-catalog.yaml
@@ -0,0 +1,22 @@
+open_cli_schema_version: 1.0
+
+name: sample-cmd-no-auth-no-catalog
+
+description: sample
+
+version: sample-test-1.0
+
+service:
+ name: sample
+ version: v1
+ auth: basic
+ mode: catalog
+
+http:
+ request:
+ uri: /test
+ method: GET
+ success_codes:
+ - 200
+ result_map:
+ name: ${name}
diff --git a/framework/src/test/resources/sample-test-schema.yaml b/framework/src/test/resources/sample-test-schema.yaml
index 092e0e75..d77cb114 100644
--- a/framework/src/test/resources/sample-test-schema.yaml
+++ b/framework/src/test/resources/sample-test-schema.yaml
@@ -20,53 +20,53 @@ 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
is_secured: false
- 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}
- 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
results:
direction: portrait