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.WebArchive
deploy()
This is the Arquillian deploy method that controls the contents of the war that contains all the tests.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.void
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.void
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.void
Tests the basic class asynchronous Bulkhead with defaulting value parameter.void
Tests the queueing class asynchronous Bulkhead with value parameter 10.void
Test that an asynchronous method which returns an incomplete CompletionStage still reserves a slot in the bulkheadvoid
Tests the method asynchronous Bulkhead(10).void
Tests the method asynchronous Bulkhead(3).void
Tests the basic method asynchronous Bulkhead with defaulting value parameter.void
Tests 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
bulkheadMethod
should be a reference to a method annotated withBulkhead
andAsynchronous
which accepts aBarrier
and callsBarrier.await()
.- Parameters:
maxRunning
- expected number of tasks permitted to runmaxQueued
- expected number of tasks permitted to queuebulkheadMethod
- a reference to the annotated method
-