@Test public void installingSdk_then_readySdk_correctly_runs() { mockSdkStatusChange(SdkStatus.INSTALLING, SdkStatus.READY); cloudSdkServiceManager.runWhenSdkReady(mockProject, mockRunnable, "", mockStatusHandler); ApplicationManager.getApplication().invokeAndWait(() -> verify(mockRunnable).run()); }
@Test public void installingSdk_then_stillInstalling_doesNotRun() { mockSdkStatusChange(SdkStatus.INSTALLING, SdkStatus.INSTALLING); // mock cancel operation for incomplete install. doReturn(true).when(cloudSdkServiceManager).checkIfCancelled(); cloudSdkServiceManager.runWhenSdkReady(mockProject, mockRunnable, "", mockStatusHandler); ApplicationManager.getApplication().invokeAndWait(() -> verifyNoMoreInteractions(mockRunnable)); }
@Test public void installingSdk_then_userCancel_doesNotShowWarningNotification() { mockSdkStatusChange(SdkStatus.INSTALLING, SdkStatus.INSTALLING); // mock cancel operation for incomplete install. doReturn(true).when(cloudSdkServiceManager).checkIfCancelled(); cloudSdkServiceManager.runWhenSdkReady(mockProject, mockRunnable, "", mockStatusHandler); ApplicationManager.getApplication() .invokeAndWait( () -> // explicit parameters are not relevant but need to be passed for spy to work. verify(cloudSdkServiceManager, never()) .showCloudSdkNotification("", NotificationType.WARNING)); }
@Test public void installingSdk_then_invalidSdk_showsErrorNotification() { mockSdkStatusChange(SdkStatus.INSTALLING, SdkStatus.INVALID); String errorMessage = "Deployment failed: Google Cloud SDK is not ready."; when(mockStatusHandler.getErrorMessage(SdkStatus.INVALID)).thenReturn(errorMessage); cloudSdkServiceManager.runWhenSdkReady(mockProject, mockRunnable, "", mockStatusHandler); ApplicationManager.getApplication() .invokeAndWait( () -> verify(cloudSdkServiceManager) .showCloudSdkNotification(errorMessage, NotificationType.WARNING)); }
@Test public void installingSdk_then_invalidSdk_doesNotRun() { mockSdkStatusChange(SdkStatus.INSTALLING, SdkStatus.INVALID); cloudSdkServiceManager.runWhenSdkReady(mockProject, mockRunnable, "", mockStatusHandler); ApplicationManager.getApplication().invokeAndWait(() -> verifyNoMoreInteractions(mockRunnable)); }
@Test public void installingSdk_then_notAvailableSdk_doesNotRun() { mockSdkStatusChange(SdkStatus.INSTALLING, SdkStatus.NOT_AVAILABLE); cloudSdkServiceManager.runWhenSdkReady(mockProject, mockRunnable, "", mockStatusHandler); ApplicationManager.getApplication().invokeAndWait(() -> verifyNoMoreInteractions(mockRunnable)); }
.runWhenSdkReady( task.getProject(), deployRunner,