import org.sonar.api.batch.bootstrap.ProjectReactor;
import org.sonar.api.batch.maven.MavenPluginHandler;
import org.sonar.api.resources.Project;
+import org.sonar.batch.scan.filesystem.DefaultModuleFileSystem;
import org.sonar.batch.scan.maven.FakeMavenPluginExecutor;
import org.sonar.batch.scan.maven.MavenPluginExecutor;
-import org.sonar.batch.scan.filesystem.DefaultModuleFileSystem;
import static org.fest.assertions.Assertions.assertThat;
-
public class BootstrapContainerTest {
private ProjectReactor reactor = new ProjectReactor(ProjectDefinition.create());
assertThat(module.container).isNotNull();
assertThat(module.container.getComponentByType(FakeComponent.class)).isNotNull();
- assertThat(module.container.getComponentByType(ProjectReactor.class)).isSameAs(reactor);
}
@Test
module.init();
assertThat(module.container).isNotNull();
- assertThat(module.container.getComponentByType(ProjectReactor.class)).isSameAs(reactor);
}
public static class FakeComponent {
public void execute(Project project, DefaultModuleFileSystem fs, String goal) {
}
- public MavenPluginHandler execute(Project project, DefaultModuleFileSystem fs, MavenPluginHandler handler) {
+ public MavenPluginHandler execute(Project project, DefaultModuleFileSystem fs, MavenPluginHandler handler) {
return handler;
}
}
}
@Test
- public void shouldInstallTaskExtensions() {
+ public void shouldInstallProjectTaskExtensions() {
BatchPluginRepository pluginRepository = mock(BatchPluginRepository.class);
when(pluginRepository.getPluginsByMetadata()).thenReturn(newPlugin(SampleProjectTask.class, SampleTask.class, TaskProvider.class));
ComponentContainer container = new ComponentContainer();
installer.installTaskExtensions(container, true);
assertThat(container.getComponentByType(SampleProjectTask.class)).isNotNull();
- assertThat(container.getComponentByType(SampleTask.class)).isNotNull();
- assertThat(container.getComponentByType(AnotherTask.class)).isNotNull();
+ assertThat(container.getComponentByType(SampleTask.class)).isNull();
+ assertThat(container.getComponentByType(AnotherTask.class)).isNull();
}
@Test
- public void shouldNotInstallProjectTaskExtensionsWhenNoProject() {
+ public void shouldInstallProjectLessTaskExtensions() {
BatchPluginRepository pluginRepository = mock(BatchPluginRepository.class);
- when(pluginRepository.getPluginsByMetadata()).thenReturn(newPlugin(SampleProjectTask.class, SampleTask.class));
+ when(pluginRepository.getPluginsByMetadata()).thenReturn(newPlugin(SampleProjectTask.class, SampleTask.class, TaskProvider.class));
ComponentContainer container = new ComponentContainer();
ExtensionInstaller installer = new ExtensionInstaller(pluginRepository, new EnvironmentInformation("ant", "1.7"), new Settings());
assertThat(container.getComponentByType(SampleProjectTask.class)).isNull();
assertThat(container.getComponentByType(SampleTask.class)).isNotNull();
+ assertThat(container.getComponentByType(AnotherTask.class)).isNotNull();
}
@Test