org.eclipse.microprofile.fault.tolerance.tck.bulkhead

## Class BulkheadFutureTest

- java.lang.Object
- - org.jboss.arquillian.testng.Arquillian
  - - org.eclipse.microprofile.fault.tolerance.tck.bulkhead.BulkheadFutureTest

All Implemented Interfaces:
  org.testng.IHookable, org.testng.ITestNGListener

    public class BulkheadFutureTest
    extends org.jboss.arquillian.testng.Arquillian

This set of tests will test correct operation on the relevant methods of the Future object that is returned from the business method of a Asynchronous Method or Class.

Author:
  Gordon Hutchison, carlosdlr, Andrew Rouse

### Nested Class Summary

Nested Classes
`static class` `BulkheadFutureTest.TestFuture`

### Nested classes/interfaces inherited from class org.jboss.arquillian.testng.Arquillian

`org.jboss.arquillian.testng.Arquillian.UpdateResultListener`

### Field Summary

### Fields inherited from class org.jboss.arquillian.testng.Arquillian

`ARQUILLIAN_DATA_PROVIDER`

### Constructor Summary

Constructors
Constructor and Description
`BulkheadFutureTest()`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`static org.jboss.shrinkwrap.api.spec.WebArchive` `deploy()`
`void` `testBulkheadClassAsynchFutureDoneAfterGet()` Tests that the Future that is returned from a asynchronous bulkhead can be queried for Done OK after a goodpath get with timeout and also multiple gets can be called ok.
`void` `testBulkheadClassAsynchFutureDoneWithoutGet()` Tests that the Future that is returned from a asynchronous bulkhead can be queried for Done OK when get() is not called.
`void` `testBulkheadMethodAsynchFutureDoneAfterGet()` Tests that the Future that is returned from an asynchronous bulkhead method can be queried for Done OK before and after a goodpath .get()
`void` `testBulkheadMethodAsynchFutureDoneWithoutGet()` Tests that the Future that is returned from a asynchronous bulkhead method can be queried for Done OK even if the user never calls get() to drive the backend (i.e.

### Methods inherited from class org.jboss.arquillian.testng.Arquillian

`arquillianAfterClass, arquillianAfterSuite, arquillianAfterTest, arquillianArgumentProvider, arquillianBeforeClass, arquillianBeforeSuite, arquillianBeforeTest, run`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### BulkheadFutureTest

    public BulkheadFutureTest()

### Method Detail

#### deploy

    @Deployment
    public static org.jboss.shrinkwrap.api.spec.WebArchive deploy()

#### testBulkheadMethodAsynchFutureDoneAfterGet

    public void testBulkheadMethodAsynchFutureDoneAfterGet()
                                                    throws InterruptedException,
                                                           ExecutionException,
                                                           TimeoutException

Tests that the Future that is returned from an asynchronous bulkhead method can be queried for Done OK before and after a goodpath .get()

Throws:
  `InterruptedException`
  `ExecutionException`
  `TimeoutException`

#### testBulkheadMethodAsynchFutureDoneWithoutGet

    public void testBulkheadMethodAsynchFutureDoneWithoutGet()

Tests that the Future that is returned from a asynchronous bulkhead method can be queried for Done OK even if the user never calls get() to drive the backend (i.e. the method is called non-lazily)

#### testBulkheadClassAsynchFutureDoneAfterGet

    public void testBulkheadClassAsynchFutureDoneAfterGet()
                                                   throws InterruptedException,
                                                          ExecutionException,
                                                          TimeoutException

Tests that the Future that is returned from a asynchronous bulkhead can be queried for Done OK after a goodpath get with timeout and also multiple gets can be called ok. This test is for the annotation at a Class level.

Throws:
  `InterruptedException`
  `ExecutionException`
  `TimeoutException`

#### testBulkheadClassAsynchFutureDoneWithoutGet

    public void testBulkheadClassAsynchFutureDoneWithoutGet()

Tests that the Future that is returned from a asynchronous bulkhead can be queried for Done OK when get() is not called. This test is for the annotation at a Class level.