@@ -0,0 +1,2255 @@
+/*%0A * Licensed to Metamarkets Group Inc. (Metamarkets) under one%0A * or more contributor license agreements.  See the NOTICE file%0A * distributed with this work for additional information%0A * regarding copyright ownership.  Metamarkets licenses this file%0A * to you under the Apache License, Version 2.0 (the%0A * %22License%22); you may not use this file except in compliance%0A * with the License.  You may obtain a copy of the License at%0A *%0A *   http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing,%0A * software distributed under the License is distributed on an%0A * %22AS IS%22 BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY%0A * KIND, either express or implied.  See the License for the%0A * specific language governing permissions and limitations%0A * under the License.%0A */%0A%0Apackage io.druid.cli;%0A%0Aimport com.google.common.collect.ImmutableList;%0Aimport com.google.inject.Injector;%0Aimport io.druid.guice.GuiceInjectors;%0Aimport org.junit.Assert;%0Aimport org.junit.Test;%0Aimport org.junit.runner.RunWith;%0Aimport org.junit.runners.Parameterized;%0A%0A@RunWith(Parameterized.class)%0Apublic class MainTest%0A%7B%0A  @Parameterized.Parameters(name = %22%7B0%7D%22)%0A  public static Iterable%3CObject%5B%5D%3E constructorFeeder()%0A  %7B%0A    return ImmutableList.of(%0A        new Object%5B%5D%7Bnew CliOverlord()%7D,%0A        new Object%5B%5D%7Bnew CliBroker()%7D,%0A%0A        // Takes arguments. Cannot be used in this test%0A        //new Object%5B%5D%7Bnew CliPeon()%7D,%0A%0A        new Object%5B%5D%7Bnew CliHistorical()%7D,%0A        new Object%5B%5D%7Bnew CliCoordinator()%7D,%0A%0A        // Implements Runnable, not GuiceRunnable%0A        //new Object%5B%5D%7Bnew CliHadoopIndexer()%7D,%0A%0A        // Takes arguments. Cannot be used in this test%0A        //new Object%5B%5D%7Bnew CliInternalHadoopIndexer()%7D,%0A%0A        new Object%5B%5D%7Bnew CliMiddleManager()%7D,%0A        new Object%5B%5D%7Bnew CliRealtime()%7D,%0A        new Object%5B%5D%7Bnew CliRealtimeExample()%7D,%0A        new Object%5B%5D%7Bnew CliRouter()%7D%0A    );%0A  %7D%0A  private final GuiceRunnable runnable;%0A  public MainTest(GuiceRunnable runnable)%0A  %7B%0A    this.runnable = runnable;%0A  %7D%0A  @Test%0A  public void testSimpleInjection()%0A  %7B%0A    final Injector injector = GuiceInjectors.makeStartupInjector();%0A    injector.injectMembers(runnable);%0A    Assert.assertNotNull(runnable.makeInjector());%0A  %7D%0A%7D%0A

Add basic tests to some CliXXX classes