summaryrefslogtreecommitdiffstats
path: root/tools/tools-common/src/test
diff options
context:
space:
mode:
authorramverma <ram.krishna.verma@ericsson.com>2018-07-16 15:23:45 +0100
committerramverma <ram.krishna.verma@ericsson.com>2018-07-16 16:44:19 +0100
commit1eb5198939bd1d60665ff49e49763d0067c1bcb5 (patch)
tree1962eae390022de560624a546d8a72909f34893b /tools/tools-common/src/test
parent773cff1147e756eb9be6d4a56dc5f70537f172fc (diff)
Adding tools module to apex-pdp
The tools module contains the utility applications for apex like converting policy model to cli, generating json events from policy model, simple websocket client example etc. The tools are defined to work in console and hence contain sysouts which are actually needed. Change-Id: Ia6d40fa7d3f6609ef86abd91a438d6ccbcd1f277 Issue-ID: POLICY-863 Signed-off-by: ramverma <ram.krishna.verma@ericsson.com>
Diffstat (limited to 'tools/tools-common/src/test')
-rw-r--r--tools/tools-common/src/test/java/org/onap/policy/apex/tools/common/TestCliParser.java43
-rw-r--r--tools/tools-common/src/test/java/org/onap/policy/apex/tools/common/docs/ExampleAppVersion.java65
-rw-r--r--tools/tools-common/src/test/java/org/onap/policy/apex/tools/common/docs/ExampleCliParser.java116
3 files changed, 224 insertions, 0 deletions
diff --git a/tools/tools-common/src/test/java/org/onap/policy/apex/tools/common/TestCliParser.java b/tools/tools-common/src/test/java/org/onap/policy/apex/tools/common/TestCliParser.java
new file mode 100644
index 000000000..bf14cfec0
--- /dev/null
+++ b/tools/tools-common/src/test/java/org/onap/policy/apex/tools/common/TestCliParser.java
@@ -0,0 +1,43 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.tools.common;
+
+import org.junit.Test;
+import org.onap.policy.apex.tools.common.CliParser;
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+
+/**
+ * Tests for {@link CliParser}.
+ *
+ * @author Sven van der Meer (sven.van.der.meer@ericsson.com)
+ */
+public class TestCliParser {
+
+ private static final XLogger LOGGER = XLoggerFactory.getXLogger(TestCliParser.class);
+
+ /** Testapp version. */
+ @Test
+ public void testappVersion() {
+ final CliParser cli = new CliParser();
+ LOGGER.info(cli.getAppVersion());
+ }
+}
diff --git a/tools/tools-common/src/test/java/org/onap/policy/apex/tools/common/docs/ExampleAppVersion.java b/tools/tools-common/src/test/java/org/onap/policy/apex/tools/common/docs/ExampleAppVersion.java
new file mode 100644
index 000000000..6d6fa9c1d
--- /dev/null
+++ b/tools/tools-common/src/test/java/org/onap/policy/apex/tools/common/docs/ExampleAppVersion.java
@@ -0,0 +1,65 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.tools.common.docs;
+
+////
+//// NOTE: This file contains tags for ASCIIDOC
+//// DO NOT REMOVE any of those tag lines, e.g.
+////// tag::**
+////// end::**
+////
+
+import org.apache.commons.cli.CommandLine;
+import org.junit.Test;
+import org.onap.policy.apex.tools.common.CliOptions;
+import org.onap.policy.apex.tools.common.CliParser;
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+
+/**
+ * Examples for documentation using {@link CliParser#getAppVersion()}.
+ *
+ * @author Sven van der Meer (sven.van.der.meer@ericsson.com)
+ */
+public class ExampleAppVersion {
+
+ private static final XLogger LOGGER = XLoggerFactory.getXLogger(ExampleAppVersion.class);
+
+ /** Test example app version. */
+ @Test
+ public void testExampleAppVersion() {
+ final String[] args = new String[] { "-v" };
+
+ // tag::setupParser[]
+ final CliParser cli = new CliParser();
+ cli.addOption(CliOptions.VERSION);
+ final CommandLine cmd = cli.parseCli(args);
+ // end::setupParser[]
+
+ // tag::processCliVersion[]
+ // version is an exit option, print version and exit
+ if (cmd.hasOption('v') || cmd.hasOption("version")) {
+ LOGGER.info("myApp" + " " + cli.getAppVersion());
+ return;
+ }
+ // end::processCliVersion[]
+ }
+}
diff --git a/tools/tools-common/src/test/java/org/onap/policy/apex/tools/common/docs/ExampleCliParser.java b/tools/tools-common/src/test/java/org/onap/policy/apex/tools/common/docs/ExampleCliParser.java
new file mode 100644
index 000000000..487bed297
--- /dev/null
+++ b/tools/tools-common/src/test/java/org/onap/policy/apex/tools/common/docs/ExampleCliParser.java
@@ -0,0 +1,116 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2016-2018 Ericsson. All rights reserved.
+ * ================================================================================
+ * 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.apex.tools.common.docs;
+
+////
+//// NOTE: This file contains tags for ASCIIDOC
+//// DO NOT REMOVE any of those tag lines, e.g.
+//// //tag::**
+//// //end::**
+////
+
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.HelpFormatter;
+import org.junit.Test;
+import org.onap.policy.apex.tools.common.CliOptions;
+import org.onap.policy.apex.tools.common.CliParser;
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+
+/**
+ * Examples for documentation using {@link CliParser}.
+ *
+ * @author Sven van der Meer (sven.van.der.meer@ericsson.com)
+ */
+public class ExampleCliParser {
+
+ private static final XLogger LOGGER = XLoggerFactory.getXLogger(ExampleCliParser.class);
+
+ /**
+ * Test example parser.
+ */
+ @Test
+ public void testExampleParser() {
+ final String[] args = new String[] { "-h" };
+
+ // tag::setApp[]
+ final String appName = "test-app";
+ final String appDescription = "a test app for documenting how to use the CLI utilities";
+ // end::setApp[]
+
+ // tag::setCli[]
+ final CliParser cli = new CliParser();
+ cli.addOption(CliOptions.HELP);
+ cli.addOption(CliOptions.VERSION);
+ cli.addOption(CliOptions.MODELFILE);
+ // end::setCli[]
+
+ // tag::parseCli[]
+ final CommandLine cmd = cli.parseCli(args);
+ // end::parseCli[]
+
+ // tag::processCliHelp[]
+ // help is an exit option, print usage and exit
+ if (cmd.hasOption('h') || cmd.hasOption("help")) {
+ final HelpFormatter formatter = new HelpFormatter();
+ LOGGER.info(appName + " v" + cli.getAppVersion() + " - " + appDescription);
+ formatter.printHelp(appName, cli.getOptions());
+ return;
+ }
+ // end::processCliHelp[]
+
+ // tag::processCliVersion[]
+ // version is an exit option, print version and exit
+ if (cmd.hasOption('v') || cmd.hasOption("version")) {
+ LOGGER.info(appName + " " + cli.getAppVersion());
+ return;
+ }
+ // end::processCliVersion[]
+
+ // tag::processCliModel[]
+ String modelFile = cmd.getOptionValue('m');
+ if (modelFile == null) {
+ modelFile = cmd.getOptionValue("model");
+ }
+ if (modelFile == null) {
+ LOGGER.error(appName + ": no model file given, cannot proceed (try -h for help)");
+ return;
+ }
+ // end::processCliModel[]
+
+ // tag::someStartPrint[]
+ LOGGER.info(appName + ": starting");
+ LOGGER.info(" --> model file: " + modelFile);
+ // end::someStartPrint[]
+
+ // tag::yourApp[]
+ // your code for the application here
+ // e.g.
+ // try {
+ // Model2Cli app = new Model2Cli(modelFile, !cmd.hasOption("sv"), appName);
+ // app.runApp();
+ // }
+ // catch(ApexException aex) {
+ // LOGGER.error(appName + ": caught APEX exception with message: " + aex.getMessage());
+ // }
+ // end::yourApp[]
+ }
+}