/** * Run the following test case. * * <ol> * <li>Run a single action * <li>Return logical failure, canDoAction=true. * <li>Get succeeded is false. * <li>IsSyncronious is true. * <li>showDialog is true. * <li>Check to make sure the failure event is fired * <li>Check to make sure the callback is called * </ol> * * Test just the handler method. */ @Test public void testHandleActionResult_SucceededFalse() { Object testState = new Object(); VdcActionParametersBase testParameters = new VdcActionParametersBase(); VdcReturnValueBase returnValue = new VdcReturnValueBase(); returnValue.setCanDoAction(true); returnValue.setIsSyncronious(true); returnValue.setSucceeded(false); // Yes this is the default, but to make sure. VdcFault testFault = new VdcFault(); returnValue.setFault(testFault); frontend.handleActionResult( VdcActionType.AddDisk, testParameters, returnValue, mockActionCallback, testState, true); verify(mockActionCallback).executed(callbackParam.capture()); assertEquals( "Parameters should match", testParameters, callbackParam.getValue().getParameters()); // $NON-NLS-1$ assertEquals( "Result should match", returnValue, callbackParam.getValue().getReturnValue()); // $NON-NLS-1$ assertEquals( "States should match", testState, callbackParam.getValue().getState()); // $NON-NLS-1$ assertEquals( "Action type should match", VdcActionType.AddDisk, // $NON-NLS-1$ callbackParam.getValue().getActionType()); verify(mockEventsHandler).runActionExecutionFailed(VdcActionType.AddDisk, testFault); }
/** * Run the following test case. * * <ol> * <li>Run a single action * <li>Return logical failure, canDoAction=false. * <li>isRaiseErrorModalPanel returns true. * <li>Check to make sure the failure event is fired * <li>Check to make sure the callback is called * </ol> * * Test just the handler method. */ @Test public void testHandleActionResult_isRaiseErrorModalPanel_withActionMessageSizeGreaterThan1() { VdcFault testFault = new VdcFault(); ArrayList<String> translatedErrors = new ArrayList<String>( Arrays.asList( "Translated Message 1", "Translated Message 2")); // $NON-NLS-1$ //$NON-NLS-2$ when(mockEventsHandler.isRaiseErrorModalPanel(VdcActionType.AddDisk, testFault)) .thenReturn(true); when(mockCanDoActionErrorsTranslator.translateErrorText(any(ArrayList.class))) .thenReturn(translatedErrors); Object testState = new Object(); VdcActionParametersBase testParameters = new VdcActionParametersBase(); VdcReturnValueBase returnValue = new VdcReturnValueBase(); returnValue.setFault(testFault); returnValue.setDescription("This is a description"); // $NON-NLS-1$ returnValue.getCanDoActionMessages().add("Message 1"); // $NON-NLS-1$ returnValue.getCanDoActionMessages().add("Message 2"); // $NON-NLS-1$ returnValue.setCanDoAction(false); // Yes this is the default, but to make sure. frontend.handleActionResult( VdcActionType.AddDisk, testParameters, returnValue, mockActionCallback, testState, true); verify(mockActionCallback).executed(callbackParam.capture()); assertEquals( "Parameters should match", testParameters, callbackParam.getValue().getParameters()); // $NON-NLS-1$ assertEquals( "Result should match", returnValue, callbackParam.getValue().getReturnValue()); // $NON-NLS-1$ assertEquals( "States should match", testState, callbackParam.getValue().getState()); // $NON-NLS-1$ assertEquals( "Action type should match", VdcActionType.AddDisk, // $NON-NLS-1$ callbackParam.getValue().getActionType()); ArgumentCaptor<FrontendFailureEventArgs> failureCaptor = ArgumentCaptor.forClass(FrontendFailureEventArgs.class); verify(mockFrontendFailureEvent).raise(eq(Frontend.class), failureCaptor.capture()); assertEquals( "Text should match", "Translated Message 1", //$NON-NLS-1$ //$NON-NLS-2$ failureCaptor.getValue().getMessages().get(0).getText()); assertEquals( "Text should match", "Translated Message 2", //$NON-NLS-1$ //$NON-NLS-2$ failureCaptor.getValue().getMessages().get(1).getText()); }
/** * Run the following test case. * * <ol> * <li>Run a single action * <li>Return logical failure, canDoAction=false. * <li>isRaiseErrorModalPanel returns true. * <li>Check to make sure the failure event is fired * <li>Check to make sure the callback is called * </ol> * * Test just the handler method. */ @Test public void testHandleActionResult_isRaiseErrorModalPanel_actionMessageSize_1_or_less() { VdcFault testFault = new VdcFault(); when(mockEventsHandler.isRaiseErrorModalPanel(VdcActionType.AddDisk, testFault)) .thenReturn(true); Object testState = new Object(); VdcActionParametersBase testParameters = new VdcActionParametersBase(); VdcReturnValueBase returnValue = new VdcReturnValueBase(); returnValue.setFault(testFault); returnValue.setDescription("This is a description"); // $NON-NLS-1$ returnValue.setCanDoAction(false); // Yes this is the default, but to make sure. frontend.handleActionResult( VdcActionType.AddDisk, testParameters, returnValue, mockActionCallback, testState, true); verify(mockActionCallback).executed(callbackParam.capture()); assertEquals( "Parameters should match", testParameters, callbackParam.getValue().getParameters()); // $NON-NLS-1$ assertEquals( "Result should match", returnValue, callbackParam.getValue().getReturnValue()); // $NON-NLS-1$ assertEquals( "States should match", testState, callbackParam.getValue().getState()); // $NON-NLS-1$ assertEquals( "Action type should match", VdcActionType.AddDisk, // $NON-NLS-1$ callbackParam.getValue().getActionType()); ArgumentCaptor<FrontendFailureEventArgs> failureCaptor = ArgumentCaptor.forClass(FrontendFailureEventArgs.class); verify(mockFrontendFailureEvent).raise(eq(Frontend.class), failureCaptor.capture()); assertEquals( "Descriptions should match", "This is a description", //$NON-NLS-1$ //$NON-NLS-2$ failureCaptor.getValue().getMessages().get(0).getDescription()); assertEquals( "Text should match", NO_MESSAGE, //$NON-NLS-1$ //$NON-NLS-2$ failureCaptor.getValue().getMessages().get(0).getText()); }
/** * Run the following test case. * * <ol> * <li>Run a single action * <li>Return logical failure, canDoAction=false. * <li>Check to make sure the failure event is fired * <li>Check to make sure the callback is called * </ol> * * Test just the handler method. */ @Test public void testHandleActionResult() { Object testState = new Object(); VdcActionParametersBase testParameters = new VdcActionParametersBase(); VdcReturnValueBase returnValue = new VdcReturnValueBase(); returnValue.setCanDoAction(false); // Yes this is the default, but to make sure. frontend.handleActionResult( VdcActionType.AddDisk, testParameters, returnValue, mockActionCallback, testState, false); verify(mockActionCallback).executed(callbackParam.capture()); assertEquals( "Parameters should match", testParameters, callbackParam.getValue().getParameters()); // $NON-NLS-1$ assertEquals( "Result should match", returnValue, callbackParam.getValue().getReturnValue()); // $NON-NLS-1$ assertEquals( "States should match", testState, callbackParam.getValue().getState()); // $NON-NLS-1$ assertEquals( "Action type should match", VdcActionType.AddDisk, // $NON-NLS-1$ callbackParam.getValue().getActionType()); }