package io.dropwizard.cli; import io.dropwizard.Application; import io.dropwizard.Configuration; import io.dropwizard.setup.Bootstrap; import io.dropwizard.setup.Environment; import net.sourceforge.argparse4j.inf.Namespace; import org.junit.Test; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verifyZeroInteractions; public class CheckCommandTest { private static class MyApplication extends Application<Configuration> { @Override public void run(Configuration configuration, Environment environment) throws Exception { } } private final MyApplication application = new MyApplication(); private final CheckCommand<Configuration> command = new CheckCommand<>(application); @SuppressWarnings("unchecked") private final Bootstrap<Configuration> bootstrap = mock(Bootstrap.class); private final Namespace namespace = mock(Namespace.class); private final Configuration configuration = mock(Configuration.class); @Test public void hasAName() throws Exception { assertThat(command.getName()) .isEqualTo("check"); } @Test public void hasADescription() throws Exception { assertThat(command.getDescription()) .isEqualTo("Parses and validates the configuration file"); } @Test public void doesNotInteractWithAnything() throws Exception { command.run(bootstrap, namespace, configuration); verifyZeroInteractions(bootstrap, namespace, configuration); } }