use of com.google.cloud.tools.managedcloudsdk.components.SdkUpdater 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.components.SdkUpdater in project google-cloud-intellij by GoogleCloudPlatform.
the class ManagedCloudSdkServiceTest method cancelled_update_keepsSdkStatus_available.
@Test
public void cancelled_update_keepsSdkStatus_available() throws Exception {
makeMockSdkInstalled(MOCK_SDK_PATH);
emulateMockSdkUpdateProcess();
SdkUpdater mockUpdater = mockManagedCloudSdk.newUpdater();
doThrow(new CancellationException()).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.components.SdkUpdater in project google-cloud-intellij by GoogleCloudPlatform.
the class ManagedCloudSdkServiceTest method interrupted_update_keepsSdkStatus_available.
@Test
public void interrupted_update_keepsSdkStatus_available() throws Exception {
makeMockSdkInstalled(MOCK_SDK_PATH);
emulateMockSdkUpdateProcess();
SdkUpdater mockUpdater = mockManagedCloudSdk.newUpdater();
doThrow(new InterruptedException()).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.components.SdkUpdater 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.components.SdkUpdater in project google-cloud-intellij by GoogleCloudPlatform.
the class ManagedCloudSdkServiceTest method cancelled_update_showsNotification.
@Test
public void cancelled_update_showsNotification() throws Exception {
makeMockSdkInstalled(MOCK_SDK_PATH);
emulateMockSdkUpdateProcess();
SdkUpdater mockUpdater = mockManagedCloudSdk.newUpdater();
doThrow(new CancellationException()).when(mockUpdater).update(any(), any());
sdkService.update();
verify(mockUiPresenter).notifyManagedSdkJobCancellation(ManagedSdkJobType.UPDATE);
}
Aggregations