|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.junit.Assert org.apache.camel.test.junit4.TestSupport org.apache.camel.test.junit4.CamelTestSupport
public abstract class CamelTestSupport
A useful base class which creates a CamelContext
with some routes
along with a ProducerTemplate
for use in the test case
Field Summary | |
---|---|
protected org.apache.camel.Service |
camelContextService
|
protected org.apache.camel.ConsumerTemplate |
consumer
|
protected org.apache.camel.model.ModelCamelContext |
context
|
protected org.apache.camel.ProducerTemplate |
template
|
Fields inherited from class org.apache.camel.test.junit4.TestSupport |
---|
log, LS, testName |
Constructor Summary | |
---|---|
CamelTestSupport()
|
Method Summary | ||
---|---|---|
protected void |
assertExpression(org.apache.camel.Exchange exchange,
String languageName,
String expressionText,
Object expectedValue)
Asserts that the given language name and expression evaluates to the given value on a specific exchange |
|
protected void |
assertMockEndpointsSatisfied()
Asserts that all the expectations of the Mock endpoints are valid |
|
protected void |
assertMockEndpointsSatisfied(long timeout,
TimeUnit unit)
Asserts that all the expectations of the Mock endpoints are valid |
|
protected void |
assertPredicate(String languageName,
String expressionText,
org.apache.camel.Exchange exchange,
boolean expected)
Asserts that the given language name and predicate expression evaluates to the expected value on the message exchange |
|
protected org.apache.camel.spi.Language |
assertResolveLanguage(String languageName)
Asserts that the language name can be resolved |
|
protected void |
assertValidContext(org.apache.camel.CamelContext context)
|
|
org.apache.camel.Service |
camelContextService()
|
|
org.apache.camel.ConsumerTemplate |
consumer()
|
|
org.apache.camel.CamelContext |
context()
|
|
protected org.apache.camel.CamelContext |
createCamelContext()
|
|
protected org.apache.camel.Exchange |
createExchangeWithBody(Object body)
Creates an exchange with the given body |
|
protected Context |
createJndiContext()
|
|
protected org.apache.camel.impl.JndiRegistry |
createRegistry()
|
|
protected org.apache.camel.builder.RouteBuilder |
createRouteBuilder()
Factory method which derived classes can use to create a RouteBuilder
to define the routes for testing |
|
protected org.apache.camel.builder.RouteBuilder[] |
createRouteBuilders()
Factory method which derived classes can use to create an array of RouteBuilder s to define the routes for testing |
|
protected void |
debugAfter(org.apache.camel.Exchange exchange,
org.apache.camel.Processor processor,
org.apache.camel.model.ProcessorDefinition definition,
String id,
String label,
long timeTaken)
Single step debugs and Camel invokes this method after processing the given processor |
|
protected void |
debugBefore(org.apache.camel.Exchange exchange,
org.apache.camel.Processor processor,
org.apache.camel.model.ProcessorDefinition definition,
String id,
String label)
Single step debugs and Camel invokes this method before entering the given processor |
|
protected void |
disableJMX()
Disables the JMX agent. |
|
protected void |
doPostSetup()
Strategy to perform any post setup after CamelContext is createt. |
|
protected void |
doPreSetup()
Strategy to perform any pre setup, before CamelContext is created |
|
protected void |
enableJMX()
Enables the JMX agent. |
|
org.apache.camel.Service |
getCamelContextService()
|
|
protected org.apache.camel.Endpoint |
getMandatoryEndpoint(String uri)
|
|
protected
|
getMandatoryEndpoint(String uri,
Class<T> type)
|
|
protected org.apache.camel.component.mock.MockEndpoint |
getMockEndpoint(String uri)
Resolves the mandatory Mock endpoint using a URI of the form mock:someName |
|
protected int |
getShutdownTimeout()
Returns the timeout to use when shutting down (unit in seconds). |
|
boolean |
isCreateCamelContextPerClass()
Override to control whether CamelContext should be setup per test or per class. |
|
protected boolean |
isLazyLoadingTypeConverter()
Whether or not type converters should be lazy loaded (notice core converters is always loaded) We enabled lazy by default as it would speedup unit testing. |
|
String |
isMockEndpoints()
Override to enable auto mocking endpoints based on the pattern. |
|
boolean |
isUseAdviceWith()
Override when using advice with and return true. |
|
boolean |
isUseDebugger()
Override to enable debugger Is default false |
|
boolean |
isUseRouteBuilder()
Use the RouteBuilder or not |
|
protected void |
postProcessTest()
Lets post process this test instance to process any Camel annotations. |
|
protected void |
resetMocks()
Reset all Mock endpoints. |
|
protected org.apache.camel.Endpoint |
resolveMandatoryEndpoint(String uri)
Resolves a mandatory endpoint for the given URI or an exception is thrown |
|
protected
|
resolveMandatoryEndpoint(String uri,
Class<T> endpointType)
Resolves a mandatory endpoint for the given URI and expected type or an exception is thrown |
|
protected void |
sendBodies(String endpointUri,
Object... bodies)
Sends messages to the given endpoint for each of the specified bodies |
|
protected void |
sendBody(String endpointUri,
Object body)
Sends a message to the given endpoint URI with the body value |
|
protected void |
sendBody(String endpointUri,
Object body,
Map<String,Object> headers)
Sends a message to the given endpoint URI with the body value and specified headers |
|
void |
setCamelContextService(org.apache.camel.Service service)
Allows a service to be registered a separate lifecycle service to start and stop the context; such as for Spring when the ApplicationContext is started and stopped, rather than directly stopping the CamelContext |
|
void |
setUp()
|
|
void |
setUseRouteBuilder(boolean useRouteBuilder)
|
|
protected void |
startCamelContext()
|
|
protected void |
stopCamelContext()
|
|
void |
tearDown()
|
|
static void |
tearDownAfterClass()
|
|
org.apache.camel.ProducerTemplate |
template()
|
|
protected boolean |
useJmx()
Whether or not JMX should be used during testing. |
Methods inherited from class org.junit.Assert |
---|
assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertArrayEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertThat, assertThat, assertTrue, assertTrue, fail, fail |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected volatile org.apache.camel.model.ModelCamelContext context
protected volatile org.apache.camel.ProducerTemplate template
protected volatile org.apache.camel.ConsumerTemplate consumer
protected volatile org.apache.camel.Service camelContextService
Constructor Detail |
---|
public CamelTestSupport()
Method Detail |
---|
public boolean isUseRouteBuilder()
CamelContext
will be auto started,
false then CamelContext
will not be auto started (you will have to start it manually)public void setUseRouteBuilder(boolean useRouteBuilder)
public boolean isUseAdviceWith()
CamelContext
will not be started before
the advice with takes place. This helps by ensuring the advice with has been property setup before the
CamelContext
is started
Important: Its important to start CamelContext
manually from the unit test
after you are done doing all the advice with.
public boolean isCreateCamelContextPerClass()
CamelContext
should be setup per test or per class.
By default it will be setup/teardown per test (per test method). If you want to re-use
CamelContext
between test methods you can override this method and return true
Important: Use this with care as the CamelContext
will carry over state
from previous tests, such as endpoints, components etc. So you cannot use this in all your tests.
Setting up CamelContext
uses the doPreSetup()
, doSetUp()
, and doPostSetup()
methods in that given order.
public String isMockEndpoints()
EndpointHelper.matchEndpoint(String, String)
public boolean isUseDebugger()
public org.apache.camel.Service getCamelContextService()
public org.apache.camel.Service camelContextService()
public org.apache.camel.CamelContext context()
public org.apache.camel.ProducerTemplate template()
public org.apache.camel.ConsumerTemplate consumer()
public void setCamelContextService(org.apache.camel.Service service)
public void setUp() throws Exception
Exception
protected void doPreSetup() throws Exception
CamelContext
is created
Exception
protected void doPostSetup() throws Exception
CamelContext
is createt.
Exception
public void tearDown() throws Exception
Exception
public static void tearDownAfterClass() throws Exception
Exception
protected int getShutdownTimeout()
protected boolean useJmx()
protected boolean isLazyLoadingTypeConverter()
protected void postProcessTest() throws Exception
Exception
protected void stopCamelContext() throws Exception
Exception
protected void startCamelContext() throws Exception
Exception
protected org.apache.camel.CamelContext createCamelContext() throws Exception
Exception
protected org.apache.camel.impl.JndiRegistry createRegistry() throws Exception
Exception
protected Context createJndiContext() throws Exception
Exception
protected org.apache.camel.builder.RouteBuilder createRouteBuilder() throws Exception
RouteBuilder
to define the routes for testing
Exception
protected org.apache.camel.builder.RouteBuilder[] createRouteBuilders() throws Exception
RouteBuilder
s to define the routes for testing
Exception
createRouteBuilder()
protected org.apache.camel.Endpoint resolveMandatoryEndpoint(String uri)
uri
- the Camel URI to use to create or resolve an endpoint
protected <T extends org.apache.camel.Endpoint> T resolveMandatoryEndpoint(String uri, Class<T> endpointType)
uri
- the Camel URI to use to create or resolve an endpoint
protected org.apache.camel.component.mock.MockEndpoint getMockEndpoint(String uri)
mock:someName
uri
- the URI which typically starts with "mock:" and has some name
protected void sendBody(String endpointUri, Object body)
endpointUri
- the URI of the endpoint to send tobody
- the body for the messageprotected void sendBody(String endpointUri, Object body, Map<String,Object> headers)
endpointUri
- the URI of the endpoint to send tobody
- the body for the messageheaders
- any headers to set on the messageprotected void sendBodies(String endpointUri, Object... bodies)
endpointUri
- the endpoint URI to send tobodies
- the bodies to send, one per messageprotected org.apache.camel.Exchange createExchangeWithBody(Object body)
protected void assertExpression(org.apache.camel.Exchange exchange, String languageName, String expressionText, Object expectedValue)
protected void assertPredicate(String languageName, String expressionText, org.apache.camel.Exchange exchange, boolean expected)
protected org.apache.camel.spi.Language assertResolveLanguage(String languageName)
protected void assertMockEndpointsSatisfied() throws InterruptedException
InterruptedException
protected void assertMockEndpointsSatisfied(long timeout, TimeUnit unit) throws InterruptedException
InterruptedException
protected void resetMocks()
protected void assertValidContext(org.apache.camel.CamelContext context)
protected <T extends org.apache.camel.Endpoint> T getMandatoryEndpoint(String uri, Class<T> type)
protected org.apache.camel.Endpoint getMandatoryEndpoint(String uri)
protected void disableJMX()
setUp()
method.
protected void enableJMX()
setUp()
method.
protected void debugBefore(org.apache.camel.Exchange exchange, org.apache.camel.Processor processor, org.apache.camel.model.ProcessorDefinition definition, String id, String label)
protected void debugAfter(org.apache.camel.Exchange exchange, org.apache.camel.Processor processor, org.apache.camel.model.ProcessorDefinition definition, String id, String label, long timeTaken)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |