@VisibleForTesting protected void checkSdk(String path) { String message = buildSdkMessage(path, true /*htmlEnabled*/); if (!StringUtil.isEmpty(message)) { showWarning(message); } else { hideWarning(); } }
@Test public void testCheckSdk_nullSdk() { when(cloudSdkValidator.isValidCloudSdk(null)).thenReturn(false); panel.checkSdk(null); verify(panel, times(1)).showWarning(eq(MISSING_SDK_DIR_WARNING)); verify(panel, times(0)).hideWarning(); }
@Test public void testCheckSdk_emptySdk() { when(cloudSdkValidator.isValidCloudSdk("")).thenReturn(false); panel.checkSdk(""); verify(panel, times(1)).showWarning(eq(MISSING_SDK_DIR_WARNING)); verify(panel, times(0)).hideWarning(); }
@Test public void testCheckSdk_validSdk() { when(cloudSdkValidator.isValidCloudSdk("/non/empty/path")).thenReturn(true); setValidateCloudSdkResponse(); panel.checkSdk("/non/empty/path"); verify(panel, times(0)).showWarning(any(String.class)); verify(panel, times(1)).hideWarning(); }
@Test public void testCheckSdk_invalidSdk() { setValidateCloudSdkResponse(CloudSdkValidationResult.CLOUD_SDK_NOT_FOUND); when(cloudSdkValidator.isValidCloudSdk("/non/empty/path")).thenReturn(false); panel.checkSdk("/non/empty/path"); verify(panel, times(1)).showWarning(eq(INVALID_SDK_DIR_WARNING)); verify(panel, times(0)).hideWarning(); }
@Test public void testCheckSdk_unsupportedSdk() { setValidateCloudSdkResponse(CloudSdkValidationResult.CLOUD_SDK_NOT_MINIMUM_VERSION); when(cloudSdkValidator.isValidCloudSdk("/non/empty/path")).thenReturn(false); panel.checkSdk("/non/empty/path"); verify(panel, times(1)) .showWarning(eq(CloudSdkValidationResult.CLOUD_SDK_NOT_MINIMUM_VERSION.getMessage())); verify(panel, times(0)).hideWarning(); }
@Test public void testCheckSdk_multipleValidationResults() { setValidateCloudSdkResponse( CloudSdkValidationResult.CLOUD_SDK_NOT_MINIMUM_VERSION, CloudSdkValidationResult.CLOUD_SDK_NOT_FOUND); when(cloudSdkValidator.isValidCloudSdk("/non/empty/path")).thenReturn(false); String expectedMessage = INVALID_SDK_DIR_WARNING + "<p>" + CloudSdkValidationResult.CLOUD_SDK_NOT_MINIMUM_VERSION.getMessage() + "</p>"; panel.checkSdk("/non/empty/path"); verify(panel, times(1)).showWarning(eq(expectedMessage)); verify(panel, times(0)).hideWarning(); }