Beispiel #1
0
  /** Test methods for handling of fault messages. */
  @Test(timeout = 1000)
  public void testFaultHandling() {
    FBindingOperationInputMessage input = new FBindingOperationInputMessage("input");
    FBindingOperationOutputMessage output = new FBindingOperationOutputMessage("output");
    FBindingOperation bindingOperation =
        FBindingOperation.factory.create("foo", FOperationType.ONE_WAY, input, output);

    FBindingOperationFaultMessage firstFault = new FBindingOperationFaultMessage("firstFault");
    FBindingOperationFaultMessage secondFault = new FBindingOperationFaultMessage("secondFault");

    // Test addFaultMessage()
    assertEquals("Fault message count must be zero.", 0, bindingOperation.faultMessageCount());
    bindingOperation.addFaultMessage(firstFault);
    assertEquals("Fault message count must be one.", 1, bindingOperation.faultMessageCount());
    bindingOperation.addFaultMessage(secondFault);
    assertEquals("Fault message count must be two.", 2, bindingOperation.faultMessageCount());

    // Reset binding operation object
    bindingOperation =
        FBindingOperation.factory.create("bar", FOperationType.ONE_WAY, input, output);

    // Test addFaultMessages()
    HashSet<FBindingOperationFaultMessage> faults = new HashSet<FBindingOperationFaultMessage>();
    faults.add(firstFault);
    faults.add(secondFault);
    assertEquals("Fault message count must be zero.", 0, bindingOperation.faultMessageCount());
    bindingOperation.addFaultMessages(faults);
    assertEquals("Fault message count must be two.", 2, bindingOperation.faultMessageCount());

    // Reset binding operation object
    bindingOperation =
        FBindingOperation.factory.create("foobar", FOperationType.ONE_WAY, input, output);

    // Test setFaultMessages()
    assertEquals("Fault message count must be zero.", 0, bindingOperation.faultMessageCount());
    bindingOperation.setFaultMessages(faults);
    assertEquals("Fault message count must be two.", 2, bindingOperation.faultMessageCount());

    // Test getFaultMessages()
    Iterator iterator = bindingOperation.getFaultMessages().iterator();
    while (iterator.hasNext()) {
      FBindingOperationFaultMessage fault = (FBindingOperationFaultMessage) iterator.next();

      assertTrue(
          "Binding operation must contain fault message that was added previously.",
          faults.contains(fault));
    }

    // Test getFaultMessage()
    assertNotNull(
        "Binding operation must contain a fault message named 'firstFault'.",
        bindingOperation.getFaultMessage("firstFault"));
    assertNull(
        "Binding operation must not contait a fault message named 'thirdFault'.",
        bindingOperation.getFaultMessage("thirdFault"));
  }