use of com.google.cloud.tools.managedcloudsdk.command.CommandExitException in project google-cloud-intellij by GoogleCloudPlatform.
the class ManagedCloudSdkServiceTest method failed_update_invalidSdk_makesSdkStatus_notAvailable.
@Test
public void failed_update_invalidSdk_makesSdkStatus_notAvailable() throws Exception {
makeMockSdkInstalled(MOCK_SDK_PATH);
emulateMockSdkUpdateProcess();
SdkUpdater mockUpdater = mockManagedCloudSdk.newUpdater();
doThrow(new CommandExitException(-1, "")).when(mockUpdater).update(any(), any());
// update breaks SDK
when(mockManagedCloudSdk.isInstalled()).thenReturn(false);
sdkService.addStatusUpdateListener(mockStatusUpdateListener);
sdkService.update();
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));
}
use of com.google.cloud.tools.managedcloudsdk.command.CommandExitException in project google-cloud-intellij by GoogleCloudPlatform.
the class ManagedCloudSdkServiceTest method failed_update_validSdk_sdkStatus_available.
@Test
public void failed_update_validSdk_sdkStatus_available() throws Exception {
makeMockSdkInstalled(MOCK_SDK_PATH);
emulateMockSdkUpdateProcess();
SdkUpdater mockUpdater = mockManagedCloudSdk.newUpdater();
doThrow(new CommandExitException(-1, "")).when(mockUpdater).update(any(), any());
sdkService.addStatusUpdateListener(mockStatusUpdateListener);
sdkService.update();
ArgumentCaptor<SdkStatus> statusCaptor = ArgumentCaptor.forClass(SdkStatus.class);
verify(mockStatusUpdateListener, times(2)).onSdkStatusChange(any(), statusCaptor.capture());
assertThat(statusCaptor.getAllValues()).isEqualTo(Arrays.asList(SdkStatus.INSTALLING, SdkStatus.READY));
}
use of com.google.cloud.tools.managedcloudsdk.command.CommandExitException in project app-maven-plugin by GoogleCloudPlatform.
the class CloudSdkDownloader method downloadCloudSdk.
/**
* Downloads/installs/updates the Cloud SDK
*
* @return The cloud SDK installation directory
*/
public Path downloadCloudSdk(Log log) {
try {
ProgressListener progressListener = new NoOpProgressListener();
ConsoleListener consoleListener = new CloudSdkDownloaderConsoleListener(log);
if (!managedCloudSdk.isInstalled()) {
managedCloudSdk.newInstaller().install(progressListener, consoleListener);
}
if (!managedCloudSdk.hasComponent(SdkComponent.APP_ENGINE_JAVA)) {
managedCloudSdk.newComponentInstaller().installComponent(SdkComponent.APP_ENGINE_JAVA, progressListener, consoleListener);
}
if (!managedCloudSdk.isUpToDate()) {
managedCloudSdk.newUpdater().update(progressListener, consoleListener);
}
return managedCloudSdk.getSdkHome();
} catch (IOException | SdkInstallerException | ManagedSdkVersionMismatchException | InterruptedException | CommandExecutionException | CommandExitException | ManagedSdkVerificationException ex) {
throw new RuntimeException(ex);
}
}
Aggregations