diff options
author | ramverma <ram.krishna.verma@ericsson.com> | 2018-07-16 15:23:45 +0100 |
---|---|---|
committer | ramverma <ram.krishna.verma@ericsson.com> | 2018-07-16 16:44:19 +0100 |
commit | 1eb5198939bd1d60665ff49e49763d0067c1bcb5 (patch) | |
tree | 1962eae390022de560624a546d8a72909f34893b /tools/tools-common/src/test | |
parent | 773cff1147e756eb9be6d4a56dc5f70537f172fc (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')
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[] + } +} |