@Test public void failed_install_appEngineException_changesSdkStatus_inProgress() throws Exception { sdkService.addStatusUpdateListener(mockStatusUpdateListener); emulateMockSdkInstallationProcess(MOCK_SDK_PATH); SdkComponentInstaller mockComponentInstaller = mockManagedCloudSdk.newComponentInstaller(); doThrow(new CommandExecutionException(new UnsupportedOperationException())) .when(mockComponentInstaller) .installComponent(any(), any(), any()); sdkService.install(); ArgumentCaptor<SdkStatus> statusCaptor = ArgumentCaptor.forClass(SdkStatus.class); verify(mockStatusUpdateListener, times(2)).onSdkStatusChange(any(), statusCaptor.capture()); assertThat(statusCaptor.getAllValues()) .isEqualTo(Arrays.asList(SdkStatus.INSTALLING, SdkStatus.NOT_AVAILABLE)); }
private ManagedSdkJobResult installAppEngineJavaComponent() throws Exception { if (!safeCheckSdkStatus(() -> managedCloudSdk.hasComponent(SdkComponent.APP_ENGINE_JAVA))) { ConsoleListener appEngineConsoleListener = logger::debug; progressListener = ManagedCloudSdkServiceUiPresenter.getInstance().createProgressListener(this); notifySdkProcessingStarted(); executeWithSdkWriteLock( () -> managedCloudSdk .newComponentInstaller() .installComponent( SdkComponent.APP_ENGINE_JAVA, progressListener, appEngineConsoleListener)); return ManagedSdkJobResult.PROCESSED; } else { return ManagedSdkJobResult.UP_TO_DATE; } }
if (!managedCloudSdk.hasComponent(SdkComponent.APP_ENGINE_JAVA)) { SdkComponentInstaller componentInstaller = managedCloudSdk.newComponentInstaller(); componentInstaller.installComponent( SdkComponent.APP_ENGINE_JAVA, progressListener, consoleListener);
managedCloudSdk .newComponentInstaller() .installComponent(SdkComponent.APP_ENGINE_JAVA, progressListener, consoleListener);