@Test public void testOnTemplateURLChangeValidLoadSuccessful() { when(translationService.getTranslation(TemplateParamsFormPresenter_RequiredParamsNotCompletedMessage)).thenReturn(PARAMS_NOT_COMPLETED_MESSAGE); when(view.getTemplateURL()).thenReturn(DEFAULT_OPEN_SHIFT_TEMPLATE_VALUE); when(openShiftClientService.getTemplateModel(DEFAULT_OPEN_SHIFT_TEMPLATE_VALUE)).thenReturn(templateDescriptorModel); presenter.onTemplateURLChange(); verify(view, times(1)).setTemplateURLStatus(FormStatus.VALID); verify(paramsEditorPresenter, times(1)).clear(); verify(view, times(2)).clearRequiredParamsHelpText(); verify(paramsEditorPresenter, times(1)).setItems(managedTemplateParams); verify(view, times(1)).setRequiredParamsHelpText(PARAMS_NOT_COMPLETED_MESSAGE); }
@Test public void testOnRuntimeNameChangeValid() { when(view.getRuntimeName()).thenReturn(RUNTIME_NAME_VALUE); when(openShiftClientService.isValidProjectName(RUNTIME_NAME_VALUE)).thenReturn(true); presenter.onRuntimeNameChange(); verify(view, times(1)).setRuntimeNameStatus(FormStatus.VALID); verify(view, times(1)).clearRuntimeNameHelpText(); verify(presenter, times(1)).onContentChange(); }
@Test public void testBuildParams() { when(view.getRuntimeName()).thenReturn(RUNTIME_NAME_VALUE); when(view.getImageStreamsURL()).thenReturn(DEFAULT_OPEN_SHIFT_IMAGE_STREAMS_VALUE); when(view.getSecretsFileURL()).thenReturn(DEFAULT_OPEN_SHIFT_SECRETS_VALUE); when(view.getTemplateURL()).thenReturn(DEFAULT_OPEN_SHIFT_TEMPLATE_VALUE); when(openShiftClientService.getTemplateModel(DEFAULT_OPEN_SHIFT_TEMPLATE_VALUE)).thenReturn(templateDescriptorModel);
@Test public void testIsComplete() { when(view.getRuntimeName()).thenReturn(EMPTY_STRING); when(view.getImageStreamsURL()).thenReturn(EMPTY_STRING); when(view.getSecretsFileURL()).thenReturn(EMPTY_STRING); presenter.isComplete(Assert::assertFalse); //the runtime name is completed. when(view.getRuntimeName()).thenReturn(RUNTIME_NAME_VALUE); when(openShiftClientService.isValidProjectName(RUNTIME_NAME_VALUE)).thenReturn(true); presenter.onRuntimeNameChange(); presenter.isComplete(Assert::assertFalse); //image streams url is completed when(view.getImageStreamsURL()).thenReturn(DEFAULT_OPEN_SHIFT_IMAGE_STREAMS_VALUE); presenter.isComplete(Assert::assertFalse); //the secrets url is completed when(view.getSecretsFileURL()).thenReturn(DEFAULT_OPEN_SHIFT_SECRETS_VALUE); presenter.isComplete(Assert::assertFalse); //emulate the template loading. when(view.getTemplateURL()).thenReturn(DEFAULT_OPEN_SHIFT_TEMPLATE_VALUE); when(openShiftClientService.getTemplateModel(DEFAULT_OPEN_SHIFT_TEMPLATE_VALUE)).thenReturn(templateDescriptorModel); presenter.onTemplateURLChange(); //the template is loaded, etc, but required parameters are not yet completed. presenter.isComplete(Assert::assertFalse); //complete the required params requiredTemplateParams.forEach(param -> param.setValue("some value")); //the params form must be now completed. presenter.isComplete(Assert::assertTrue); }
@Before public void setUp() { when(popupHelper.getPopupErrorCallback()).thenReturn(errorCallback); exceptionCaptor = ArgumentCaptor.forClass(Throwable.class); initializeParams(); when(templateDescriptorModel.getParams()).thenReturn(allTemplateParams); when(paramsEditorPresenter.getView()).thenReturn(paramsEditorPresenterView); openshiftClientServiceCaller = spy(new CallerMock<>(openShiftClientService)); openShiftClientValidationService = new OpenShiftClientValidationService(openshiftClientServiceCaller); presenter = spy(new TemplateParamsFormPresenter(view, paramsEditorPresenter, translationService, popupHelper, openshiftClientServiceCaller, openShiftClientValidationService)); presenter.init(); verify(view, times(1)).init(presenter); verify(view, times(1)).setParamsEditorPresenter(paramsEditorPresenterView); verify(paramsEditorPresenter, times(1)).setParamChangeHandler(any()); }
@Test public void testInitializeSuccessful() { DefaultSettings defaultSettings = mock(DefaultSettings.class); when(defaultSettings.getValue(DefaultSettings.DEFAULT_OPEN_SHIFT_TEMPLATE)).thenReturn(DEFAULT_OPEN_SHIFT_TEMPLATE_VALUE); when(defaultSettings.getValue(DefaultSettings.DEFAULT_OPEN_SHIFT_IMAGE_STREAMS)).thenReturn(DEFAULT_OPEN_SHIFT_IMAGE_STREAMS_VALUE); when(defaultSettings.getValue(DefaultSettings.DEFAULT_OPEN_SHIFT_SECRETS)).thenReturn(DEFAULT_OPEN_SHIFT_SECRETS_VALUE); when(openShiftClientService.getDefaultSettings()).thenReturn(defaultSettings); when(openShiftClientService.getTemplateModel(DEFAULT_OPEN_SHIFT_TEMPLATE_VALUE)).thenReturn(templateDescriptorModel); presenter.initialise(); verify(view, times(1)).setTemplateURL(DEFAULT_OPEN_SHIFT_TEMPLATE_VALUE); verify(view, times(1)).setImageStreamsURL(DEFAULT_OPEN_SHIFT_IMAGE_STREAMS_VALUE); verify(view, times(1)).setSecretsFileURL(DEFAULT_OPEN_SHIFT_SECRETS_VALUE); }
@Test public void testOnTemplateURLChangeValidLoadFailed() { when(translationService.getTranslation(TemplateParamsFormPresenter_GetTemplateFileConfigError)).thenReturn(GET_TEMPLATE_ERROR_MESSAGE); when(view.getTemplateURL()).thenReturn(DEFAULT_OPEN_SHIFT_TEMPLATE_VALUE); prepareServiceCallerError(openShiftClientService, openshiftClientServiceCaller); presenter.onTemplateURLChange(); verify(view, times(1)).setTemplateURLStatus(FormStatus.ERROR); verify(paramsEditorPresenter, times(1)).clear(); verify(view, times(1)).clearRequiredParamsHelpText(); verify(paramsEditorPresenter, never()).setItems(any()); verify(popupHelper, times(1)).showErrorPopup(GET_TEMPLATE_ERROR_MESSAGE + ": " + SERVICE_CALLER_EXCEPTION_MESSAGE); }
private String getTemplateURL() { return trimOrGetEmpty(view.getTemplateURL()); }
private String getSecretsFileURL() { return trimOrGetEmpty(view.getSecretsFileURL()); }
@Test public void testOnRuntimeNameInvalid() { when(view.getRuntimeName()).thenReturn(RUNTIME_NAME_VALUE); when(openShiftClientService.isValidProjectName(RUNTIME_NAME_VALUE)).thenReturn(false); when(translationService.getTranslation(TemplateParamsFormPresenter_InvalidProjectNameError)).thenReturn(RUNTIME_NAME_ERROR_MESSAGE); presenter.onRuntimeNameChange(); verify(view, times(1)).setRuntimeNameStatus(FormStatus.ERROR); verify(view, times(1)).setRuntimeNameHelpText(RUNTIME_NAME_ERROR_MESSAGE); verify(presenter, times(1)).onContentChange(); }
@PostConstruct public void init() { view.init(this); view.setParamsEditorPresenter(paramsEditorPresenter.getView()); paramsEditorPresenter.setParamChangeHandler((paramName, newValue, oldValue) -> onParamChange()); }
private void updateRequiredParamsHelpText() { view.clearRequiredParamsHelpText(); if (!isParamsValid()) { view.setRequiredParamsHelpText(translationService.getTranslation(TemplateParamsFormPresenter_RequiredParamsNotCompletedMessage)); } }
@Override public void onSuccess() { view.setRuntimeNameStatus(FormStatus.VALID); view.clearRuntimeNameHelpText(); runtimeNameValid = true; onContentChange(); }
private String getImageStreamsURL() { return trimOrGetEmpty(view.getImageStreamsURL()); }
@Test public void testOnSecretsFileURLChangeValid() { when(view.getSecretsFileURL()).thenReturn(DEFAULT_OPEN_SHIFT_SECRETS_VALUE); presenter.onSecretsFileURLChange(); verify(view, times(1)).setSecretsFileURLStatus(FormStatus.VALID); verify(presenter, times(1)).onContentChange(); }
@Test public void testOnTemplateURLChangeInvalid() { when(view.getTemplateURL()).thenReturn(EMPTY_STRING); presenter.onTemplateURLChange(); verify(view, times(1)).setTemplateURLStatus(FormStatus.ERROR); verify(paramsEditorPresenter, times(1)).clear(); verify(view, times(1)).clearRequiredParamsHelpText(); }
@Test public void testOnImageStreamsURLChangeValid() { when(view.getImageStreamsURL()).thenReturn(DEFAULT_OPEN_SHIFT_IMAGE_STREAMS_VALUE); presenter.onImageStreamsURLChange(); verify(view, times(1)).setImageStreamsURLStatus(FormStatus.VALID); verify(presenter, times(1)).onContentChange(); }
private String getRuntimeName() { return view.getRuntimeName(); }
protected void onImageStreamsURLChange() { if (getImageStreamsURL().isEmpty()) { view.setImageStreamsURLStatus(FormStatus.ERROR); } else { view.setImageStreamsURLStatus(FormStatus.VALID); } onContentChange(); }
@Test public void testClear() { presenter.clear(); verify(paramsEditorPresenter, times(1)).clear(); verify(view, times(1)).clearRequiredParamsHelpText(); }