@Test public void testNotifyIfCloudSdkNotSupported_nullSdkPath() { checker.notifyIfVersionOutOfDate(); verify(checker, times(0)).showNotification(anyString(), anyString()); } }
@Test public void testNotifyIfCloudSdkNotSupported_versionParseError() throws CloudSdkNotFoundException, CloudSdkVersionFileException { when(cloudSdkValidator.buildCloudSdk()).thenReturn(cloudSdk); when(cloudSdk.getVersion()).thenThrow(new CloudSdkVersionFileException("file error")); checker.notifyIfVersionParseError(); verify(checker, times(1)) .showNotification( "Unrecognized Cloud SDK Version", "<p>Operations may have unintended " + "results. You can install the Cloud SDK manually and set the path " + "via:<p><p>Settings -> Google -> Cloud Sdk -> Use a custom local " + "installation</p>"); }
@Override public void notifyIfVersionOutOfDate() { CloudSdkValidator sdkValidator = CloudSdkValidator.getInstance(); if (sdkValidator .validateCloudSdk() .contains(CloudSdkValidationResult.CLOUD_SDK_NOT_MINIMUM_VERSION)) { String message = "<p>" + CloudSdkValidationResult.CLOUD_SDK_NOT_MINIMUM_VERSION.getMessage() + "</p>"; showNotification( CloudSdkMessageBundle.message("appengine.cloudsdk.version.support.title"), message); } }
@Override public void notifyIfVersionParseError() { CloudSdkValidator sdkValidator = CloudSdkValidator.getInstance(); try { CloudSdk cloudSdk = sdkValidator.buildCloudSdk(); // Try to get the version; if fails with exception, then notify the user. cloudSdk.getVersion(); } catch (CloudSdkNotFoundException ex) { // Cloud SDK not found. Don't notify. } catch (CloudSdkVersionFileException ex) { String message = "<p>" + CloudSdkValidationResult.CLOUD_SDK_VERSION_FILE_ERROR.getMessage() + "</p>"; showNotification( CloudSdkMessageBundle.message("appengine.cloudsdk.version.file.error.title"), message); UsageTrackerService.getInstance() .trackEvent(GctTracking.SDK_VERSION_PARSE_ERROR) .addMetadata(GctTracking.METADATA_LABEL_KEY, ex.getMessage()) .ping(); } }
@Test public void testNotifyIfCloudSdkNotSupported_sdkNotFound() { when(cloudSdkValidator.validateCloudSdk()) .thenReturn(Sets.newHashSet(CloudSdkValidationResult.CLOUD_SDK_NOT_FOUND)); checker.notifyIfVersionOutOfDate(); verify(checker, times(0)).showNotification(anyString(), anyString()); }
@Test public void testNotifyIfCloudSdkNotSupported_versionOutOfDateError() { when(cloudSdkValidator.validateCloudSdk()) .thenReturn(Sets.newHashSet(CloudSdkValidationResult.CLOUD_SDK_NOT_MINIMUM_VERSION)); checker.notifyIfVersionOutOfDate(); verify(checker, times(1)) .showNotification( "Google Cloud SDK Update Required", "<p>The Cloud SDK is out of date. Version " + CloudSdk.MINIMUM_VERSION + " is the minimum required version for use with the " + "Google Cloud Tools Plugin. To update, run \"gcloud components update\".</p>"); }
@Test public void testNotifyIfCloudSdkNotSupported_isSupported() { when(cloudSdkValidator.validateCloudSdk()).thenReturn(new HashSet<>()); checker.notifyIfVersionOutOfDate(); verify(checker, times(0)).showNotification(anyString(), anyString()); }