Package com.consol.citrus.dsl.junit
Class JUnit4CitrusTestDesigner
- java.lang.Object
-
- org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests
-
- com.consol.citrus.junit.AbstractJUnit4CitrusTest
-
- com.consol.citrus.dsl.junit.JUnit4CitrusTest
-
- com.consol.citrus.dsl.junit.JUnit4CitrusTestDesigner
-
- All Implemented Interfaces:
TestDesigner
,CitrusFrameworkMethod.Runner
,TestCaseBuilder
,org.springframework.beans.factory.Aware
,org.springframework.context.ApplicationContextAware
public class JUnit4CitrusTestDesigner extends JUnit4CitrusTest implements TestDesigner
JUnit Citrus test provides Java DSL access to builder pattern methods in CitrusTestDesigner by simple method delegation.- Since:
- 2.3
- Author:
- Christoph Deppisch
-
-
Field Summary
-
Fields inherited from class com.consol.citrus.junit.AbstractJUnit4CitrusTest
citrus, log
-
-
Constructor Summary
Constructors Constructor Description JUnit4CitrusTestDesigner()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
action(TestAction testAction)
Adds a custom test action implementation.void
action(TestActionBuilder<?> builder)
Adds a custom test action implementation.AntRunAction.Builder
antrun(String buildFilePath)
Creates a new ANT run action definition for further configuration.ApplyTestBehaviorAction.Builder
applyBehavior(TestBehavior behavior)
Apply test apply with all test actions, finally actions and test variables defined in given apply.Template.Builder
applyTemplate(String name)
Adds template container with nested test actions.Assert.Builder
assertException()
Assert exception to happen in nested test action.AssertSoapFaultBuilder
assertSoapFault()
Assert SOAP fault during action execution.Async.Builder
async()
Adds async container with nested test actions.void
author(String author)
CamelRouteActionBuilder
camel()
Creates a new Camel route action.Catch.Builder
catchException()
Action catches possible exceptions in nested test actions.Conditional.Builder
conditional()
Adds conditional container with nested test actions.protected void
configure()
Main entrance method for builder pattern usage.<T extends TestActionContainer,B extends TestActionContainerBuilder<T,B>>
TestActionContainerBuilder<T,B>container(T container)
Prepare and add a custom container implementation.protected TestDesigner
createTestDesigner(CitrusFrameworkMethod frameworkMethod, TestContext context)
Creates new test designer instance for this test method.CreateVariablesAction.Builder
createVariable(String variableName, String value)
Action creating a new test variable during a test.void
creationDate(Date date)
void
description(String description)
DockerExecuteActionBuilder
docker()
Creates a new docker execute action.FinallySequence.Builder
doFinally()
Adds sequence of test actions to finally block.EchoAction.Builder
echo(String message)
Creates a new echo action.FailAction.Builder
fail(String message)
Creates a new fail action.TestCase
getTestCase()
Constructs the test case to execute.protected Map<String,Object>
getVariables()
Get the test variables.GroovyAction.Builder
groovy(String script)
Creates a new groovy action definition with script code.GroovyAction.Builder
groovy(org.springframework.core.io.Resource scriptResource)
Creates a new groovy action definition with script file resource.void
groups(String[] groups)
HttpActionBuilder
http()
InputAction.Builder
input()
Creates a new input action.protected void
invokeTestMethod(CitrusFrameworkMethod frameworkMethod, TestCase testCase, TestContext context)
Invokes test method based on designer or runner environment.protected boolean
isDesignerMethod(Method method)
Searches for method parameter of type test designer.protected boolean
isRunnerMethod(Method method)
Searches for method parameter of type test runner.Iterate.Builder
iterate()
Adds iterate container with nested test actions.JavaAction.Builder
java(Class<?> clazz)
Creates a new Java action definition from Java class.JavaAction.Builder
java(Object instance)
Creates a new Java action definition from Java object instance.JavaAction.Builder
java(String className)
Creates a new Java action definition from class name.KubernetesExecuteActionBuilder
kubernetes()
Creates a new kubernetes execute action.LoadPropertiesAction.Builder
load(String filePath)
Creates a new load properties action.void
name(String name)
void
packageName(String packageName)
Parallel.Builder
parallel()
Run nested test actions in parallel to each other using multiple threads.ExecutePLSQLAction.Builder
plsql(DataSource dataSource)
Creates a new executePLSQL action definition for further configuration.PurgeMessageChannelActionBuilder
purgeChannels()
Creates a new purge message channel action definition for further configuration.PurgeEndpointAction.Builder
purgeEndpoints()
Creates a new purge message endpoint action definition for further configuration.PurgeJmsQueuesActionBuilder
purgeQueues()
Creates a new purge jms queues action definition for further configuration.ExecuteSQLQueryAction.Builder
query(DataSource dataSource)
Creates a new executesqlquery action definition for further configuration.ReceiveMessageActionBuilder<?>
receive(Endpoint messageEndpoint)
Creates receive message action definition with message endpoint instance.ReceiveMessageActionBuilder<?>
receive(String messageEndpointName)
Creates receive message action definition with messsage endpoint name.ReceiveTimeoutAction.Builder
receiveTimeout(Endpoint messageEndpoint)
Creates a new receive timeout action definition for further configuration.ReceiveTimeoutAction.Builder
receiveTimeout(String messageEndpointName)
Creates a new receive timeout action definition from message endpoint name as String.RepeatUntilTrue.Builder
repeat()
Adds repeat until true container with nested test actions.RepeatOnErrorUntilTrue.Builder
repeatOnError()
Adds repeat on error until true container with nested test actions.SeleniumActionBuilder
selenium()
Creates a new selenium action builder.SendMessageActionBuilder<?>
send(Endpoint messageEndpoint)
Create send message action definition with message endpoint instance.SendMessageActionBuilder<?>
send(String messageEndpointName)
Create send message action definition with message endpoint name.Sequence.Builder
sequential()
Adds sequential container with nested test actions.void
setTestContext(TestContext context)
Sets the test context.SleepAction.Builder
sleep()
Add sleep action with default delay time.SleepAction.Builder
sleep(double seconds)
Add sleep action with time in seconds.SleepAction.Builder
sleep(long milliseconds)
Add sleep action with time in milliseconds.SoapActionBuilder
soap()
ExecuteSQLAction.Builder
sql(DataSource dataSource)
Creates a new executeSQL action definition for further configuration.StartServerAction.Builder
start(Server server)
Creates a new start server action definition for further configuration.StartServerAction.Builder
start(Server... servers)
Creates a new start server action definition for further configuration.void
status(TestCaseMetaInfo.Status status)
StopServerAction.Builder
stop(Server server)
Creates a new stop server action definition for further configuration.StopServerAction.Builder
stop(Server... servers)
Creates a new stop server action definition for further configuration.StopTimeAction.Builder
stopTime()
Creates a new stop time action.StopTimeAction.Builder
stopTime(String id)
Creates a new stop time action.StopTimeAction.Builder
stopTime(String id, String suffix)
Creates a new stop time action.StopTimerAction.Builder
stopTimer(String timerId)
Stops the timer matching the supplied timerIdStopTimerAction.Builder
stopTimers()
Stops all timers within the current test contextvoid
testClass(Class<?> type)
Timer.Builder
timer()
Repeat nested test actions based on a timer interval.TraceVariablesAction.Builder
traceVariables()
Creates a new trace variables action definition that prints variable values to the console/logger.TraceVariablesAction.Builder
traceVariables(String... variables)
Creates a new trace variables action definition that prints variable values to the console/logger.TransformAction.Builder
transform()
Creates a new transform action definition for further configuration.<T> T
variable(String name, T value)
Wait.Builder
waitFor()
Add wait action.ZooExecuteActionBuilder
zookeeper()
Creates a new zookeeper execute action.-
Methods inherited from class com.consol.citrus.dsl.junit.JUnit4CitrusTest
createTestRunner, resolveAnnotatedResource, run
-
Methods inherited from class com.consol.citrus.junit.AbstractJUnit4CitrusTest
createTestLoader, prepareTestContext, resolveParameter
-
-
-
-
Method Detail
-
createTestDesigner
protected TestDesigner createTestDesigner(CitrusFrameworkMethod frameworkMethod, TestContext context)
Description copied from class:JUnit4CitrusTest
Creates new test designer instance for this test method.- Overrides:
createTestDesigner
in classJUnit4CitrusTest
- Returns:
-
invokeTestMethod
protected void invokeTestMethod(CitrusFrameworkMethod frameworkMethod, TestCase testCase, TestContext context)
Description copied from class:JUnit4CitrusTest
Invokes test method based on designer or runner environment.- Overrides:
invokeTestMethod
in classJUnit4CitrusTest
-
isDesignerMethod
protected final boolean isDesignerMethod(Method method)
Description copied from class:JUnit4CitrusTest
Searches for method parameter of type test designer.- Overrides:
isDesignerMethod
in classJUnit4CitrusTest
- Returns:
-
isRunnerMethod
protected final boolean isRunnerMethod(Method method)
Description copied from class:JUnit4CitrusTest
Searches for method parameter of type test runner.- Overrides:
isRunnerMethod
in classJUnit4CitrusTest
- Returns:
-
configure
protected void configure()
Main entrance method for builder pattern usage. Subclasses may override this method and call Java DSL builder methods for adding test actions and basic test case properties.
-
getTestCase
public TestCase getTestCase()
Description copied from class:AbstractJUnit4CitrusTest
Constructs the test case to execute.- Specified by:
getTestCase
in interfaceTestCaseBuilder
- Overrides:
getTestCase
in classAbstractJUnit4CitrusTest
-
testClass
public void testClass(Class<?> type)
- Specified by:
testClass
in interfaceTestCaseBuilder
-
name
public void name(String name)
- Specified by:
name
in interfaceTestCaseBuilder
-
description
public void description(String description)
- Specified by:
description
in interfaceTestCaseBuilder
-
author
public void author(String author)
- Specified by:
author
in interfaceTestCaseBuilder
-
packageName
public void packageName(String packageName)
- Specified by:
packageName
in interfaceTestCaseBuilder
-
status
public void status(TestCaseMetaInfo.Status status)
- Specified by:
status
in interfaceTestCaseBuilder
-
creationDate
public void creationDate(Date date)
- Specified by:
creationDate
in interfaceTestCaseBuilder
-
groups
public void groups(String[] groups)
- Specified by:
groups
in interfaceTestCaseBuilder
-
variable
public <T> T variable(String name, T value)
- Specified by:
variable
in interfaceTestCaseBuilder
-
createVariable
public CreateVariablesAction.Builder createVariable(String variableName, String value)
Description copied from interface:TestDesigner
Action creating a new test variable during a test.- Specified by:
createVariable
in interfaceTestDesigner
- Returns:
-
action
public void action(TestAction testAction)
Description copied from interface:TestDesigner
Adds a custom test action implementation.- Specified by:
action
in interfaceTestDesigner
-
action
public void action(TestActionBuilder<?> builder)
Description copied from interface:TestDesigner
Adds a custom test action implementation.- Specified by:
action
in interfaceTestDesigner
-
applyBehavior
public ApplyTestBehaviorAction.Builder applyBehavior(TestBehavior behavior)
Description copied from interface:TestDesigner
Apply test apply with all test actions, finally actions and test variables defined in given apply.- Specified by:
applyBehavior
in interfaceTestDesigner
-
container
public <T extends TestActionContainer,B extends TestActionContainerBuilder<T,B>> TestActionContainerBuilder<T,B> container(T container)
Description copied from interface:TestDesigner
Prepare and add a custom container implementation.- Specified by:
container
in interfaceTestDesigner
- Returns:
-
container
public <T extends TestActionContainerBuilder<? extends TestActionContainer,?>> T container(T container)
Description copied from interface:TestDesigner
Prepare and add a custom container implementation.- Specified by:
container
in interfaceTestDesigner
- Returns:
-
antrun
public AntRunAction.Builder antrun(String buildFilePath)
Description copied from interface:TestDesigner
Creates a new ANT run action definition for further configuration.- Specified by:
antrun
in interfaceTestDesigner
- Returns:
-
echo
public EchoAction.Builder echo(String message)
Description copied from interface:TestDesigner
Creates a new echo action.- Specified by:
echo
in interfaceTestDesigner
- Returns:
-
plsql
public ExecutePLSQLAction.Builder plsql(DataSource dataSource)
Description copied from interface:TestDesigner
Creates a new executePLSQL action definition for further configuration.- Specified by:
plsql
in interfaceTestDesigner
- Returns:
-
sql
public ExecuteSQLAction.Builder sql(DataSource dataSource)
Description copied from interface:TestDesigner
Creates a new executeSQL action definition for further configuration.- Specified by:
sql
in interfaceTestDesigner
- Returns:
-
query
public ExecuteSQLQueryAction.Builder query(DataSource dataSource)
Description copied from interface:TestDesigner
Creates a new executesqlquery action definition for further configuration.- Specified by:
query
in interfaceTestDesigner
- Returns:
-
receiveTimeout
public ReceiveTimeoutAction.Builder receiveTimeout(Endpoint messageEndpoint)
Description copied from interface:TestDesigner
Creates a new receive timeout action definition for further configuration.- Specified by:
receiveTimeout
in interfaceTestDesigner
- Returns:
-
receiveTimeout
public ReceiveTimeoutAction.Builder receiveTimeout(String messageEndpointName)
Description copied from interface:TestDesigner
Creates a new receive timeout action definition from message endpoint name as String.- Specified by:
receiveTimeout
in interfaceTestDesigner
- Returns:
-
fail
public FailAction.Builder fail(String message)
Description copied from interface:TestDesigner
Creates a new fail action.- Specified by:
fail
in interfaceTestDesigner
- Returns:
-
input
public InputAction.Builder input()
Description copied from interface:TestDesigner
Creates a new input action.- Specified by:
input
in interfaceTestDesigner
- Returns:
-
java
public JavaAction.Builder java(String className)
Description copied from interface:TestDesigner
Creates a new Java action definition from class name.- Specified by:
java
in interfaceTestDesigner
- Returns:
-
java
public JavaAction.Builder java(Class<?> clazz)
Description copied from interface:TestDesigner
Creates a new Java action definition from Java class.- Specified by:
java
in interfaceTestDesigner
- Returns:
-
java
public JavaAction.Builder java(Object instance)
Description copied from interface:TestDesigner
Creates a new Java action definition from Java object instance.- Specified by:
java
in interfaceTestDesigner
- Returns:
-
load
public LoadPropertiesAction.Builder load(String filePath)
Description copied from interface:TestDesigner
Creates a new load properties action.- Specified by:
load
in interfaceTestDesigner
- Parameters:
filePath
- path to properties file.- Returns:
-
purgeQueues
public PurgeJmsQueuesActionBuilder purgeQueues()
Description copied from interface:TestDesigner
Creates a new purge jms queues action definition for further configuration.- Specified by:
purgeQueues
in interfaceTestDesigner
- Returns:
-
purgeChannels
public PurgeMessageChannelActionBuilder purgeChannels()
Description copied from interface:TestDesigner
Creates a new purge message channel action definition for further configuration.- Specified by:
purgeChannels
in interfaceTestDesigner
- Returns:
-
purgeEndpoints
public PurgeEndpointAction.Builder purgeEndpoints()
Description copied from interface:TestDesigner
Creates a new purge message endpoint action definition for further configuration.- Specified by:
purgeEndpoints
in interfaceTestDesigner
- Returns:
-
receive
public ReceiveMessageActionBuilder<?> receive(Endpoint messageEndpoint)
Description copied from interface:TestDesigner
Creates receive message action definition with message endpoint instance.- Specified by:
receive
in interfaceTestDesigner
- Returns:
-
receive
public ReceiveMessageActionBuilder<?> receive(String messageEndpointName)
Description copied from interface:TestDesigner
Creates receive message action definition with messsage endpoint name.- Specified by:
receive
in interfaceTestDesigner
- Returns:
-
send
public SendMessageActionBuilder<?> send(Endpoint messageEndpoint)
Description copied from interface:TestDesigner
Create send message action definition with message endpoint instance.- Specified by:
send
in interfaceTestDesigner
- Returns:
-
send
public SendMessageActionBuilder<?> send(String messageEndpointName)
Description copied from interface:TestDesigner
Create send message action definition with message endpoint name. According to message endpoint type we can create a SOAP specific message sending action.- Specified by:
send
in interfaceTestDesigner
- Returns:
-
sleep
public SleepAction.Builder sleep()
Description copied from interface:TestDesigner
Add sleep action with default delay time.- Specified by:
sleep
in interfaceTestDesigner
- Returns:
-
sleep
public SleepAction.Builder sleep(long milliseconds)
Description copied from interface:TestDesigner
Add sleep action with time in milliseconds.- Specified by:
sleep
in interfaceTestDesigner
- Returns:
-
sleep
public SleepAction.Builder sleep(double seconds)
Description copied from interface:TestDesigner
Add sleep action with time in seconds.- Specified by:
sleep
in interfaceTestDesigner
- Returns:
-
waitFor
public Wait.Builder waitFor()
Description copied from interface:TestDesigner
Add wait action.- Specified by:
waitFor
in interfaceTestDesigner
- Returns:
-
start
public StartServerAction.Builder start(Server... servers)
Description copied from interface:TestDesigner
Creates a new start server action definition for further configuration.- Specified by:
start
in interfaceTestDesigner
- Returns:
-
start
public StartServerAction.Builder start(Server server)
Description copied from interface:TestDesigner
Creates a new start server action definition for further configuration.- Specified by:
start
in interfaceTestDesigner
- Returns:
-
stop
public StopServerAction.Builder stop(Server... servers)
Description copied from interface:TestDesigner
Creates a new stop server action definition for further configuration.- Specified by:
stop
in interfaceTestDesigner
- Returns:
-
stop
public StopServerAction.Builder stop(Server server)
Description copied from interface:TestDesigner
Creates a new stop server action definition for further configuration.- Specified by:
stop
in interfaceTestDesigner
- Returns:
-
stopTime
public StopTimeAction.Builder stopTime()
Description copied from interface:TestDesigner
Creates a new stop time action.- Specified by:
stopTime
in interfaceTestDesigner
- Returns:
-
stopTime
public StopTimeAction.Builder stopTime(String id)
Description copied from interface:TestDesigner
Creates a new stop time action.- Specified by:
stopTime
in interfaceTestDesigner
- Returns:
-
stopTime
public StopTimeAction.Builder stopTime(String id, String suffix)
Description copied from interface:TestDesigner
Creates a new stop time action.- Specified by:
stopTime
in interfaceTestDesigner
- Returns:
-
traceVariables
public TraceVariablesAction.Builder traceVariables()
Description copied from interface:TestDesigner
Creates a new trace variables action definition that prints variable values to the console/logger.- Specified by:
traceVariables
in interfaceTestDesigner
- Returns:
-
traceVariables
public TraceVariablesAction.Builder traceVariables(String... variables)
Description copied from interface:TestDesigner
Creates a new trace variables action definition that prints variable values to the console/logger.- Specified by:
traceVariables
in interfaceTestDesigner
- Returns:
-
groovy
public GroovyAction.Builder groovy(String script)
Description copied from interface:TestDesigner
Creates a new groovy action definition with script code.- Specified by:
groovy
in interfaceTestDesigner
- Returns:
-
groovy
public GroovyAction.Builder groovy(org.springframework.core.io.Resource scriptResource)
Description copied from interface:TestDesigner
Creates a new groovy action definition with script file resource.- Specified by:
groovy
in interfaceTestDesigner
- Returns:
-
transform
public TransformAction.Builder transform()
Description copied from interface:TestDesigner
Creates a new transform action definition for further configuration.- Specified by:
transform
in interfaceTestDesigner
- Returns:
-
assertException
public Assert.Builder assertException()
Description copied from interface:TestDesigner
Assert exception to happen in nested test action.- Specified by:
assertException
in interfaceTestDesigner
- Returns:
-
catchException
public Catch.Builder catchException()
Description copied from interface:TestDesigner
Action catches possible exceptions in nested test actions.- Specified by:
catchException
in interfaceTestDesigner
- Returns:
-
assertSoapFault
public AssertSoapFaultBuilder assertSoapFault()
Description copied from interface:TestDesigner
Assert SOAP fault during action execution.- Specified by:
assertSoapFault
in interfaceTestDesigner
- Returns:
-
conditional
public Conditional.Builder conditional()
Description copied from interface:TestDesigner
Adds conditional container with nested test actions.- Specified by:
conditional
in interfaceTestDesigner
- Returns:
-
iterate
public Iterate.Builder iterate()
Description copied from interface:TestDesigner
Adds iterate container with nested test actions.- Specified by:
iterate
in interfaceTestDesigner
- Returns:
-
parallel
public Parallel.Builder parallel()
Description copied from interface:TestDesigner
Run nested test actions in parallel to each other using multiple threads.- Specified by:
parallel
in interfaceTestDesigner
- Returns:
-
repeatOnError
public RepeatOnErrorUntilTrue.Builder repeatOnError()
Description copied from interface:TestDesigner
Adds repeat on error until true container with nested test actions.- Specified by:
repeatOnError
in interfaceTestDesigner
- Returns:
-
repeat
public RepeatUntilTrue.Builder repeat()
Description copied from interface:TestDesigner
Adds repeat until true container with nested test actions.- Specified by:
repeat
in interfaceTestDesigner
- Returns:
-
sequential
public Sequence.Builder sequential()
Description copied from interface:TestDesigner
Adds sequential container with nested test actions.- Specified by:
sequential
in interfaceTestDesigner
- Returns:
-
async
public Async.Builder async()
Description copied from interface:TestDesigner
Adds async container with nested test actions.- Specified by:
async
in interfaceTestDesigner
- Returns:
-
stopTimer
public StopTimerAction.Builder stopTimer(String timerId)
Description copied from interface:TestDesigner
Stops the timer matching the supplied timerId- Specified by:
stopTimer
in interfaceTestDesigner
- Returns:
-
stopTimers
public StopTimerAction.Builder stopTimers()
Description copied from interface:TestDesigner
Stops all timers within the current test context- Specified by:
stopTimers
in interfaceTestDesigner
- Returns:
-
timer
public Timer.Builder timer()
Description copied from interface:TestDesigner
Repeat nested test actions based on a timer interval.- Specified by:
timer
in interfaceTestDesigner
- Returns:
-
docker
public DockerExecuteActionBuilder docker()
Description copied from interface:TestDesigner
Creates a new docker execute action.- Specified by:
docker
in interfaceTestDesigner
- Returns:
-
kubernetes
public KubernetesExecuteActionBuilder kubernetes()
Description copied from interface:TestDesigner
Creates a new kubernetes execute action.- Specified by:
kubernetes
in interfaceTestDesigner
- Returns:
-
selenium
public SeleniumActionBuilder selenium()
Description copied from interface:TestDesigner
Creates a new selenium action builder.- Specified by:
selenium
in interfaceTestDesigner
- Returns:
-
http
public HttpActionBuilder http()
- Specified by:
http
in interfaceTestDesigner
-
soap
public SoapActionBuilder soap()
- Specified by:
soap
in interfaceTestDesigner
-
camel
public CamelRouteActionBuilder camel()
Description copied from interface:TestDesigner
Creates a new Camel route action.- Specified by:
camel
in interfaceTestDesigner
- Returns:
-
zookeeper
public ZooExecuteActionBuilder zookeeper()
Description copied from interface:TestDesigner
Creates a new zookeeper execute action.- Specified by:
zookeeper
in interfaceTestDesigner
- Returns:
-
applyTemplate
public Template.Builder applyTemplate(String name)
Description copied from interface:TestDesigner
Adds template container with nested test actions.- Specified by:
applyTemplate
in interfaceTestDesigner
- Returns:
-
doFinally
public FinallySequence.Builder doFinally()
Description copied from interface:TestDesigner
Adds sequence of test actions to finally block.- Specified by:
doFinally
in interfaceTestDesigner
- Returns:
-
setTestContext
public void setTestContext(TestContext context)
Description copied from interface:TestDesigner
Sets the test context.- Specified by:
setTestContext
in interfaceTestDesigner
-
-