FUSE Message Broker Testing
Part of the FUSE value proposition comes from the additional testing that is preformed before a release. This testing has three main objectives:
- to protect our customers from regression
- to fully exercise critical areas of the code base that are frequently used by our customers
- to exercise and validate typical usage patterns
The FUSE development practice executes a "deliver at Apache first" policy. This policy often necessitates a feature or issue resolution at Apache using a 'pure JMS' test case. To ensure we never lose the original customer tests case that precipitated the requirement, the customer test case is included the FUSE system test repository.
We use TeamCity to execute the tests nightly as part of our Continuous Integration strategy on all of the FUSE supported platforms and branches.
We are constantly adding to the set of additional tests that we run. Some current examples of the tests follow:
| Test Case | Description |
|---|---|
| DEV602Test.testConcurrentNetworkOutage (com.iona.cpi.failure.issues) | see issue* |
| AMQ1544Test.testAMQ1544 (com.iona.cpi.failure.issues) | see issue* |
| IsolationCloseFailoverTest.testClientFailureIsolation (com.iona.cpi.failure | see issue* |
| FailoverAlwaysSyncSendFalseTest.testConcurrentSendReceive (com.iona.cpi.failure | see issue* |
| AMQ1557Test.testNoSlowdown (com.iona.cpi.failure.issues | see issue* |
| FailoverReconnectSlowTest.testConcurrentSendReceive (com.iona.cpi.failure | see issue* |
| IsolationFailoverTest.testClientFailureIsolation (com.iona.cpi.failure | see issue* |
| NonPersistentIsolationFailoverTest.testClientFailureIsolation (com.iona.cpi.failure | see issue* |
| ConsumerFailoverWithExpiringMessagesTest.testFailureCase (com.iona.cpi.failure | see issue* |
| MultiBrokerConsumerFailoverWithExpiringMessagesTest.testFailureCase (com.iona.cpi.failure | see issue* |
| ClusteredNonPersistentNetworkFailureTest.testFailureCase (com.iona.cpi.failure | see issue* |
| ClusteredNetworkFailureTest.testFailureCase (com.iona.cpi.failure | see issue* |
| DEV897Test.testQueueLimitsWithOneBrokerSameConnection (com.iona.cpi.failure.issues | see issue* |
| DuplexClusteredNetworkFauilureTest.testFailureCase (com.iona.cpi.failure | see issue* |
| NonRandomMultiBrokerConsumerFailoverWithExpiringMessagesTest.testFailureCase (com.iona.cpi.failure | see issue* |
| ConsumerCloseNotLoseMessagesTest.testConsumer3 (com.iona.cpi.failure | see issue* |
| FailoverTest.testConcurrentSendReceive (com.iona.cpi.failure | see issue* |
| FailoverDispatchAsyncQueueTest.testConcurrentSendReceive (com.iona.cpi.failure | see issue* |
| ConsumerCloseNotLoseMessagesTest.testConsumer1 (com.iona.cpi.failure | see issue* |
| ConsumerCloseNotLoseMessagesTest.testConsumer4 (com.iona.cpi.failure | see issue* |
| ConsumerCloseNotLoseMessagesTest.testConsumer2 (com.iona.cpi.failure | see issue* |
| FailoverAfterTimeoutQueueTest.testConcurrentSendReceive (com.iona.cpi.failure | see issue* |
| DiskFullQueueHangTest.testFullQueueHang (com.iona.cpi.failure | see issue* |
| AMQ1479Test.testConsumer (com.iona.cpi.failure.issues | see issue* |
| MB335Test.testNetworkBridgeViewMBean (com.iona.cpi.failure.issues | see issue* |
| MB297Test.testMultiClients (com.iona.cpi.failure.issues | see issue* |
| LargeMessageHangTest.testMessageSize (com.iona.cpi.failure | see issue* |
| MemoryUsageTest.testMemoryUsage (com.iona.cpi.failure | see issue* |
| FailoverAfterCloseQueueTest.testConcurrentSendReceive (com.iona.cpi.failure | see issue* |
| StockFullQueueHangTest.testFullQueueHang (com.iona.cpi.failure | see issue* |
| FullQueueHangTest.testFullQueueHang (com.iona.cpi.failure | see issue* |
| RunDurableSubscriptionTest.testDurableSubscriber (com.iona.cpi.failure.issues.amq1667 | see issue* |
| AMQ1845Test.testA (com.iona.cpi.failure.issues | see issue* |
| MB300Test.testMessageExchange (com.iona.cpi.failure.issues | see issue* |
* the naming convention typically includes the issue number from the FUSE jira
note: explanation of the package name 'com.iona.cpi.failure': cpi is an acronym for 'Continuous Process Integration', failure denotes a forced failure scenario
