Class BulkheadAsynchTest
java.lang.Object
org.jboss.arquillian.testng.Arquillian
org.eclipse.microprofile.fault.tolerance.tck.bulkhead.BulkheadAsynchTest
- All Implemented Interfaces:
org.testng.IHookable,org.testng.ITestNGListener
public class BulkheadAsynchTest
extends org.jboss.arquillian.testng.Arquillian
- Author:
- Gordon Hutchison, Andrew Rouse, carlosdlr
-
Nested Class Summary
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 -
Method Summary
Modifier and TypeMethodDescriptionstatic org.jboss.shrinkwrap.api.spec.WebArchivedeploy()This is the Arquillian deploy method that controls the contents of the war that contains all the tests.static voidtestBulkhead(int maxRunning, int maxQueued, Function<Barrier, Future<?>> bulkheadMethod) Conducts a standard test to ensure that an asynchronous bulkhead with no other annotations works correctly.voidTests the class asynchronous Bulkhead(10) This test will check that 10 and no more than 10 asynchronous calls are allowed into a method that is a member of a@Bulkhead(10)Class.voidTests the class asynchronous Bulkhead(3) This test will check that 3 and no more than 3 asynchronous calls are allowed into a method that is a member of a@Bulkhead(3)Class.voidTests the basic class asynchronous Bulkhead with defaulting value parameter.voidTests the queueing class asynchronous Bulkhead with value parameter 10.voidTest that an asynchronous method which returns an incomplete CompletionStage still reserves a slot in the bulkheadvoidTests the method asynchronous Bulkhead(10).voidTests the method asynchronous Bulkhead(3).voidTests the basic method asynchronous Bulkhead with defaulting value parameter.voidTests the queueing method asynchronous Bulkhead with value parameter 10.Methods inherited from class org.jboss.arquillian.testng.Arquillian
arquillianAfterClass, arquillianAfterSuite, arquillianAfterTest, arquillianArgumentProvider, arquillianBeforeClass, arquillianBeforeSuite, arquillianBeforeTest, run
-
Constructor Details
-
BulkheadAsynchTest
public BulkheadAsynchTest()
-
-
Method Details
-
deploy
@Deployment public static org.jboss.shrinkwrap.api.spec.WebArchive deploy()This is the Arquillian deploy method that controls the contents of the war that contains all the tests.- Returns:
- the test war "ftBulkheadAsynchTest.war"
-
testBulkheadClassAsynchronous10
public void testBulkheadClassAsynchronous10()Tests the class asynchronous Bulkhead(10) This test will check that 10 and no more than 10 asynchronous calls are allowed into a method that is a member of a@Bulkhead(10)Class. -
testBulkheadMethodAsynchronous10
public void testBulkheadMethodAsynchronous10()Tests the method asynchronous Bulkhead(10). This test will check that 10 and no more than 10 asynchronous calls are allowed into a method that has an individual@Bulkhead(10)annotation -
testBulkheadClassAsynchronous3
public void testBulkheadClassAsynchronous3()Tests the class asynchronous Bulkhead(3) This test will check that 3 and no more than 3 asynchronous calls are allowed into a method that is a member of a@Bulkhead(3)Class. -
testBulkheadMethodAsynchronous3
public void testBulkheadMethodAsynchronous3()Tests the method asynchronous Bulkhead(3). This test will check that 3 and no more than 3 asynchronous calls are allowed into a method that has an individual Bulkhead(3) annotation -
testBulkheadClassAsynchronousDefault
public void testBulkheadClassAsynchronousDefault()Tests the basic class asynchronous Bulkhead with defaulting value parameter. This will check that exactly 10 calls can be in the bulkhead at once. -
testBulkheadMethodAsynchronousDefault
public void testBulkheadMethodAsynchronousDefault()Tests the basic method asynchronous Bulkhead with defaulting value parameter. This will check that more than 1 but less than 10 calls get into the bulkhead at once. -
testBulkheadClassAsynchronousQueueing5
public void testBulkheadClassAsynchronousQueueing5()Tests the queueing class asynchronous Bulkhead with value parameter 10. This will check that more than 1 but less than 5 calls get into the bulkhead at once but that 5 threads can queue to get into the bulkhead -
testBulkheadMethodAsynchronousQueueing5
public void testBulkheadMethodAsynchronousQueueing5()Tests the queueing method asynchronous Bulkhead with value parameter 10. This will check that more than 1 but less than 5 calls get into the bulkhead at once but that 5 threads can queue to get into the bulkhead -
testBulkheadCompletionStage
public void testBulkheadCompletionStage() throws InterruptedException, ExecutionException, TimeoutExceptionTest that an asynchronous method which returns an incomplete CompletionStage still reserves a slot in the bulkhead -
testBulkhead
public static void testBulkhead(int maxRunning, int maxQueued, Function<Barrier, Future<?>> bulkheadMethod) Conducts a standard test to ensure that an asynchronous bulkhead with no other annotations works correctly. It asserts that the correct number of tasks are allowed to run and to queue and that when a task in the bulkhead completes a new task can be run.The
bulkheadMethodshould be a reference to a method annotated withBulkheadandAsynchronouswhich accepts aBarrierand callsBarrier.await().- Parameters:
maxRunning- expected number of tasks permitted to runmaxQueued- expected number of tasks permitted to queuebulkheadMethod- a reference to the annotated method
-