Ejemplo n.º 1
0
  /**
   * Tests executing of {@link Component#completeStartOrProcessInputsAfterVerificationDone()} in
   * case results are rejected.
   *
   * @throws ComponentExecutionException on unexpected error
   * @throws ComponentException on unexpected error
   * @throws InterruptedException on unexpected error
   * @throws ExecutionException on unexpected error
   */
  @Test(timeout = TEST_TIMEOUT_500_MSEC)
  public void testCompleteVerificationResultsRejected()
      throws ComponentExecutionException, ComponentException, InterruptedException,
          ExecutionException {

    ComponentExecutionRelatedInstances compExeRelatedInstancesStub =
        createComponentExecutionRelatedInstancesStub(true);

    Component compMock = EasyMock.createStrictMock(Component.class);
    compMock.completeStartOrProcessInputsAfterVerificationDone();
    EasyMock.expectLastCall();
    EasyMock.replay(compMock);
    compExeRelatedInstancesStub.component.set(compMock);

    ComponentExecutionStorageBridge compExeStorageBridgeMock =
        EasyMock.createStrictMock(ComponentExecutionStorageBridge.class);
    compExeStorageBridgeMock.setComponentExecutionFinished(FinalComponentRunState.RESULTS_REJECTED);
    EasyMock.expectLastCall();
    EasyMock.replay(compExeStorageBridgeMock);
    compExeRelatedInstancesStub.compExeStorageBridge = compExeStorageBridgeMock;

    compExeRelatedInstancesStub.compExeScheduler = createComponentExecutionSchedulerMock(false);

    ConsoleRowsSender consoleRowsSenderMock = createConsoleRowsSenderMock(null, null);
    compExeRelatedInstancesStub.consoleRowsSender = consoleRowsSenderMock;

    ComponentExecutionType compExeType = ComponentExecutionType.CompleteVerification;
    compExeType.setFinalComponentStateAfterRun(FinalComponentRunState.RESULTS_REJECTED);
    ComponentExecutor compExecutor =
        new ComponentExecutor(compExeRelatedInstancesStub, compExeType);
    compExecutor.bindComponentExecutionPermitsService(createComponentExecutionPermitServiceMock());

    compExecutor.executeByConsideringLimitations();

    assertFalse(compExeRelatedInstancesStub.compExeRelatedStates.isComponentCancelled.get());
    EasyMock.verify(compMock);
    EasyMock.verify(compExeStorageBridgeMock);
    EasyMock.verify(consoleRowsSenderMock);
  }