A Mock endpoint which provides a literate, fluent API for testing routes using a JMock style API.
The mock endpoint have two set of methodsName | Kind | Type | Required | Deprecated | Default Value | Enum Values | Description |
---|---|---|---|---|---|---|---|
name | path | java.lang.String | true | false | Name of mock endpoint | ||
expectedCount | parameter | int | false | -1 | Specifies the expected number of message exchanges that should be received by this endpoint. Beware: If you want to expect that 0 messages, then take extra care, as 0 matches when the tests starts, so you need to set a assert period time to let the test run for a while to make sure there are still no messages arrived; for that use {@link #setAssertPeriod(long)}. An alternative is to use NotifyBuilder, and use the notifier to know when Camel is done routing some messages, before you call the {@link #assertIsSatisfied()} method on the mocks. This allows you to not use a fixed assert period, to speedup testing times. If you want to assert that exactly n'th message arrives to this mock endpoint, then see also the {@link #setAssertPeriod(long)} method for further details. @param expectedCount the number of message exchanges that should be expected by this endpoint @see #setAssertPeriod(long) | ||
sleepForEmptyTest | parameter | long | false | 0 | Allows a sleep to be specified to wait to check that this endpoint really is empty when {@link #expectedMessageCount(int)} is called with zero @param sleepForEmptyTest the milliseconds to sleep for to determine that this endpoint really is empty | ||
resultWaitTime | parameter | long | false | 0 | Sets the maximum amount of time (in millis) the {@link #assertIsSatisfied()} will wait on a latch until it is satisfied | ||
resultMinimumWaitTime | parameter | long | false | 0 | Sets the minimum expected amount of time (in millis) the {@link #assertIsSatisfied()} will wait on a latch until it is satisfied | ||
assertPeriod | parameter | long | false | 0 | Sets a grace period after which the mock endpoint will re-assert to ensure the preliminary assertion is still valid. This is used for example to assert that exactly a number of messages arrives. For example if {@link #expectedMessageCount(int)} was set to 5, then the assertion is satisfied when 5 or more message arrives. To ensure that exactly 5 messages arrives, then you would need to wait a little period to ensure no further message arrives. This is what you can use this {@link #setAssertPeriod(long)} method for. By default this period is disabled. @param period grace period in millis | ||
retainFirst | parameter | int | false | -1 | Specifies to only retain the first n'th number of received {@link Exchange}s. This is used when testing with big data, to reduce memory consumption by not storing copies of every {@link Exchange} this mock endpoint receives. Important: When using this limitation, then the {@link #getReceivedCounter()} will still return the actual number of received {@link Exchange}s. For example if we have received 5000 {@link Exchange}s, and have configured to only retain the first 10 {@link Exchange}s, then the {@link #getReceivedCounter()} will still return 5000 but there is only the first 10 {@link Exchange}s in the {@link #getExchanges()} and {@link #getReceivedExchanges()} methods. When using this method, then some of the other expectation methods is not supported, for example the {@link #expectedBodiesReceived(Object...)} sets a expectation on the first number of bodies received. You can configure both {@link #setRetainFirst(int)} and {@link #setRetainLast(int)} methods, to limit both the first and last received. @param retainFirst to limit and only keep the first n'th received {@link Exchange}s, use 0 to not retain any messages, or -1 to retain all. @see #setRetainLast(int) | ||
retainLast | parameter | int | false | -1 | Specifies to only retain the last n'th number of received {@link Exchange}s. This is used when testing with big data, to reduce memory consumption by not storing copies of every {@link Exchange} this mock endpoint receives. Important: When using this limitation, then the {@link #getReceivedCounter()} will still return the actual number of received {@link Exchange}s. For example if we have received 5000 {@link Exchange}s, and have configured to only retain the last 20 {@link Exchange}s, then the {@link #getReceivedCounter()} will still return 5000 but there is only the last 20 {@link Exchange}s in the {@link #getExchanges()} and {@link #getReceivedExchanges()} methods. When using this method, then some of the other expectation methods is not supported, for example the {@link #expectedBodiesReceived(Object...)} sets a expectation on the first number of bodies received. You can configure both {@link #setRetainFirst(int)} and {@link #setRetainLast(int)} methods, to limit both the first and last received. @param retainLast to limit and only keep the last n'th received {@link Exchange}s, use 0 to not retain any messages, or -1 to retain all. @see #setRetainFirst(int) | ||
copyOnExchange | parameter | boolean | false | true | Sets whether to make a deep copy of the incoming {@link Exchange} when received at this mock endpoint. Is by default true. | ||
exchangePattern | parameter | org.apache.camel.ExchangePattern | false | InOnly | InOnly RobustInOnly InOut InOptionalOut OutOnly RobustOutOnly OutIn OutOptionalIn |
Sets the default exchange pattern when creating an exchange. | |
synchronous | parameter | boolean | false | false | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). @param synchronous true to enforce synchronous processing |