/** Register a service class with the container. */ @NotNull public static <T> T installMockService(@NotNull Class<T> serviceInterface) { T mock = Mockito.mock(serviceInterface); MutablePicoContainer picoContainer = (MutablePicoContainer) ApplicationManager.getApplication().getPicoContainer(); picoContainer.unregisterComponent(serviceInterface.getName()); picoContainer.registerComponentInstance(serviceInterface.getName(), mock); return mock; }
public <I> void registerApplicationService(@NotNull Class<? super I> interfaceClass, @NotNull I service) { ((DefaultPicoContainer) getMockApplication().getPicoContainer()). registerComponent(service(interfaceClass, service)); }
/** * Replaces the service binding in the {@link MutablePicoContainer} with the given instance and * returns the original service instance. * * @param clazz the class of the registered service * @param newInstance the new instance to register */ private static Object setService(Class<?> clazz, Object newInstance) { MutablePicoContainer applicationContainer = (MutablePicoContainer) ApplicationManager.getApplication().getPicoContainer(); Object originalInstance = applicationContainer.getComponentInstanceOfType(clazz); applicationContainer.unregisterComponent(clazz.getName()); applicationContainer.registerComponentInstance(clazz.getName(), newInstance); return originalInstance; }
private void initializeApplication(Application application) { DefaultPicoContainer pico = new DefaultPicoContainer(); when(application.getPicoContainer()).thenReturn(pico); MessageBus bus = new SingleThreadedMessageBus(null); when(application.getMessageBus()).thenReturn(bus); // Service setup. See ServiceManager pico.registerComponent(service(PasswordSafe.class, new MockPasswordSafe())); pico.registerComponent(service(VcsContextFactory.class, new MockVcsContextFactory())); VirtualFileManager vfm = mock(VirtualFileManager.class); when(application.getComponent(VirtualFileManager.class)).thenReturn(vfm); AccessToken readToken = mock(AccessToken.class); when(application.acquireReadActionLock()).thenReturn(readToken); ApplicationInfo appInfo = mock(ApplicationInfo.class); when(appInfo.getApiVersion()).thenReturn("IC-182.1.1"); registerApplicationService(ApplicationInfo.class, appInfo); }
@Before public void setUp() throws Exception { MutablePicoContainer applicationContainer = (MutablePicoContainer) ApplicationManager.getApplication().getPicoContainer(); repositoryService = mock(CloudRepositoryService.class); applicationContainer.unregisterComponent(CloudRepositoryService.class.getName()); applicationContainer.registerComponentInstance( CloudRepositoryService.class.getName(), repositoryService); }
@Override protected void setUp() throws Exception { super.setUp(); MutablePicoContainer applicationContainer = (MutablePicoContainer) ApplicationManager.getApplication().getPicoContainer(); assetProvider = mock(AppEngineAssetProvider.class); applicationContainer.unregisterComponent(AppEngineAssetProvider.class.getName()); applicationContainer.registerComponentInstance( AppEngineAssetProvider.class.getName(), assetProvider); }
private void addAppEngineSupport(Module module) { CloudSdkService sdkService = mock(CloudSdkService.class); CloudSdkJavaInternals mockSdkInternals = mock(CloudSdkJavaInternals.class); when(mockSdkInternals.getWebSchemeFile()).thenReturn(getWebSchemeFile()); CloudSdkJavaInternals.setInstance(mockSdkInternals); MutablePicoContainer applicationContainer = (MutablePicoContainer) ApplicationManager.getApplication().getPicoContainer(); applicationContainer.unregisterComponent(CloudSdkService.class.getName()); applicationContainer.registerComponentInstance(CloudSdkService.class.getName(), sdkService); FacetManager.getInstance(module) .addFacet(AppEngineStandardFacet.getFacetType(), "AppEngine", null); }
/** Sets up the container. */ @Before public final void setup() { // prevent memory leak error TestRunnerUtil.replaceIdeEventQueueSafely(); Disposable disposableParent = TestUtils.createMockApplication(); applicationContainer = (MutablePicoContainer) ApplicationManager.getApplication().getPicoContainer(); project = TestUtils.mockProject(applicationContainer); Extensions.cleanRootArea(disposableParent); extensionsArea = (ExtensionsAreaImpl) Extensions.getRootArea(); }
private void setupAppEngine(AppEngineStandardLibraryPanel libraryPanel, Library library) { CloudSdkService sdkService = mock(CloudSdkService.class); CloudSdkServiceManager sdkServiceManager = mock(CloudSdkServiceManager.class); when(sdkServiceManager.getCloudSdkService()).thenReturn(sdkService); CloudSdkJavaInternals mockSdkInternals = mock(CloudSdkJavaInternals.class); when(mockSdkInternals.getLibraries()).thenReturn(new File[] {}); CloudSdkJavaInternals.setInstance(mockSdkInternals); MavenRepositoryLibraryDownloader libraryDownloader = mock(MavenRepositoryLibraryDownloader.class); when(libraryDownloader.downloadLibrary( any(Module.class), any(AppEngineStandardMavenLibrary.class))) .thenReturn(library); MutablePicoContainer applicationContainer = (MutablePicoContainer) ApplicationManager.getApplication().getPicoContainer(); applicationContainer.unregisterComponent(CloudSdkService.class.getName()); applicationContainer.registerComponentInstance(CloudSdkService.class.getName(), sdkService); applicationContainer.unregisterComponent(MavenRepositoryLibraryDownloader.class.getName()); applicationContainer.registerComponentInstance( MavenRepositoryLibraryDownloader.class.getName(), libraryDownloader); FrameworkSupportInModuleConfigurable configurable = selectFramework(AppEngineStandardFrameworkType.ID); if (libraryPanel != null && configurable instanceof AppEngineSupportConfigurable) { ((AppEngineSupportConfigurable) configurable).setAppEngineStandardLibraryPanel(libraryPanel); } }