Java tutorial
/* * Copyright 2013-2016 EMC Corporation. 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. * A copy of the License is located at * * http://www.apache.org/licenses/LICENSE-2.0.txt * * or in the "license" file accompanying this file. This file 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 com.emc.ecs.sync.cli; import com.emc.ecs.sync.config.ConfigUtil; import com.emc.ecs.sync.config.ConfigWrapper; import com.emc.ecs.sync.rest.LogLevel; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.DefaultParser; import org.junit.Assert; import org.junit.Test; public class CliTest { @Test public void testCliConfigParsing() throws Exception { String db = "foo:bar", filters = "", rest = ""; String source = "", target = "", xml = ""; LogLevel log = LogLevel.silent; String[] args = { "--help", "--version", "--no-rest-server", "--rest-only", "--db-connect-string", db, "--filters", filters, "--rest-endpoint", rest, "--source", source, "--target", target, "--xml-config", xml, "--log-level", log.toString(), }; ConfigWrapper<CliConfig> wrapper = ConfigUtil.wrapperFor(CliConfig.class); CommandLine commandLine = new DefaultParser().parse(wrapper.getOptions(), args); CliConfig cliConfig = wrapper.parse(commandLine); Assert.assertTrue(cliConfig.isHelp()); Assert.assertTrue(cliConfig.isVersion()); Assert.assertFalse(cliConfig.isRestEnabled()); Assert.assertTrue(cliConfig.isRestOnly()); Assert.assertEquals(db, cliConfig.getDbConnectString()); Assert.assertEquals(filters, cliConfig.getFilters()); Assert.assertEquals(rest, cliConfig.getRestEndpoint()); Assert.assertEquals(source, cliConfig.getSource()); Assert.assertEquals(target, cliConfig.getTarget()); Assert.assertEquals(xml, cliConfig.getXmlConfig()); Assert.assertEquals(log, cliConfig.getLogLevel()); } }