Search in sources :

Example 11 with Subparser

use of net.sourceforge.argparse4j.inf.Subparser in project atlasdb by palantir.

the class AtlasDbCliCommandTest method getArgumentMockFromAddOptionToParser.

private static Argument getArgumentMockFromAddOptionToParser(OptionMetadata metadata, String... argNames) {
    Subparser parser = mock(Subparser.class);
    Argument argument = mock(Argument.class, (Answer<Object>) (invocation) -> {
        Object mock = invocation.getMock();
        if (invocation.getMethod().getReturnType().isInstance(mock)) {
            return mock;
        } else {
            return Mockito.RETURNS_DEFAULTS.answer(invocation);
        }
    });
    when(parser.addArgument(argNames)).thenReturn(argument);
    AtlasDbCliCommand.addOptionToParser(parser, metadata);
    return argument;
}
Also used : ImmutableSet(com.google.common.collect.ImmutableSet) ImmutableMap(com.google.common.collect.ImmutableMap) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) Set(java.util.Set) Throwables(com.google.common.base.Throwables) Subparser(net.sourceforge.argparse4j.inf.Subparser) Test(org.junit.Test) Mockito.when(org.mockito.Mockito.when) Field(java.lang.reflect.Field) Mockito.verify(org.mockito.Mockito.verify) Mockito(org.mockito.Mockito) Answer(org.mockito.stubbing.Answer) OptionMetadata(io.airlift.airline.model.OptionMetadata) Arguments(net.sourceforge.argparse4j.impl.Arguments) Map(java.util.Map) OptionType(io.airlift.airline.OptionType) ArgumentsMetadata(io.airlift.airline.model.ArgumentsMetadata) CommandMetadata(io.airlift.airline.model.CommandMetadata) Argument(net.sourceforge.argparse4j.inf.Argument) Mockito.mock(org.mockito.Mockito.mock) Argument(net.sourceforge.argparse4j.inf.Argument) Subparser(net.sourceforge.argparse4j.inf.Subparser)

Example 12 with Subparser

use of net.sourceforge.argparse4j.inf.Subparser in project atlasdb by palantir.

the class AtlasDbConfiguredCommand method configure.

@Override
public void configure(Subparser subparser) {
    Subparser parser = subparser.addSubparsers().addParser(consoleCommand.getName()).setDefault(COMMAND_NAME_ATTR, consoleCommand.getName()).description(consoleCommand.getDescription());
    consoleCommand.configure(parser);
    cliCommand.configure(subparser);
}
Also used : Subparser(net.sourceforge.argparse4j.inf.Subparser)

Example 13 with Subparser

use of net.sourceforge.argparse4j.inf.Subparser in project dropwizard by dropwizard.

the class AbstractMigrationTest method createSubparser.

protected static Subparser createSubparser(AbstractLiquibaseCommand<?> command) {
    final Subparser subparser = ArgumentParsers.newFor("db").terminalWidthDetection(false).build().addSubparsers().addParser(command.getName()).description(command.getDescription());
    command.configure(subparser);
    return subparser;
}
Also used : Subparser(net.sourceforge.argparse4j.inf.Subparser)

Example 14 with Subparser

use of net.sourceforge.argparse4j.inf.Subparser in project dropwizard by dropwizard.

the class DbMigrateCommandTest method testPrintHelp.

@Test
void testPrintHelp() throws Exception {
    final Subparser subparser = ArgumentParsers.newFor("db").terminalWidthDetection(false).build().addSubparsers().addParser(migrateCommand.getName()).description(migrateCommand.getDescription());
    migrateCommand.configure(subparser);
    final ByteArrayOutputStream baos = new ByteArrayOutputStream();
    subparser.printHelp(new PrintWriter(new OutputStreamWriter(baos, UTF_8), true));
    assertThat(baos.toString(UTF_8.name())).isEqualTo(String.format("usage: db migrate [-h] [--migrations MIGRATIONS-FILE] [--catalog CATALOG]%n" + "          [--schema SCHEMA] [-n] [-c COUNT] [-i CONTEXTS] [file]%n" + "%n" + "Apply all pending change sets.%n" + "%n" + "positional arguments:%n" + "  file                   application configuration file%n" + "%n" + "named arguments:%n" + "  -h, --help             show this help message and exit%n" + "  --migrations MIGRATIONS-FILE%n" + "                         the file containing  the  Liquibase migrations for%n" + "                         the application%n" + "  --catalog CATALOG      Specify  the   database   catalog   (use  database%n" + "                         default if omitted)%n" + "  --schema SCHEMA        Specify the database schema  (use database default%n" + "                         if omitted)%n" + "  -n, --dry-run          output the DDL to stdout, don't run it%n" + "  -c COUNT, --count COUNT%n" + "                         only apply the next N change sets%n" + "  -i CONTEXTS, --include CONTEXTS%n" + "                         include change sets from the given context%n"));
}
Also used : Subparser(net.sourceforge.argparse4j.inf.Subparser) OutputStreamWriter(java.io.OutputStreamWriter) ByteArrayOutputStream(java.io.ByteArrayOutputStream) PrintWriter(java.io.PrintWriter) Test(org.junit.jupiter.api.Test)

Example 15 with Subparser

use of net.sourceforge.argparse4j.inf.Subparser in project helios by spotify.

the class DeploymentGroupInspectCommandTest method setUp.

@Before
public void setUp() {
    // use a real, dummy Subparser impl to avoid having to mock out every single call
    final ArgumentParser parser = ArgumentParsers.newArgumentParser("test");
    final Subparser subparser = parser.addSubparsers().addParser("inspect");
    command = new DeploymentGroupInspectCommand(subparser);
    when(client.deploymentGroup(NAME)).thenReturn(Futures.immediateFuture(DEPLOYMENT_GROUP));
    final ListenableFuture<DeploymentGroup> nullFuture = Futures.immediateFuture(null);
    when(client.deploymentGroup(NON_EXISTENT_NAME)).thenReturn(nullFuture);
}
Also used : Subparser(net.sourceforge.argparse4j.inf.Subparser) ArgumentParser(net.sourceforge.argparse4j.inf.ArgumentParser) DeploymentGroup(com.spotify.helios.common.descriptors.DeploymentGroup) Before(org.junit.Before)

Aggregations

Subparser (net.sourceforge.argparse4j.inf.Subparser)21 ArgumentParser (net.sourceforge.argparse4j.inf.ArgumentParser)10 Before (org.junit.Before)7 Namespace (net.sourceforge.argparse4j.inf.Namespace)5 ImmutableMap (com.google.common.collect.ImmutableMap)3 OptionMetadata (io.airlift.airline.model.OptionMetadata)3 List (java.util.List)3 Argument (net.sourceforge.argparse4j.inf.Argument)3 Configuration (io.dropwizard.Configuration)2 Bootstrap (io.dropwizard.setup.Bootstrap)2 ZoneOffset (java.time.ZoneOffset)2 ArrayList (java.util.ArrayList)2 HashMap (java.util.HashMap)2 Map (java.util.Map)2 UriBuilder (javax.ws.rs.core.UriBuilder)2 Subparsers (net.sourceforge.argparse4j.inf.Subparsers)2 StringFormatter.dateString (org.apache.kafka.trogdor.common.StringFormatter.dateString)2 StringFormatter.durationString (org.apache.kafka.trogdor.common.StringFormatter.durationString)2 UptimeResponse (org.apache.kafka.trogdor.rest.UptimeResponse)2 TaskSpec (org.apache.kafka.trogdor.task.TaskSpec)2