Package 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
Modifier and Type
Class
Description
`static final 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
Description
`BulkheadFutureTest()`

## Method Summary

Modifier and Type
Method
Description
`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 Details

### BulkheadFutureTest

public BulkheadFutureTest()

## Method Details

### 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.