[embjopr-commits] EMBJOPR SVN: r308 - in trunk: jsfunit/src/test/java/org/jboss/jopr/jsfunit/as5 and 2 other directories.
embjopr-commits at lists.jboss.org
embjopr-commits at lists.jboss.org
Fri Apr 17 16:28:10 EDT 2009
Author: fjuma
Date: 2009-04-17 16:28:10 -0400 (Fri, 17 Apr 2009)
New Revision: 308
Added:
trunk/jsfunit/testdata/destinations/CreateOperationExistingQueue-service.xml
trunk/jsfunit/testdata/destinations/CreateOperationExistingTopic-service.xml
trunk/jsfunit/testdata/destinations/DestroyOperationExistingQueue-service.xml
trunk/jsfunit/testdata/destinations/DestroyOperationExistingTopic-service.xml
trunk/jsfunit/testdata/destinations/ListAllMessagesMultipleMessagesExistingTopic-service.xml
trunk/jsfunit/testdata/destinations/ListAllSubscriptionsHtmlMultipleSubscribersExistingTopic-service.xml
trunk/jsfunit/testdata/destinations/ListAllSubscriptionsMultipleSubscribersExistingTopic-service.xml
trunk/jsfunit/testdata/destinations/ListDurableSubscriptionsHtmlMultipleSubscribersExistingTopic-service.xml
trunk/jsfunit/testdata/destinations/ListDurableSubscriptionsMultipleSubscribersExistingTopic-service.xml
trunk/jsfunit/testdata/destinations/ListMessageCounterHistoryExistingQueue-service.xml
trunk/jsfunit/testdata/destinations/ListMessageCounterMultipleMessagesExistingQueue-service.xml
trunk/jsfunit/testdata/destinations/ListNonDurableSubscriptionsHtmlMultipleSubscribersExistingTopic-service.xml
trunk/jsfunit/testdata/destinations/ListNonDurableSubscriptionsMultipleSubscribersExistingTopic-service.xml
trunk/jsfunit/testdata/destinations/RemoveAllMessagesMultipleMessagesExistingQueue-service.xml
trunk/jsfunit/testdata/destinations/RemoveAllMessagesMultipleMessagesExistingTopic-service.xml
trunk/jsfunit/testdata/destinations/ResetMessageCounterHistoryMultipleMessagesExistingQueue-service.xml
trunk/jsfunit/testdata/destinations/ResetMessageCounterMultipleMessagesExistingQueue-service.xml
trunk/jsfunit/testdata/destinations/StartOperationExistingQueue-service.xml
trunk/jsfunit/testdata/destinations/StartOperationExistingTopic-service.xml
trunk/jsfunit/testdata/destinations/StopOperationExistingQueue-service.xml
trunk/jsfunit/testdata/destinations/StopOperationExistingTopic-service.xml
Modified:
trunk/core/src/main/webapp/secure/resourceInstanceOperation.xhtml
trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/as5/JMSTest.java
trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/as5/ResourceTestBase.java
trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/util/EmbJoprTestToolkit.java
Log:
Adding operations tests for JMS Topics and Queues.
Modified: trunk/core/src/main/webapp/secure/resourceInstanceOperation.xhtml
===================================================================
--- trunk/core/src/main/webapp/secure/resourceInstanceOperation.xhtml 2009-04-17 19:11:41 UTC (rev 307)
+++ trunk/core/src/main/webapp/secure/resourceInstanceOperation.xhtml 2009-04-17 20:28:10 UTC (rev 308)
@@ -89,7 +89,7 @@
<div class="instructionalText">
<h:outputText rendered="#{operationHistory ne null}">
#{messages['control.resourceInstance.status.details1a']}
- <a href="javascript:window.location.reload(true)">#{messages['control.resourceInstance.status.details1b']}</a>
+ <a id="refreshLink" href="javascript:window.location.reload(true)">#{messages['control.resourceInstance.status.details1b']}</a>
</h:outputText>
</div>
@@ -168,14 +168,14 @@
nullConfigurationMessage="null config!"
nullConfigurationStyle="InfoBlock"/>
</h:panelGroup>
- <h:panelGroup rendered="#{selectedHistory.parameters eq null}">
+ <h:panelGroup id="noParameters" rendered="#{selectedHistory.parameters eq null}">
<i>None</i>
</h:panelGroup>
<!-- Results -->
<h:panelGroup layout="block" rendered="#{selectedHistory.status eq 'SUCCESS'}">
<h3>#{messages['control.resourceInstance.previous.results']}</h3>
- <h:panelGroup rendered="#{selectedHistory.results ne null and selectedHistory.operationDefinition.resultsConfigurationDefinition ne null}">
+ <h:panelGroup id="operationResults" rendered="#{selectedHistory.results ne null and selectedHistory.operationDefinition.resultsConfigurationDefinition ne null}">
<onc:config configurationDefinition="#{selectedHistory.operationDefinition.resultsConfigurationDefinition}"
configuration="#{selectedHistory.results}"
readOnly="true"
@@ -183,7 +183,7 @@
nullConfigurationMessage="null config!"
nullConfigurationStyle="InfoBlock"/>
</h:panelGroup>
- <h:panelGroup rendered="#{selectedHistory.results eq null or selectedHistory.operationDefinition.resultsConfigurationDefinition eq null}">
+ <h:panelGroup id="noResults" rendered="#{selectedHistory.results eq null or selectedHistory.operationDefinition.resultsConfigurationDefinition eq null}">
<i>None</i>
</h:panelGroup>
</h:panelGroup>
Modified: trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/as5/JMSTest.java
===================================================================
--- trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/as5/JMSTest.java 2009-04-17 19:11:41 UTC (rev 307)
+++ trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/as5/JMSTest.java 2009-04-17 20:28:10 UTC (rev 308)
@@ -58,6 +58,7 @@
import javax.jms.TextMessage;
import javax.jms.JMSException;
import javax.naming.NamingException;
+import org.jboss.jms.destination.JBossDestination;
/**
* This class contains tests for managing JMS topics and queues
@@ -122,6 +123,30 @@
private static final String DEPTH_DELTA = "Depth Delta";
private static final String TIME_LAST_UPDATE = "Time Last Update";
+ // Common operations
+ private static final String CREATE = "Create";
+ private static final String DESTROY = "Destroy";
+ private static final String LIST_ALL_MSGS = "List All Messages";
+ private static final String LIST_DURABLE_MSGS = "List Durable Messages";
+ private static final String LIST_NON_DURABLE_MSGS = "List Non Durable Messages";
+ private static final String REMOVE_ALL_MSGS = "Remove All Messages";
+ private static final String START = "Start";
+ private static final String STOP = "Stop";
+
+ // Topic-specific operations
+ private static final String LIST_ALL_SUB = "List All Subscriptions";
+ private static final String LIST_ALL_SUB_AS_HTML = "List All Subscriptions As HTML";
+ private static final String LIST_DURABLE_SUB = "List Durable Subscriptions";
+ private static final String LIST_DURABLE_SUB_AS_HTML = "List Durable Subscriptions As HTML";
+ private static final String LIST_NON_DURABLE_SUB = "List Non Durable Subscriptions";
+ private static final String LIST_NON_DURABLE_SUB_AS_HTML = "List Non Durable Subscriptions As HTML";
+
+ // Queue-specific operations
+ private static final String LIST_MSG_COUNTER_AS_HTML = "List Message Counter As HTML";
+ private static final String LIST_MSG_COUNTER_HISTORY_AS_HTML = "List Message Counter History As HTML";
+ private static final String RESET_MSG_COUNTER = "Reset Message Counter";
+ private static final String RESET_MSG_COUNTER_HISTORY = "Reset Message Counter History";
+
private static final long SCHEDULED_TIME = 3600000;
private TopicConnection topicConnection = null;
@@ -130,6 +155,8 @@
private static final String DLQ = "jboss.messaging.destination:name=DLQ,service=Queue";
private static final String EXPIRY_QUEUE = "jboss.messaging.destination:name=ExpiryQueue,service=Queue";
private static final String SERVER_PEER = "jboss.messaging:service=ServerPeer";
+ private static final String DURABLE = "Durable";
+ private static final String NON_DURABLE = "Non Durable";
/**
* Create a new topic or queue using the given destination type and properties.
@@ -160,7 +187,7 @@
protected Map<String, MetaValue> createQueue(String queueName) throws IOException, EmbJoprTestException {
Map<String, MetaValue> propertiesMap = new LinkedHashMap<String, MetaValue>();
- propertiesMap.put("name", SimpleValueSupport.wrap(queueName));
+ propertiesMap.put("name", SimpleValueSupport.wrap(queueName));
propertiesMap.put("JNDIName", SimpleValueSupport.wrap(queueName));
propertiesMap.put("clustered", SimpleValueSupport.wrap(Boolean.FALSE));
propertiesMap.put("downCacheSize", SimpleValueSupport.wrap(new Integer(1500)));
@@ -325,6 +352,17 @@
}
/**
+ * Create a queue session and then send the given number
+ * of messages to the given queue.
+ */
+ protected void createQueueSessionAndSendMessages(int numMessages,
+ String jndiName) throws Exception {
+ QueueSession session = createQueueSession();
+ Queue queue = getQueue(jndiName);
+ sendMessages(session, queue, numMessages);
+ }
+
+ /**
* Create a QueueSender for the given queue and schedule the
* given number of messages.
*/
@@ -411,7 +449,64 @@
super.tearDown();
disconnect();
}
+
+ /**
+ * Create a topic session, a durable subscriber, and a non-durable
+ * subscriber. Then, send the specified number of messages to the
+ * given topic.
+ */
+ protected void createTopicSessionAndSendMessages(int numMessages,
+ String jndiName) throws Exception {
+ TopicSession session = createTopicSession();
+ Topic topic = getTopic(jndiName);
+
+ // Create 1 durable subscriber, 1 non-durable subscriber
+ // and then publish the specified number of messages
+ createDurableTopicSubscriber(session, topic, jndiName + "Subscriber");
+ createNonDurableTopicSubscriber(session, topic);
+
+ publishMessages(session, topic, numMessages);
+ }
+ /**
+ * Create a topic session and the given number of durable subscribers.
+ */
+ protected void createTopicSessionAndDurableSubscribers(int numSubscribers,
+ String jndiName) throws Exception {
+ TopicSession session = createTopicSession();
+ Topic topic = getTopic(jndiName);
+
+ for(int i = 0; i < numSubscribers; i++) {
+ createDurableTopicSubscriber(session, topic, jndiName + "Subscriber" + i);
+ }
+ }
+
+ /**
+ * Create a topic session and the given number of non-durable subscribers.
+ */
+ protected void createTopicSessionAndNonDurableSubscribers(int numSubscribers,
+ String jndiName) throws Exception {
+ TopicSession session = createTopicSession();
+ Topic topic = getTopic(jndiName);
+
+ for(int i = 0; i < numSubscribers; i++) {
+ createNonDurableTopicSubscriber(session, topic);
+ }
+ }
+
+ /**
+ * Create a topic session and the given number of durable and non-durable subscribers.
+ */
+ protected void createTopicSessionAndMultipleSubscribers(int numSubscribers,
+ String jndiName) throws Exception {
+ TopicSession session = createTopicSession();
+ Topic topic = getTopic(jndiName);
+
+ for(int i = 0; i < numSubscribers; i++) {
+ createNonDurableTopicSubscriber(session, topic);
+ createDurableTopicSubscriber(session, topic, jndiName + "Subscriber" + i);
+ }
+ }
/*
* CREATION TESTS
@@ -1435,10 +1530,8 @@
private void checkQueueMetricsAfterOneMessage(String jndiName) throws Exception {
// Send 1 message to the queue
- QueueSession session = createQueueSession();
- Queue queue = getQueue(jndiName);
- sendMessages(session, queue, 1);
-
+ createQueueSessionAndSendMessages(1, jndiName);
+
// Set up the expected values
Map<String, String> expectedMetrics = new LinkedHashMap<String, String>();
expectedMetrics.put(CONSUMER_COUNT, "0.0");
@@ -1486,9 +1579,7 @@
private void checkQueueMetricsAfterMultipleMessages(String jndiName) throws Exception {
// Send multiple messages to the queue
- QueueSession session = createQueueSession();
- Queue queue = getQueue(jndiName);
- sendMessages(session, queue, 3);
+ createQueueSessionAndSendMessages(3, jndiName);
// Set up the expected values
Map<String, String> expectedMetrics = new LinkedHashMap<String, String>();
@@ -1646,9 +1737,7 @@
private void checkQueueMetricTimeLastUpdate(String jndiName) throws Exception {
// Send a message to the queue
- QueueSession session = createQueueSession();
- Queue queue = getQueue(jndiName);
- sendMessages(session, queue, 1);
+ createQueueSessionAndSendMessages(1, jndiName);
ArrayList<String> expectedMetric = new ArrayList<String>();
expectedMetric.add(TIME_LAST_UPDATE);
@@ -1669,7 +1758,6 @@
Map<String, String> expectedMetrics,
ArrayList<String> summaryMetrics,
DestinationType destinationType) throws Exception {
-
checkResourceMetrics(JMS_NAV_LABEL, destinationType.getNavLabel(),
jndiName, expectedMetrics, summaryMetrics);
@@ -1677,4 +1765,1307 @@
disconnect();
deleteDestination(destinationType, jndiName);
}
+
+ /*
+ * OPERATIONS TESTS
+ */
+
+ /* OPERATION #1 - REMOVE ALL MESSAGES - APPLIES TO TOPICS AND QUEUES */
+
+ /**
+ * Test Name: testRemoveAllMessagesAfterTopicCreation
+ * Assertion: Verify that the metrics remain unchanged
+ * after executing the "Remove All Messages" operation for a topic
+ * when there are no messages.
+ */
+ public void testRemoveAllMessagesAfterTopicCreation() throws Exception {
+ String jndiName = "RemoveAllMessagesAfterTopicCreation";
+
+ // Create the topic first
+ createTopic(jndiName);
+
+ // Set up the expected values
+ Map<String, String> expectedMetrics = new LinkedHashMap<String, String>();
+ expectedMetrics.put(ALL_MSG_COUNT, "0.0");
+ expectedMetrics.put(ALL_SUB_COUNT, "0.0");
+ expectedMetrics.put(DURABLE_MSG_COUNT, "0.0");
+ expectedMetrics.put(NON_DURABLE_MSG_COUNT, "0.0");
+ expectedMetrics.put(DURABLE_SUB_COUNT, "0.0");
+ expectedMetrics.put(NON_DURABLE_SUB_COUNT, "0.0");
+
+ performDestinationOperationAndCheckMetrics(DestinationType.TOPIC,
+ jndiName, REMOVE_ALL_MSGS,
+ expectedMetrics,
+ getTopicSummaryMetrics());
+ }
+
+ /**
+ * Test Name: testTopicRemoveAllMessagesAfterMultipleMessages
+ * Assertion: Verify that the metrics are updated accordingly
+ * after executing the "Remove All Messages" operation for a topic
+ * when the topic has multiple messages.
+ */
+ public void DISABLEDtestTopicRemoveAllMessagesAfterMultipleMessages() throws Exception {
+ String jndiName = "TopicRemoveAllMessagesAfterMultipleMessages";
+
+ // Create the topic first
+ createTopic(jndiName);
+ topicRemoveAllMessagesAfterMultipleMessages(jndiName);
+ }
+
+ /**
+ * Test Name: testTopicRemoveAllMessagesAfterMultipleMessagesUsingExistingServiceFile
+ * Assertion: Verify that the metrics are updated accordingly
+ * after executing the "Remove All Messages" operation for a topic
+ * when the topic has multiple messages. Use a topic that already exists.
+ */
+ public void DISABLEDtestTopicRemoveAllMessagesAfterMultipleMessagesUsingExistingServiceFile() throws Exception {
+ String jndiName = "RemoveAllMessagesMultipleMessagesExistingTopic";
+
+ expandNavTreeArrow(JMS_NAV_LABEL);
+ topicRemoveAllMessagesAfterMultipleMessages(jndiName);
+ }
+
+ /**
+ * Common code for the testTopicRemoveAllMessagesAfterMultipleMessages*
+ * tests.
+ */
+ private void topicRemoveAllMessagesAfterMultipleMessages(String jndiName) throws Exception {
+ createTopicSessionAndSendMessages(2, jndiName);
+
+ // Wait for messages to be delivered before removing them
+ Thread.sleep(10000);
+
+ // Set up the expected values
+ Map<String, String> expectedMetrics = new LinkedHashMap<String, String>();
+ expectedMetrics.put(ALL_MSG_COUNT, "0.0");
+ expectedMetrics.put(ALL_SUB_COUNT, "2.0");
+ expectedMetrics.put(DURABLE_MSG_COUNT, "0.0");
+ expectedMetrics.put(NON_DURABLE_MSG_COUNT, "0.0");
+ expectedMetrics.put(DURABLE_SUB_COUNT, "1.0");
+ expectedMetrics.put(NON_DURABLE_SUB_COUNT, "1.0");
+
+ performDestinationOperationAndCheckMetrics(DestinationType.TOPIC,
+ jndiName, REMOVE_ALL_MSGS,
+ expectedMetrics,
+ getTopicSummaryMetrics());
+ }
+
+ /**
+ * Test Name: testRemoveAllMessagesAfterQueueCreation
+ * Assertion: Verify that the metrics remain unchanged
+ * after executing the "Remove All Messages" operation for a queue
+ * when there are no messages.
+ */
+ public void testRemoveAllMessagesAfterQueueCreation() throws Exception {
+
+ String jndiName = "RemoveAllMessagesMAfterQueueCreation";
+
+ // Create the queue first
+ createQueue(jndiName);
+
+ // Set up the expected values
+ Map<String, String> expectedMetrics = new LinkedHashMap<String, String>();
+ expectedMetrics.put(CONSUMER_COUNT, "0.0");
+ expectedMetrics.put(DELIVERING_COUNT, "0.0");
+ expectedMetrics.put(MSG_COUNT, "0.0");
+ expectedMetrics.put(SCHEDULED_MSG_COUNT, "0.0");
+ expectedMetrics.put(COUNT, "0.0");
+ expectedMetrics.put(COUNT_DELTA, "0.0");
+ expectedMetrics.put(DEPTH, "0.0");
+ expectedMetrics.put(DEPTH_DELTA, "0.0");
+
+ performDestinationOperationAndCheckMetrics(DestinationType.QUEUE,
+ jndiName, REMOVE_ALL_MSGS,
+ expectedMetrics,
+ getQueueSummaryMetrics());
+ }
+
+ /**
+ * Test Name: testQueueRemoveAllMessagesAfterMultipleMessages
+ * Assertion: Verify that the metrics are updated appropriately
+ * after executing the "Remove All Messages" operation for a queue
+ * when there are multiple messages in the queue.
+ */
+ public void DISABLEDtestQueueRemoveAllMessagesAfterMultipleMessages() throws Exception {
+ String jndiName = "QueueRemoveAllMessagesAfterMultipleMessages";
+
+ // Create the queue first
+ createQueue(jndiName);
+ queueRemoveAllMessagesAfterMultipleMessages(jndiName);
+ }
+
+ /**
+ * Test Name: testQueueRemoveAllMessagesAfterMultipleMessagesUsingExistingServicefile
+ * Assertion: Verify that the metrics are updated appropriately
+ * after executing the "Remove All Messages" operation for a queue
+ * when there are multiple messages in the queue. Use a queue that
+ * already exists.
+ */
+ public void DISABLEDtestQueueRemoveAllMessagesAfterMultipleMessagesUsingExistingServiceFile() throws Exception {
+ String jndiName = "RemoveAllMessagesMultipleMessagesExistingQueue";
+
+ expandNavTreeArrow(JMS_NAV_LABEL);
+ queueRemoveAllMessagesAfterMultipleMessages(jndiName);
+ }
+
+ /**
+ * Common code for the testQueueRemoveAllMessagesAfterMultipleMessages*
+ * tests.
+ */
+ private void queueRemoveAllMessagesAfterMultipleMessages(String jndiName) throws Exception {
+ createQueueSessionAndSendMessages(2, jndiName);
+
+ // Wait for messages to be delivered before removing them
+ Thread.sleep(10000);
+
+ // Set up the expected values
+ Map<String, String> expectedMetrics = new LinkedHashMap<String, String>();
+ expectedMetrics.put(CONSUMER_COUNT, "0.0");
+ expectedMetrics.put(DELIVERING_COUNT, "0.0");
+ expectedMetrics.put(MSG_COUNT, "0.0");
+ expectedMetrics.put(SCHEDULED_MSG_COUNT, "0.0");
+ expectedMetrics.put(COUNT, "2.0");
+ expectedMetrics.put(COUNT_DELTA, "2.0");
+ expectedMetrics.put(DEPTH, "0.0");
+ expectedMetrics.put(DEPTH_DELTA, "0.0");
+
+ performDestinationOperationAndCheckMetrics(DestinationType.QUEUE,
+ jndiName, REMOVE_ALL_MSGS,
+ expectedMetrics,
+ getQueueSummaryMetrics());
+ }
+
+ /* OPERATION #2 - RESET MESSAGE COUNTER - APPLIES TO QUEUES ONLY */
+
+ /**
+ * Test Name: testResetMessageCounterAfterQueueCreation
+ * Assertion: Verify that the queue metrics are correct
+ * after executing the "Reset Message Counter" operation for a queue
+ * right after creation.
+ */
+ public void testResetMessageCounterAfterQueueCreation() throws Exception {
+ String jndiName = "ResetMessageCounterAfterQueueCreation";
+
+ // Create the queue first
+ createQueue(jndiName);
+
+ // Set up the expected values
+ Map<String, String> expectedMetrics = new LinkedHashMap<String, String>();
+ expectedMetrics.put(CONSUMER_COUNT, "0.0");
+ expectedMetrics.put(DELIVERING_COUNT, "0.0");
+ expectedMetrics.put(MSG_COUNT, "0.0");
+ expectedMetrics.put(SCHEDULED_MSG_COUNT, "0.0");
+ expectedMetrics.put(COUNT, "0.0");
+ expectedMetrics.put(COUNT_DELTA, "0.0");
+ expectedMetrics.put(DEPTH, "0.0");
+ expectedMetrics.put(DEPTH_DELTA, "0.0");
+
+ performDestinationOperationAndCheckMetrics(DestinationType.QUEUE,
+ jndiName, RESET_MSG_COUNTER,
+ expectedMetrics,
+ getQueueSummaryMetrics());
+ }
+
+ /**
+ * Test Name: testQueueResetMessageCounterAfterMultipleMessages
+ * Assertion: Verify that the queue metrics are correct
+ * after executing the "Reset Message Counter" operation for a queue
+ * when there are multiple messages in the queue.
+ */
+ public void testQueueResetMessageCounterAfterMultipleMessages() throws Exception {
+ String jndiName = "QueueResetMessageCounterAfterMultipleMessages";
+
+ // Create the queue first
+ createQueue(jndiName);
+ resetMessageCounterAfterMultipleMessages(jndiName);
+ }
+
+ /**
+ * Test Name: testQueueResetMessageCounterAfterMultipleMessagesUsingExistingServiceFile
+ * Assertion: Verify that the queue metrics are correct
+ * after executing the "Reset Message Counter" operation for a queue
+ * when there are multiple messages in the queue. Use a queue that
+ * already exists.
+ */
+ public void testQueueResetMessageCounterAfterMultipleMessagesUsingExistingServiceFile() throws Exception {
+ String jndiName = "ResetMessageCounterMultipleMessagesExistingQueue";
+
+ expandNavTreeArrow(JMS_NAV_LABEL);
+ resetMessageCounterAfterMultipleMessages(jndiName);
+ }
+
+
+ /**
+ * Common code for the testQueueResetMessageCounterAfterMultipleMessages*
+ * tests.
+ */
+ private void resetMessageCounterAfterMultipleMessages(String jndiName) throws Exception {
+ createQueueSessionAndSendMessages(3, jndiName);
+
+ // Set up the expected values
+ Map<String, String> expectedMetrics = new LinkedHashMap<String, String>();
+ expectedMetrics.put(CONSUMER_COUNT, "0.0");
+ expectedMetrics.put(DELIVERING_COUNT, "0.0");
+ expectedMetrics.put(MSG_COUNT, "3.0");
+ expectedMetrics.put(SCHEDULED_MSG_COUNT, "0.0");
+ expectedMetrics.put(COUNT, "0.0");
+ expectedMetrics.put(COUNT_DELTA, "0.0");
+ expectedMetrics.put(DEPTH, "3.0");
+ expectedMetrics.put(DEPTH_DELTA, "3.0");
+
+ performDestinationOperationAndCheckMetrics(DestinationType.QUEUE,
+ jndiName, RESET_MSG_COUNTER,
+ expectedMetrics,
+ getQueueSummaryMetrics());
+ }
+
+ /* OPERATION #3 - RESET MESSAGE COUNTER HISTORY - APPLIES TO QUEUES ONLY */
+
+ /**
+ * Test Name: testResetMessageCounterHistoryAfterQueueCreation
+ * Assertion: Verify that the queue metrics are correct after
+ * executing the "Reset Message Counter History" operation for a queue
+ * after creation.
+ */
+ public void testResetMessageCounterHistoryAfterQueueCreation() throws Exception {
+ String jndiName = "ResetMessageCounterHistoryAfterQueueCreation";
+
+ // Create the queue first
+ createQueue(jndiName);
+
+ // Set up the expected values
+ Map<String, String> expectedMetrics = new LinkedHashMap<String, String>();
+ expectedMetrics.put(CONSUMER_COUNT, "0.0");
+ expectedMetrics.put(DELIVERING_COUNT, "0.0");
+ expectedMetrics.put(MSG_COUNT, "0.0");
+ expectedMetrics.put(SCHEDULED_MSG_COUNT, "0.0");
+ expectedMetrics.put(COUNT, "0.0");
+ expectedMetrics.put(COUNT_DELTA, "0.0");
+ expectedMetrics.put(DEPTH, "0.0");
+ expectedMetrics.put(DEPTH_DELTA, "0.0");
+
+ performDestinationOperationAndCheckMetrics(DestinationType.QUEUE,
+ jndiName, RESET_MSG_COUNTER_HISTORY,
+ expectedMetrics,
+ getQueueSummaryMetrics());
+ }
+
+ /**
+ * Test Name: testQueueResetMessageCounterHistoryAfterMultipleMessages
+ * Assertion: Verify that the queue metrics are correct after
+ * executing the "Reset Message Counter History" operation for a queue
+ * that has multiple messages.
+ */
+ public void testQueueResetMessageCounterHistoryAfterMultipleMessages() throws Exception {
+ String jndiName = "QueueResetMessageCounterHistoryAfterMultipleMessages";
+
+ // Create the queue first
+ createQueue(jndiName);
+ queueResetMessageCounterHistoryAfterMultipleMessages(jndiName);
+ }
+
+ /**
+ * Test Name: testQueueResetMessageCounterHistoryAfterMultipleMessagesUsingExistingServiceFile
+ * Assertion: Verify that the queue metrics are correct after
+ * executing the "Reset Message Counter History" operation for a queue
+ * that has multiple messages. Use a queue that already exists.
+ */
+ public void testQueueResetMessageCounterHistoryAfterMultipleMessagesUsingExsitingServiceFile() throws Exception {
+ String jndiName = "ResetMessageCounterHistoryMultipleMessagesExistingQueue";
+
+ expandNavTreeArrow(JMS_NAV_LABEL);
+ queueResetMessageCounterHistoryAfterMultipleMessages(jndiName);
+ }
+
+ /**
+ * Common code for the testQueueResetMessageCounterHistoryAfterMultipleMessages*
+ * tests.
+ */
+ private void queueResetMessageCounterHistoryAfterMultipleMessages(String jndiName) throws Exception {
+ createQueueSessionAndSendMessages(3, jndiName);
+
+ // Set up the expected values
+ Map<String, String> expectedMetrics = new LinkedHashMap<String, String>();
+ expectedMetrics.put(CONSUMER_COUNT, "0.0");
+ expectedMetrics.put(DELIVERING_COUNT, "0.0");
+ expectedMetrics.put(MSG_COUNT, "3.0");
+ expectedMetrics.put(SCHEDULED_MSG_COUNT, "0.0");
+ expectedMetrics.put(COUNT, "3.0");
+ expectedMetrics.put(COUNT_DELTA, "3.0");
+ expectedMetrics.put(DEPTH, "3.0");
+ expectedMetrics.put(DEPTH_DELTA, "3.0");
+
+ performDestinationOperationAndCheckMetrics(DestinationType.QUEUE,
+ jndiName, RESET_MSG_COUNTER_HISTORY,
+ expectedMetrics,
+ getQueueSummaryMetrics());
+ }
+
+ /* OPERATION #4 - LIST ALL SUBSCRIPTIONS - APPLIES ONLY TO TOPICS */
+
+ /**
+ * Test Name: testListAllSubscriptionsAfterTopicCreation
+ * Assertion: Make sure that the correct results get displayed
+ * after the "List All Subscriptions" operation is invoked for
+ * a topic right after creation.
+ */
+ public void testListAllSubscriptionsAfterTopicCreation() throws Exception {
+ String jndiName = "ListAllSubscriptionsAfterTopicCreation";
+
+ // Create the topic first
+ createTopic(jndiName);
+
+ performListSubscriptionsAndCheckResults(jndiName, LIST_ALL_SUB, Boolean.TRUE);
+ }
+
+
+ /**
+ * Test Name: testTopicListAllSubscriptionsAfterMultipleSubscribers
+ * Assertion: Verify that the correct results get displayed after invoking
+ * the "List All Subscriptions" operation for a topic that has multiple subscribers.
+ */
+ public void testTopicListAllSubscriptionsAfterMultipleSubscribers() throws Exception {
+ String jndiName = "ListAllSubscriptionsAfterMultipleSubscribers";
+
+ // Create the topic first
+ createTopic(jndiName);
+
+ listAllSubscriptionsAfterMultipleSubscribers(jndiName);
+ }
+
+ /**
+ * Test Name: testTopicListAllSubscriptionsAfterMultipleSubscribersUsingExistingServiceFile
+ * Assertion: Verify that the correct results get displayed after invoking
+ * the "List All Subscriptions" operation for a topic that has multiple subscribers.
+ * Use a topic that already exists.
+ */
+ public void testTopicListAllSubscriptionsAfterMultipleSubscribersUsingExistingServiceFile() throws Exception {
+ String jndiName = "ListAllSubscriptionsMultipleSubscribersExistingTopic";
+
+ expandNavTreeArrow(JMS_NAV_LABEL);
+ listAllSubscriptionsAfterMultipleSubscribers(jndiName);
+ }
+
+ /**
+ * Common code for the testListAllSubscriptionsAfterMultipleSubscribers* tests.
+ */
+ private void listAllSubscriptionsAfterMultipleSubscribers(String jndiName) throws Exception {
+ TopicSession session = createTopicSession();
+ Topic topic = getTopic(jndiName);
+
+ // Create multiple subscriptions (2 durable ones, 2 non-durable ones)
+ for(int i = 0; i < 2; i++) {
+ createDurableTopicSubscriber(session, topic, jndiName + "Subscriber" + i);
+ createNonDurableTopicSubscriber(session, topic);
+ }
+
+ performListSubscriptionsAndCheckResults(jndiName, LIST_ALL_SUB,
+ Boolean.FALSE);
+ }
+
+ /* OPERATION #5 - LIST DURABLE SUBSCRIPTIONS - APPLIES TO TOPICS ONLY */
+
+ /**
+ * Test Name: testListDurableSubscriptionsAfterTopicCreation
+ * Assertion: Make sure that the correct results get displayed
+ * after the "List Durable Subscriptions" operation is invoked for
+ * a topic right after creation.
+ */
+ public void testListDurableSubscriptionsAfterTopicCreation() throws Exception {
+ String jndiName = "ListDurableSubscriptionsAfterTopicCreation";
+
+ // Create the topic first
+ createTopic(jndiName);
+
+ performListSubscriptionsAndCheckResults(jndiName, LIST_DURABLE_SUB, Boolean.TRUE);
+ }
+
+ /**
+ * Test Name: testTopicListDurableSubscriptionsAfterMultipleSubscribers
+ * Assertion: Verify that the correct results get displayed after invoking
+ * the "List Durable Subscriptions" operation for a topic that has multiple
+ * durable subscribers.
+ */
+ public void testTopicListDurableSubscriptionsAfterMultipleSubscribers() throws Exception {
+ String jndiName = "ListDurableSubscriptionsAfterMultipleSubscribers";
+
+ // Create the topic first
+ createTopic(jndiName);
+
+ listDurableSubscriptionsAfterMultipleSubscribers(jndiName);
+ }
+
+ /**
+ * Test Name: testTopicListDurableSubscriptionsAfterMultipleSubscribersUsingExistingServiceFile
+ * Assertion: Verify that the correct results get displayed after invoking
+ * the "List Durable Subscriptions" operation for a topic that has multiple
+ * durable subscribers. Use a topic that already exists.
+ */
+ public void testTopicListDurableSubscriptionsAfterMultipleSubscribersUsingExistingServiceFile() throws Exception {
+ String jndiName = "ListDurableSubscriptionsMultipleSubscribersExistingTopic";
+
+ expandNavTreeArrow(JMS_NAV_LABEL);
+ listDurableSubscriptionsAfterMultipleSubscribers(jndiName);
+ }
+
+ /**
+ * Common code for the testListDurableSubscriptionsAfterMultipleSubscribers* tests.
+ */
+ private void listDurableSubscriptionsAfterMultipleSubscribers(String jndiName) throws Exception {
+ createTopicSessionAndDurableSubscribers(2, jndiName);
+
+ performListSubscriptionsAndCheckResults(jndiName, LIST_DURABLE_SUB,
+ Boolean.FALSE);
+ }
+
+ /* OPERATION #6 - LIST NON DURABLE SUBSCRIPTIONS - APPLIES TO TOPICS ONLY*/
+
+ /**
+ * Test Name: testListNonDurableSubscriptionsAfterTopicCreation
+ * Assertion: Make sure that the correct results get displayed
+ * after the "List Non Durable Subscriptions" operation is invoked for
+ * a topic right after creation.
+ */
+ public void testListNonDurableSubscriptionsAfterTopicCreation() throws Exception {
+ String jndiName = "ListNonDurableSubscriptionsAfterTopicCreation";
+
+ // Create the topic first
+ createTopic(jndiName);
+
+ performListSubscriptionsAndCheckResults(jndiName, LIST_NON_DURABLE_SUB, Boolean.TRUE);
+ }
+
+ /**
+ * Test Name: testTopicListNonDurableSubscriptionsAfterMultipleSubscribers
+ * Assertion: Verify that the correct results get displayed after invoking
+ * the "List Non Durable Subscriptions" operation for a topic that has multiple
+ * non-durable subscribers.
+ */
+ public void testTopicListNonDurableSubscriptionsAfterMultipleSubscribers() throws Exception {
+ String jndiName = "ListNonDurableSubscriptionsAfterMultipleSubscribers";
+
+ // Create the topic first
+ createTopic(jndiName);
+
+ listNonDurableSubscriptionsAfterMultipleSubscribers(jndiName);
+ }
+
+ /**
+ * Test Name: testTopicListNonDurableSubscriptionsAfterMultipleSubscribersUsingExistingServiceFile
+ * Assertion: Verify that the correct results get displayed after invoking
+ * the "List Non Durable Subscriptions" operation for a topic that has multiple
+ * non-durable subscribers. Use a topic that already exists.
+ */
+ public void testTopicListNonDurableSubscriptionsAfterMultipleSubscribersUsingExistingServiceFile() throws Exception {
+ String jndiName = "ListNonDurableSubscriptionsMultipleSubscribersExistingTopic";
+
+ expandNavTreeArrow(JMS_NAV_LABEL);
+ listNonDurableSubscriptionsAfterMultipleSubscribers(jndiName);
+ }
+
+ /**
+ * Common code for the testListNonDurableSubscriptionsAfterMultipleSubscribers* tests.
+ */
+ private void listNonDurableSubscriptionsAfterMultipleSubscribers(String jndiName) throws Exception {
+ createTopicSessionAndNonDurableSubscribers(2, jndiName);
+
+ performListSubscriptionsAndCheckResults(jndiName, LIST_NON_DURABLE_SUB,
+ Boolean.FALSE);
+ }
+
+
+ /* OPERATION #7 - LIST MESSAGE COUNTER AS HTML - APPLIES TO QUEUES ONLY */
+
+ /**
+ * Test Name: testListMessageCounterAsHTMLAfterQueueCreation
+ * Assertion: Make sure that the "List Message Counter As HTML"
+ * operation for queues is executed successfully after creating
+ * a new queue.
+ */
+ public void testListMessageCounterAsHTMLAfterQueueCreation() throws Exception {
+ ArrayList<String> expectedValues = new ArrayList<String>();
+
+ String jndiName = "ListMessageCounterAfterQueueCreation";
+
+ //Create the queue first
+ createQueue(jndiName);
+
+ // Set up the expected result
+ StringBuffer expectedBuffer = new StringBuffer();
+ expectedBuffer.append(formatTableCell(DestinationType.QUEUE.getName()));
+ expectedBuffer.append(formatTableCell(DestinationType.QUEUE.getName()
+ + "." + jndiName));
+ expectedBuffer.append(formatTableCell("-")); // Subscription
+ expectedBuffer.append(formatTableCell("-")); // Durable
+ expectedBuffer.append(formatTableCell("0")); // Count
+ expectedBuffer.append(formatTableCell("-")); // Count delta
+ expectedBuffer.append(formatTableCell("0")); // Depth
+ expectedBuffer.append(formatTableCell("-")); // Depth delta
+
+ expectedValues.add(expectedBuffer.toString());
+
+ performListAsHtmlOperation(jndiName,
+ DestinationType.QUEUE,
+ LIST_MSG_COUNTER_AS_HTML,
+ Boolean.FALSE,
+ expectedValues);
+ }
+
+ /**
+ * Test Name: testListMessageCounterAsHTMLAfterMultipleMessages
+ * Assertion: Make sure that the "List Message Counter As HTML"
+ * operation for queues returns the correct results when the queue has
+ * multiple messages.
+ */
+ public void testListMessageCounterAsHTMLAfterMultipleMessagess() throws Exception {
+ String jndiName = "ListMessageCounterAfterMultipleMessages";
+
+ // Create the queue first
+ createQueue(jndiName);
+
+ listMessageCounterAsHtmlAfterMultipleMessages(jndiName);
+ }
+
+ /**
+ * Test Name: testListMessageCounterAsHTMLAfterMultipleMessagesUsingExistingServiceFile
+ * Assertion: Make sure that the "List Message Counter As HTML"
+ * operation for queues returns the correct results when the queue has
+ * multiple messages. Use a queue that already exists.
+ */
+ public void testListMessageCounterAsHTMLAfterMultipleMessagesUsingExistingServiceFile() throws Exception {
+ String jndiName = "ListMessageCounterMultipleMessagesExistingQueue";
+ expandNavTreeArrow(JMS_NAV_LABEL);
+
+ listMessageCounterAsHtmlAfterMultipleMessages(jndiName);
+ }
+
+ /**
+ * Common code for the testListMessageCounterAsHTMLAfterMultipleMessages* tests.
+ */
+ private void listMessageCounterAsHtmlAfterMultipleMessages(String jndiName) throws Exception {
+ ArrayList<String> expectedValues = new ArrayList<String>();
+
+ // Send some messages to the queue
+ createQueueSessionAndSendMessages(2, jndiName);
+
+ // Set up the expected result
+ StringBuffer expectedBuffer = new StringBuffer();
+ expectedBuffer.append(formatTableCell(DestinationType.QUEUE.getName()));
+ expectedBuffer.append(formatTableCell(DestinationType.QUEUE.getName()
+ + "." + jndiName));
+ expectedBuffer.append(formatTableCell("-")); // Subscription
+ expectedBuffer.append(formatTableCell("-")); // Durable
+ expectedBuffer.append(formatTableCell("2")); // Count
+ expectedBuffer.append(formatTableCell("2")); // Count delta
+ expectedBuffer.append(formatTableCell("2")); // Depth
+ expectedBuffer.append(formatTableCell("2")); // Depth delta
+
+ expectedValues.add(expectedBuffer.toString());
+
+ performListAsHtmlOperation(jndiName,
+ DestinationType.QUEUE,
+ LIST_MSG_COUNTER_AS_HTML,
+ Boolean.FALSE,
+ expectedValues);
+ }
+
+ /* OPERATION #8 - LIST MESSAGE COUNTER HISTORY AS HTML - APPLIES TO QUEUES ONLY*/
+
+ /**
+ * Test Name: testListMessageCounterHistoryAsHTMLAfterQueueCreation
+ * Assertion: Make sure that the "List Message Counter History As HTML"
+ * operation for queues returns the correct results after creating
+ * a new queue.
+ */
+ public void testListMessageCounterHistoryAsHTMLAfterQueueCreation() throws Exception {
+ String jndiName = "ListMessageCounterHistoryAfterQueueCreation";
+
+ ArrayList<String> expectedValue = new ArrayList<String>();
+ expectedValue.add("");
+
+ //Create the queue first
+ createQueue(jndiName);
+
+ performListAsHtmlOperation(jndiName,
+ DestinationType.QUEUE,
+ LIST_MSG_COUNTER_HISTORY_AS_HTML,
+ Boolean.FALSE,
+ expectedValue);
+ }
+
+ /**
+ * Test Name: testListMessageCounterHistoryAsHTMLUsingExistingServiceFile
+ * Assertion: Make sure that the "List Message Counter History As HTML"
+ * operation for queues returns the correct results. Use a queue that already
+ * exists.
+ */
+ public void testListMessageCounterHistoryAsHTMLUsingExistingServiceFile() throws Exception {
+ String jndiName = "ListMessageCounterHistoryExistingQueue";
+
+ ArrayList<String> expectedValue = new ArrayList<String>();
+ expectedValue.add("");
+
+ expandNavTreeArrow(JMS_NAV_LABEL);
+
+ performListAsHtmlOperation(jndiName,
+ DestinationType.QUEUE,
+ LIST_MSG_COUNTER_HISTORY_AS_HTML,
+ Boolean.FALSE,
+ expectedValue);
+ }
+
+ /* OPERATION #9 - LIST DURABLE SUBSCRIPTIONS AS HTML - APPLIES TO TOPICS ONLY */
+
+ /**
+ * Test Name: testListDurableSubscriptionsAsHTMLAfterTopicCreation
+ * Assertion: Make sure that the "List Durable Subscriptions As HTML"
+ * operation for topics returns the correct results after creating
+ * a new topic.
+ */
+ public void testListDurableSubscriptionsAsHTMLAfterTopicCreation() throws Exception {
+ String jndiName = "ListDurableSubscriptionsHtmlAfterTopicCreation";
+
+ // Create the topic first
+ createTopic(jndiName);
+
+ performListAsHtmlOperationAfterCreation(jndiName,
+ DestinationType.TOPIC,
+ LIST_DURABLE_SUB_AS_HTML,
+ Boolean.FALSE);
+ }
+
+ /**
+ * Test Name: testListDurableSubscriptionsAsHTMLAfterMultipleSubscribers
+ * Assertion: Make sure that the "List Durable Subscriptions As HTML"
+ * operation for topics returns the correct results when the topic
+ * has multiple durable subscribers.
+ */
+ public void testListDurableSubscriptionsAsHTMLAfterMultipleSubscribers()
+ throws Exception {
+
+ String jndiName = "ListDurableSubscriptionsHtmlAfterMultipleSubscribers";
+ createTopic(jndiName);
+
+ listDurableSubscriptionsAsHtmlAfterMultipleSubscribers(jndiName);
+ }
+
+ /**
+ * Test Name: testListDurableSubscriptionsAsHTMLAfterMultipleSubscribersUsingExistingServiceFile
+ * Assertion: Make sure that the "List Durable Subscriptions As HTML"
+ * operation for topics returns the correct results when the topic
+ * has multiple durable subscribers. Use a topic that already exists.
+ */
+ public void testListDurableSubscriptionsAsHTMLAfterMultipleSubscribersUsingExistingServiceFile()
+ throws Exception {
+
+ String jndiName = "ListDurableSubscriptionsHtmlMultipleSubscribersExistingTopic";
+ expandNavTreeArrow(JMS_NAV_LABEL);
+
+ listDurableSubscriptionsAsHtmlAfterMultipleSubscribers(jndiName);
+ }
+
+ /**
+ * Common code for the listDurableSubscriptionsAfterMultipleSubscribers* tests.
+ */
+ private void listDurableSubscriptionsAsHtmlAfterMultipleSubscribers(String jndiName) throws Exception {
+ ArrayList<String> expectedValues = new ArrayList<String>();
+
+ // Create some durable subscribers
+ createTopicSessionAndDurableSubscribers(2, jndiName);
+
+ // Set up the expected result
+ StringBuffer expectedBuffer1 = new StringBuffer();
+ expectedBuffer1.append(formatTableCell(CLIENT_ID + "." + jndiName + "Subscriber0")); // Id
+ expectedBuffer1.append(formatTableCell(DURABLE)); // Durable
+ expectedBuffer1.append(formatTableCell(jndiName + "Subscriber0")); // Subscription Name
+ expectedBuffer1.append(formatTableCell(CLIENT_ID)); // Client Id
+ expectedBuffer1.append(formatTableCell("")); // Selector
+ expectedBuffer1.append(formatTableCell("0")); // Message Count
+
+ expectedValues.add(expectedBuffer1.toString());
+
+ StringBuffer expectedBuffer2 = new StringBuffer();
+ expectedBuffer2.append(formatTableCell(CLIENT_ID + "." + jndiName + "Subscriber1")); // Id
+ expectedBuffer2.append(formatTableCell(DURABLE)); // Durable
+ expectedBuffer2.append(formatTableCell(jndiName + "Subscriber1")); // Subscription Name
+ expectedBuffer2.append(formatTableCell(CLIENT_ID)); // Client Id
+ expectedBuffer2.append(formatTableCell("")); // Selector
+ expectedBuffer2.append(formatTableCell("0")); // Message Count
+
+ expectedValues.add(expectedBuffer2.toString());
+
+ performListAsHtmlOperation(jndiName,
+ DestinationType.TOPIC,
+ LIST_DURABLE_SUB_AS_HTML,
+ Boolean.FALSE,
+ expectedValues);
+ }
+
+ /* OPERATION #10 - LIST NON DURABLE SUBSCRIPTIONS AS HTML - APPPLIES ONLY TO TOPICS */
+
+ /**
+ * Test Name: testListNonDurableSubscriptionsAsHTMLAfterTopicCreation
+ * Assertion: Make sure that the "List Non Durable Subscriptions As HTML"
+ * operation for topics returns the correct results after creating
+ * a new topic.
+ */
+ public void testListNonDurableSubscriptionsAsHTMLAfterTopicCreation() throws Exception {
+ String jndiName = "ListNonDurableSubscriptionsHtmlAfterTopicCreation";
+
+ // Create the topic first
+ createTopic(jndiName);
+
+ performListAsHtmlOperationAfterCreation(jndiName,
+ DestinationType.TOPIC,
+ LIST_NON_DURABLE_SUB_AS_HTML,
+ Boolean.FALSE);
+ }
+
+ /**
+ * Test Name: testListNonDurableSubscriptionsAsHTMLAfterMultipleSubscribers
+ * Assertion: Make sure that the "List Non Durable Subscriptions As HTML"
+ * operation for topics returns the correct results when the topic
+ * has multiple non durable subscribers.
+ */
+ public void testListNonDurableSubscriptionsAsHTMLAfterMultipleSubscribers()
+ throws Exception {
+
+ String jndiName = "ListNonDurableSubscriptionsHtmlAfterMultipleSubscribers";
+ createTopic(jndiName);
+
+ listNonDurableSubscriptionsAsHtmlAfterMultipleSubscribers(jndiName);
+ }
+
+ /**
+ * Test Name: testListNonDurableSubscriptionsAsHTMLAfterMultipleSubscribersUsingExistingServiceFile
+ * Assertion: Make sure that the "List Non Durable Subscriptions As HTML"
+ * operation for topics returns the correct results when the topic
+ * has multiple non durable subscribers. Use a topic that already exists.
+ */
+ public void testListNonDurableSubscriptionsAsHTMLAfterMultipleSubscribersUsingExistingServiceFile()
+ throws Exception {
+
+ String jndiName = "ListNonDurableSubscriptionsHtmlMultipleSubscribersExistingTopic";
+ expandNavTreeArrow(JMS_NAV_LABEL);
+
+ listNonDurableSubscriptionsAsHtmlAfterMultipleSubscribers(jndiName);
+ }
+
+ /**
+ * Common code for the listNonDurableSubscriptionsAfterMultipleSubscribers* tests.
+ */
+ private void listNonDurableSubscriptionsAsHtmlAfterMultipleSubscribers(String jndiName) throws Exception {
+ ArrayList<String> expectedValues = new ArrayList<String>();
+
+ // Create some non durable subscribers
+ createTopicSessionAndNonDurableSubscribers(2, jndiName);
+
+ // Set up the expected result
+ StringBuffer expectedBuffer = new StringBuffer();
+ expectedBuffer.append(formatTableCell(NON_DURABLE)); // Durable
+ expectedBuffer.append(formatTableCell("")); // Subscription Name
+ expectedBuffer.append(formatTableCell("")); // Client Id
+ expectedBuffer.append(formatTableCell("")); // Selector
+ expectedBuffer.append(formatTableCell("0")); // Message Count
+
+ expectedValues.add(expectedBuffer.toString());
+
+ performListAsHtmlOperation(jndiName,
+ DestinationType.TOPIC,
+ LIST_NON_DURABLE_SUB_AS_HTML,
+ Boolean.FALSE,
+ expectedValues);
+ }
+
+ /* OPERATION #11 - LIST ALL SUBSCRIPTIONS AS HTML - APPPLIES ONLY TO TOPICS */
+
+ /**
+ * Test Name: testListAllSubscriptionsAsHTMLAfterTopicCreation
+ * Assertion: Make sure that the "List All Subscriptions As HTML"
+ * operation for topics returns the correct results after creating
+ * a new topic.
+ */
+ public void testListAllSubscriptionsAsHTMLAfterTopicCreation() throws Exception {
+ String jndiName = "ListAllSubscriptionsHtmlAfterTopicCreation";
+
+ // Create the topic first
+ createTopic(jndiName);
+
+ performListAsHtmlOperationAfterCreation(jndiName,
+ DestinationType.TOPIC,
+ LIST_ALL_SUB_AS_HTML,
+ Boolean.FALSE);
+ }
+
+ /**
+ * Test Name: testListAllSubscriptionsAsHTMLAfterMultipleSubscribers
+ * Assertion: Make sure that the "List All Subscriptions As HTML"
+ * operation for topics returns the correct results when the topic
+ * has multiple durable subscribers.
+ */
+ public void testListAllSubscriptionsAsHTMLAfterMultipleSubscribers()
+ throws Exception {
+
+ String jndiName = "ListAllSubscriptionsHtmlAfterMultipleSubscribers";
+ createTopic(jndiName);
+
+ listAllSubscriptionsAsHtmlAfterMultipleSubscribers(jndiName);
+ }
+
+ /**
+ * Test Name: testListAllSubscriptionsAsHTMLAfterMultipleSubscribersUsingExistingServiceFile
+ * Assertion: Make sure that the "List All Subscriptions As HTML"
+ * operation for topics returns the correct results when the topic
+ * has multiple durable subscribers. Use a topic that already exists.
+ */
+ public void testListAllSubscriptionsAsHTMLAfterMultipleSubscribersUsingExistingServiceFile()
+ throws Exception {
+
+ String jndiName = "ListAllSubscriptionsHtmlMultipleSubscribersExistingTopic";
+ expandNavTreeArrow(JMS_NAV_LABEL);
+
+ listAllSubscriptionsAsHtmlAfterMultipleSubscribers(jndiName);
+ }
+
+ /**
+ * Common code for the listAllSubscriptionsAfterMultipleSubscribers* tests.
+ */
+ private void listAllSubscriptionsAsHtmlAfterMultipleSubscribers(String jndiName) throws Exception {
+ ArrayList<String> expectedValues = new ArrayList<String>();
+
+ // Create a non-durable and durable subscriber
+ createTopicSessionAndMultipleSubscribers(1, jndiName);
+
+ // Set up the expected result
+ StringBuffer expectedBuffer1 = new StringBuffer();
+ expectedBuffer1.append(formatTableCell(NON_DURABLE)); // Durable
+ expectedBuffer1.append(formatTableCell("")); // Subscription Name
+ expectedBuffer1.append(formatTableCell("")); // Client Id
+ expectedBuffer1.append(formatTableCell("")); // Selector
+ expectedBuffer1.append(formatTableCell("0")); // Message Count
+
+ expectedValues.add(expectedBuffer1.toString());
+
+ StringBuffer expectedBuffer2 = new StringBuffer();
+ expectedBuffer2.append(TABLE_ROW_DELIM);
+ expectedBuffer2.append(formatTableCell(CLIENT_ID + "." + jndiName + "Subscriber0")); // Id
+ expectedBuffer2.append(formatTableCell(DURABLE)); // Durable
+ expectedBuffer2.append(formatTableCell(jndiName + "Subscriber0")); // Subscription Name
+ expectedBuffer2.append(formatTableCell(CLIENT_ID)); // Client Id
+ expectedBuffer2.append(formatTableCell("")); // Selector
+ expectedBuffer2.append(formatTableCell("0")); // Message Count
+
+ expectedValues.add(expectedBuffer2.toString());
+
+ performListAsHtmlOperation(jndiName,
+ DestinationType.TOPIC,
+ LIST_ALL_SUB_AS_HTML,
+ Boolean.FALSE,
+ expectedValues);
+ }
+
+ /**
+ * Common code for the List*AsHTML tests.
+ */
+ private void performListAsHtmlOperation(String jndiName,
+ DestinationType destinationType,
+ String operationName,
+ Boolean takesParameters,
+ ArrayList<String> expectedValues) throws Exception {
+
+ performResourceOperation(JMS_NAV_LABEL, destinationType.getNavLabel(),
+ jndiName, operationName, takesParameters);
+
+ // Click on the "Show/Hide Details" link
+ HtmlAnchor detailsLink = getLinkInsideForm(OPERATION_HISTORY_FORM, OPERATION_DETAILS);
+ detailsLink.click();
+
+ // Get the result of the operation
+ HtmlForm form = (HtmlForm)client.getElement(OPERATION_HISTORY_FORM);
+ HtmlInput input = (HtmlInput)form.getFirstByXPath(".//input[@class='property-value-input']");
+ assertNotNull("Could not get the result of the operation", input);
+
+ String result = input.getValueAttribute();
+
+ String shortenedResult = result.substring(result.indexOf(TABLE_CELL_DELIM),
+ result.lastIndexOf(TABLE_ROW_END_DELIM));
+
+ log.info("Operation result was: " + shortenedResult);
+
+ assertFalse("The result of the operation was an empty string", result.equals(""));
+ for(int i = 0; i < expectedValues.size(); i++) {
+ assertTrue("Expected the result to contain:\n\n" + expectedValues.get(i) + "\n\nbut was:\n\n" + shortenedResult,
+ shortenedResult.contains(expectedValues.get(i)));
+ }
+
+ // Clean up
+ disconnect();
+ deleteDestination(destinationType, jndiName);
+ }
+
+ /**
+ * Common code for the List*AsHTML*After*Creation tests.
+ */
+ private void performListAsHtmlOperationAfterCreation(String jndiName,
+ DestinationType destinationType,
+ String operationName,
+ Boolean takesParameters) throws Exception {
+
+ performResourceOperation(JMS_NAV_LABEL, destinationType.getNavLabel(),
+ jndiName, operationName, takesParameters);
+
+ // Click on the "Show/Hide Details" link
+ HtmlAnchor detailsLink = getLinkInsideForm(OPERATION_HISTORY_FORM, OPERATION_DETAILS);
+ detailsLink.click();
+
+ // Get the result of the operation
+ HtmlForm form = (HtmlForm)client.getElement(OPERATION_HISTORY_FORM);
+ HtmlInput input = (HtmlInput)form.getFirstByXPath(".//input[@class='property-value-input']");
+ assertNotNull("Could not get the result of the operation", input);
+
+ String result = input.getValueAttribute();
+
+ log.info("Operation result was: " + result);
+
+ assertFalse("The result of the operation was an empty string", result.equals(""));
+
+ // Clean up
+ disconnect();
+ deleteDestination(destinationType, jndiName);
+ }
+
+ /* OPERATION #12 - CREATE - APPLIES TO TOPICS AND QUEUES */
+
+ /**
+ * Test Name: testTopicCreateOperation
+ * Assertion: Make sure that the "Create" operation for topics is executed
+ * successfully.
+ */
+ public void testTopicCreateOperation() throws Exception {
+ String jndiName = "TopicCreate";
+
+ // Create the topic first
+ createTopic(jndiName);
+ performServletLifecycleOperation(jndiName, DestinationType.TOPIC,
+ CREATE, Boolean.TRUE);
+ }
+
+ /**
+ * Test Name: testTopicCreateOperationUsingExistingServiceFile
+ * Assertion: Make sure that the "Create" operation for topics is executed
+ * successfully. Use a topic that already exists.
+ */
+ public void testTopicCreateOperationUsingExistingServiceFile() throws Exception {
+ String jndiName = "CreateOperationExistingTopic";
+
+ expandNavTreeArrow(JMS_NAV_LABEL);
+ performServletLifecycleOperation(jndiName, DestinationType.TOPIC,
+ CREATE, Boolean.TRUE);
+ }
+
+ /**
+ * Test Name: testQueueCreateOperation
+ * Assertion: Make sure that the "Create" operation for queues is executed
+ * successfully.
+ */
+ public void testQueueCreateOperation() throws Exception {
+ String jndiName = "QueueCreate";
+
+ // Create the queue first
+ createQueue(jndiName);
+ performServletLifecycleOperation(jndiName, DestinationType.QUEUE,
+ CREATE, Boolean.TRUE);
+ }
+
+ /**
+ * Test Name: testQueueCreateOperationUsingExistingServiceFile
+ * Assertion: Make sure that the "Create" operation for queues is executed
+ * successfully. Use a queue that already exists.
+ */
+ public void testQueueCreateOperationUsingExistingServiceFile() throws Exception {
+ String jndiName = "CreateOperationExistingQueue";
+
+ expandNavTreeArrow(JMS_NAV_LABEL);
+ performServletLifecycleOperation(jndiName, DestinationType.QUEUE,
+ CREATE, Boolean.TRUE);
+ }
+
+ /* OPERATION #13 - START - APPLIES TO TOPICS AND QUEUES */
+
+ /**
+ * Test Name: testTopicStartOperation
+ * Assertion: Make sure that the "Start" operation for topics is executed
+ * successfully.
+ */
+ public void testTopicStartOperation() throws Exception {
+ String jndiName = "TopicStart";
+
+ // Create the topic first
+ createTopic(jndiName);
+ performServletLifecycleOperation(jndiName, DestinationType.TOPIC,
+ START, Boolean.TRUE);
+
+ }
+
+ /**
+ * Test Name: testTopicStartOperationUsingExistingServiceFile
+ * Assertion: Make sure that the "Start" operation for topics is executed
+ * successfully. Use a topic that already exists.
+ */
+ public void testTopicStartOperationUsingExistingServiceFile() throws Exception {
+ String jndiName = "StartOperationExistingTopic";
+
+ expandNavTreeArrow(JMS_NAV_LABEL);
+ performServletLifecycleOperation(jndiName, DestinationType.TOPIC,
+ START, Boolean.TRUE);
+
+ }
+
+ /**
+ * Test Name: testQueueStartOperation
+ * Assertion: Make sure that the "Start" operation for queues is executed
+ * successfully.
+ */
+ public void testQueueStartOperation() throws Exception {
+ String jndiName = "QueueStart";
+
+ // Create the queue first
+ createQueue(jndiName);
+ performServletLifecycleOperation(jndiName, DestinationType.QUEUE,
+ START, Boolean.TRUE);
+
+ }
+
+ /**
+ * Test Name: testQueueStartOperationUsingExistingServiceFile
+ * Assertion: Make sure that the "Start" operation for queues is executed
+ * successfully. Use a queue that already exists.
+ */
+ public void testQueueStartOperationUsingExistingServiceFile() throws Exception {
+ String jndiName = "StartOperationExistingQueue";
+
+ expandNavTreeArrow(JMS_NAV_LABEL);
+ performServletLifecycleOperation(jndiName, DestinationType.QUEUE,
+ START, Boolean.TRUE);
+
+ }
+
+ /* OPERATION #14 - DESTROY - APPLIES TO TOPICS AND QUEUES */
+
+ /**
+ * Test Name: testTopicDestroyOperation
+ * Assertion: Make sure that the "Destroy" operation for topics is executed
+ * successfully.
+ */
+ public void testTopicDestroyOperation() throws Exception {
+ String jndiName = "TopicDestroy";
+
+ // Create the topic first
+ createTopic(jndiName);
+ performServletLifecycleOperation(jndiName, DestinationType.TOPIC,
+ DESTROY, Boolean.FALSE);
+
+ }
+
+ /**
+ * Test Name: testTopicDestroyOperationUsingExistingServiceFile
+ * Assertion: Make sure that the "Destroy" operation for topics is executed
+ * successfully. Use a topic that already exists.
+ */
+ public void testTopicDestroyOperationUsingExistingServiceFile() throws Exception {
+ String jndiName = "DestroyOperationExistingTopic";
+
+ expandNavTreeArrow(JMS_NAV_LABEL);
+ performServletLifecycleOperation(jndiName, DestinationType.TOPIC,
+ DESTROY, Boolean.FALSE);
+
+ }
+
+ /**
+ * Test Name: testQueueDestroyOperation
+ * Assertion: Make sure that the "Destroy" operation for queues is executed
+ * successfully.
+ */
+ public void testQueueDestroyOperation() throws Exception {
+ String jndiName = "QueueDestroy";
+
+ // Create the queue first
+ createQueue(jndiName);
+ performServletLifecycleOperation(jndiName, DestinationType.QUEUE,
+ DESTROY, Boolean.FALSE);
+
+ }
+
+ /**
+ * Test Name: testQueueDestroyOperationUsingExistingServiceFile
+ * Assertion: Make sure that the "Destroy" operation for queues is executed
+ * successfully. Use a queue that already exists.
+ */
+ public void testQueueDestroyOperationUsingExistingServiceFile() throws Exception {
+ String jndiName = "DestroyOperationExistingQueue";
+
+ expandNavTreeArrow(JMS_NAV_LABEL);
+ performServletLifecycleOperation(jndiName, DestinationType.QUEUE,
+ DESTROY, Boolean.FALSE);
+
+ }
+
+ /* OPERATION #15 - STOP - APPLIES TO TOPICS AND QUEUES */
+
+ /**
+ * Test Name: testTopicStopOperation
+ * Assertion: Make sure that the "Stop" operation for topics is executed
+ * successfully.
+ */
+ public void testTopicStopOperation() throws Exception {
+ String jndiName = "TopicStop";
+
+ // Create the topic first
+ createTopic(jndiName);
+ performServletLifecycleOperation(jndiName, DestinationType.TOPIC,
+ STOP, Boolean.FALSE);
+
+ }
+
+ /**
+ * Test Name: testTopicStopOperationUsingExistingServiceFile
+ * Assertion: Make sure that the "Stop" operation for topics is executed
+ * successfully. Use a topic that already exists.
+ */
+ public void testTopicStopOperationUsingExistingServiceFile() throws Exception {
+ String jndiName = "StopOperationExistingTopic";
+
+ expandNavTreeArrow(JMS_NAV_LABEL);
+ performServletLifecycleOperation(jndiName, DestinationType.TOPIC,
+ STOP, Boolean.FALSE);
+
+ }
+
+ /**
+ * Test Name: testQueueStopOperation
+ * Assertion: Make sure that the "Stop" operation for queues is executed
+ * successfully.
+ */
+ public void testQueueStopOperation() throws Exception {
+ String jndiName = "QueueStop";
+
+ // Create the queue first
+ createQueue(jndiName);
+ performServletLifecycleOperation(jndiName, DestinationType.QUEUE,
+ STOP, Boolean.FALSE);
+
+ }
+
+ /**
+ * Test Name: testQueueStopOperationUsingExistingServiceFile
+ * Assertion: Make sure that the "Stop" operation for queues is executed
+ * successfully. Use a queue that already exists.
+ */
+ public void testQueueStopOperationUsingExistingServiceFile() throws Exception {
+ String jndiName = "StopOperationExistingQueue";
+
+ expandNavTreeArrow(JMS_NAV_LABEL);
+ performServletLifecycleOperation(jndiName, DestinationType.QUEUE,
+ STOP, Boolean.FALSE);
+
+ }
+
+ /**
+ * Common code for the Create/Start/Stop/Destroy operations.
+ */
+ private void performServletLifecycleOperation(String jndiName,
+ DestinationType destinationType,
+ String operationName,
+ Boolean isActiveDestination) throws Exception {
+
+ performResourceOperation(JMS_NAV_LABEL, destinationType.getNavLabel(),
+ jndiName, operationName, Boolean.FALSE);
+
+ // Make sure the correct parameters ("None") and the
+ // the correct results ("None") are displayed
+ checkNoParametersAndNoResults();
+
+ // Make sure the list of active destinations is updated,
+ // if necessary
+ JMXUtils jmxUtils = JMXUtils.getInstanceForLocalJBoss();
+ ObjectName deploymentMBean = new ObjectName("jboss.messaging:service=ServerPeer");
+ Object activeDestinations = jmxUtils.getMBeanAttribute(deploymentMBean, "Destinations");
+
+ Boolean inActiveDestinationsList = false;
+ Iterator i = ((Set)activeDestinations).iterator();
+
+ while(i.hasNext()) {
+ JBossDestination destination = (JBossDestination)i.next();
+ if(destination.getName().equals(jndiName)) {
+ inActiveDestinationsList = true;
+ break;
+ }
+ }
+
+ String errorMessage;
+ if(isActiveDestination) {
+ errorMessage = "The destination was not in the list of active destinations";
+ } else {
+ errorMessage = "The destination should not be in the list of active destinations";
+ }
+ assertEquals(errorMessage, isActiveDestination, inActiveDestinationsList);
+
+ // Clean up
+ disconnect();
+ deleteDestination(destinationType, jndiName);
+ }
+
+ /**
+ * Common code for the list subscriptions tests.
+ *
+ * @param isEmptyList - whether or not the list of subscriptions that
+ * gets displayed should be empty
+ */
+ private void performListSubscriptionsAndCheckResults(String jndiName,
+ String operationName,
+ Boolean isEmptyList) throws Exception {
+ performResourceOperation(JMS_NAV_LABEL, DestinationType.TOPIC.getNavLabel(),
+ jndiName, operationName, Boolean.FALSE);
+
+ // Make sure the operation parameters and results are displayed
+ // correctly
+ HtmlAnchor detailsLink = getLinkInsideForm(OPERATION_HISTORY_FORM, OPERATION_DETAILS);
+ detailsLink.click();
+
+ String actualOperationResults = ((HtmlSpan)client.getElement(OPERATION_RESULTS)).getTextContent();
+
+ String shortenedResult = actualOperationResults.substring(actualOperationResults.indexOf("Viewing"),
+ actualOperationResults.indexOf("]") + 1);
+ log.info("Operation result was: " + shortenedResult);
+
+ if(!isEmptyList) {
+ assertFalse("Expected non-empty list but was: '" + shortenedResult + "'",
+ actualOperationResults.contains(EMPTY_LIST));
+ } else {
+ assertTrue("Expected empty list but was: '" + shortenedResult + "'",
+ actualOperationResults.contains(EMPTY_LIST));
+ }
+
+ // Clean up
+ disconnect();
+ deleteDestination(DestinationType.TOPIC, jndiName);
+ }
+
+ /**
+ * Common code for the operations tests.
+ */
+ private void performDestinationOperationAndCheckMetrics(DestinationType destinationType,
+ String jndiName,
+ String operationName,
+ Map<String, String> expectedMetrics,
+ ArrayList<String> summaryMetrics) throws Exception {
+ performResourceOperationAndCheckMetrics(JMS_NAV_LABEL, destinationType.getNavLabel(),
+ jndiName, operationName, expectedMetrics,
+ summaryMetrics, Boolean.FALSE);
+
+ // Clean up
+ disconnect();
+ deleteDestination(destinationType, jndiName);
+ }
}
Modified: trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/as5/ResourceTestBase.java
===================================================================
--- trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/as5/ResourceTestBase.java 2009-04-17 19:11:41 UTC (rev 307)
+++ trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/as5/ResourceTestBase.java 2009-04-17 20:28:10 UTC (rev 308)
@@ -36,6 +36,9 @@
import org.jboss.jopr.jsfunit.exceptions.EmbJoprTestException;
import java.util.ArrayList;
import java.util.Iterator;
+import org.jboss.jopr.jsfunit.util.EmbJoprTestToolkit;
+import org.jboss.jopr.jsfunit.util.EmbJoprTestToolkit.NavTreeNode;
+import org.jboss.jopr.jsfunit.exceptions.*;
/**
* This class contains basic methods for creating, configuring, and deleting
@@ -61,6 +64,28 @@
public static final String DELETE_MESSAGE = "Successfully deleted ";
public static final String UPDATE_MESSAGE = "Successfully updated ";
+ // Operations history table
+ public static final String OPERATION_DETAILS = "(Show/Hide Details)";
+
+ // Operations table constants
+ public static final String OPERATION_HISTORY_FORM = "operationHistoryForm";
+ public static final String DATA_TABLE = "dataTable";
+ public static final String INPROGRESS = "In Progress";
+ public static final String SUCCESSFUL = "Successful";
+ public static final String FAILED = "Failed";
+ public static final String REFRESH_OPERATIONS_TABLE = "refreshLink";
+ public static final int OPERATION_STATUS_COLUMN = 2;
+ public static final int FIRST_ROW = 1;
+ public static final String NO_PARAMETERS = "noParameters";
+ public static final String NO_RESULTS = "noResults";
+ public static final String OPERATION_RESULTS = "operationResults";
+ public static final String NONE = "None";
+ public static final String EMPTY_LIST = "[]";
+ public static final String TABLE_CELL_DELIM = "<td>";
+ public static final String TABLE_CELL_END_DELIM = "</td>";
+ public static final String TABLE_ROW_DELIM = "<tr>";
+ public static final String TABLE_ROW_END_DELIM = "</tr>";
+
/**
* Create a new resource using the given type, template, and properties.
*
@@ -212,17 +237,80 @@
String resourceName,
String tabName) throws Exception {
//refreshTreeNode(resourceCategory);
- ClickableElement resourceTypeArrow = getNavTreeArrow(resourceSubCategory);
- resourceTypeArrow.click();
-
- HtmlAnchor resource = getNavTreeLink(resourceName);
- resource.click();
-
+ NavTreeNode resourceSubCategoryNode = ejtt.getNavTree().getNodeByLabel(resourceSubCategory);
+ if(!resourceSubCategoryNode.isExpanded()) {
+ expandNavTreeArrow(resourceSubCategory);
+ }
+
+ clickNavTreeLink(resourceName);
+
HtmlAnchor tabLink = (HtmlAnchor)client.getElement(tabName);
tabLink.click();
}
/**
+ * Perform the given operation on the given resource.
+ *
+ * performResourceOperation() assumes that the resource tree
+ * node (eg. "JMS Destinations", "Datasources", etc.) is already
+ * expanded when this method is called.
+ */
+ protected void performResourceOperation(String resourceCategory,
+ String resourceSubCategory,
+ String resourceName,
+ String operationName,
+ Boolean takesParameters) throws Exception{
+
+ navigateToPage(resourceCategory, resourceSubCategory,
+ resourceName, CONTROL_TAB);
+
+ HtmlForm form = (HtmlForm)client.getElement("operation_form");
+ String xpath = ".//input[@value=\"" + operationName + "\"]";
+
+ HtmlButtonInput operationButton = (HtmlButtonInput)form.getFirstByXPath(xpath);
+ operationButton.click();
+
+ if(takesParameters) {
+
+ // Use default values
+ client.click("parametersForm:okButton");
+ }
+
+ waitForResourceOperationToFinish();
+
+ // Make sure the operation completed successfully
+ String status = getLatestOperationStatus();
+ assertTrue("The status of the operation was: " + status, status.contains(SUCCESSFUL));
+ }
+
+ /**
+ * Check if the latest resource operation has completed.
+ */
+ protected void waitForResourceOperationToFinish() throws HtmlElementNotFoundException, IOException, InterruptedException {
+
+ for(int i = 0; i < 10; i++) {
+
+ String status = getLatestOperationStatus();
+
+ if(status.contains(INPROGRESS)) {
+ Thread.sleep(100);
+ client.click(REFRESH_OPERATIONS_TABLE);
+ } else {
+
+ // The operation has completed
+ break;
+ }
+ }
+ }
+
+ /**
+ * Get the status of the latest operation.
+ */
+ protected String getLatestOperationStatus() throws HtmlElementNotFoundException {
+ return ejtt.getTabMenu().getTabContentBox().getOperationsHistoryTable().getTableCell(FIRST_ROW, OPERATION_STATUS_COLUMN);
+ }
+
+ /**
* Make sure that the metrics corresponding to the given resource
* are correct.
*
@@ -272,7 +360,7 @@
actual = normalizeIfDoubleExpected(expected, actual);
assertEquals(errorMessage + " '" + metricName + "'", expected, actual);
}
- }
+ }
/**
* Make sure that the specified metrics corresponding to the given resource
@@ -298,4 +386,60 @@
assertTrue(errorMessage + "'" + metricName + "' but was: " + actual, !actual.equals(nullValue));
}
}
+
+ /**
+ * Perform the given operation for the given resource and
+ * then make sure that the metrics associated with the resource
+ * were updated appropriately.
+ */
+ protected void performResourceOperationAndCheckMetrics(String resourceCategory,
+ String resourceSubCategory,
+ String resourceName,
+ String operationName,
+ Map<String, String> expectedMetrics,
+ ArrayList<String> summaryMetrics,
+ Boolean takesParameters) throws Exception {
+ performResourceOperation(resourceCategory, resourceSubCategory,
+ resourceName, operationName, takesParameters);
+
+ // Assumes the operation takes no parameters and does not return any
+ // results
+ checkNoParametersAndNoResults();
+
+ // Verify that the metrics were updated appropriately
+ checkResourceMetrics(resourceCategory, resourceSubCategory, resourceName,
+ expectedMetrics, summaryMetrics);
+ }
+
+ /**
+ * Make sure the appropriate text gets displayed in the operations
+ * history table when the operation has no parameters and returns
+ * no results.
+ */
+ protected void checkNoParametersAndNoResults() throws IOException {
+
+ // Make sure the operation parameters and results are displayed
+ // correctly
+ HtmlAnchor detailsLink = getLinkInsideForm(OPERATION_HISTORY_FORM, OPERATION_DETAILS);
+ detailsLink.click();
+
+ String actualOperationParameters = ((HtmlSpan)client.getElement(NO_PARAMETERS)).getTextContent();
+ String actualOperationResults = ((HtmlSpan)client.getElement(NO_RESULTS)).getTextContent();
+
+ assertTrue("Incorrect operation parameters displayed in the operations history table: "
+ + "expected: " + NONE + " but was: " + actualOperationParameters,
+ actualOperationParameters.contains(NONE));
+ assertTrue("Incorrect operation results displayed in the operations history table: "
+ + "expected: " + NONE + " but was: " + actualOperationResults,
+ actualOperationResults.contains(NONE));
+ }
+
+ /**
+ * Return table cell value in html format.
+ * Used for resource operations that return results in html format.
+ */
+ protected String formatTableCell(String cellValue) {
+ String cellValueAsHtml = TABLE_CELL_DELIM + cellValue + TABLE_CELL_END_DELIM;
+ return cellValueAsHtml;
+ }
}
Modified: trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/util/EmbJoprTestToolkit.java
===================================================================
--- trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/util/EmbJoprTestToolkit.java 2009-04-17 19:11:41 UTC (rev 307)
+++ trunk/jsfunit/src/test/java/org/jboss/jopr/jsfunit/util/EmbJoprTestToolkit.java 2009-04-17 20:28:10 UTC (rev 308)
@@ -775,7 +775,7 @@
public static final String ID_CATEGORY_DATA_TABLE = "categorySummaryForm:dataTable";
public static final String ID_RESOURCE_DATA_TABLE = "resourceSummaryForm:dataTable";
-
+
protected HtmlTable element;
public HtmlTable getElement() { return element; }
@@ -822,8 +822,18 @@
private Map<String, Integer> colIndexes = null;
//private boolean analyzedButNotFound = false;
+ /**
+ * Return the table cell given by the row and column.
+ */
+ public String getTableCell(int rowIndex, int columnIndex) throws HtmlElementNotFoundException {
+ List<HtmlTableRow> rows = element.getRows();
+ HtmlTableRow tableRow = rows.get(rowIndex);
+ HtmlTableCell tableCell = tableRow.getCell(columnIndex);
+ return tableCell.asText();
+ }
+
/**
* Returns the first row that contains given text, or throws HtmlElementNotFoundException.
* @param text
Added: trunk/jsfunit/testdata/destinations/CreateOperationExistingQueue-service.xml
===================================================================
--- trunk/jsfunit/testdata/destinations/CreateOperationExistingQueue-service.xml (rev 0)
+++ trunk/jsfunit/testdata/destinations/CreateOperationExistingQueue-service.xml 2009-04-17 20:28:10 UTC (rev 308)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<server>
+ <mbean xmbean-dd="xmdesc/Queue-xmbean.xml" name="jboss.messaging.destination:service=Queue,name=CreateOperationExistingQueue" code="org.jboss.jms.server.destination.QueueService">
+ <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.QueueServiceMO)</annotation>
+ <attribute name="JNDIName">CreateOperationExistingQueue</attribute>
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+</server>
Added: trunk/jsfunit/testdata/destinations/CreateOperationExistingTopic-service.xml
===================================================================
--- trunk/jsfunit/testdata/destinations/CreateOperationExistingTopic-service.xml (rev 0)
+++ trunk/jsfunit/testdata/destinations/CreateOperationExistingTopic-service.xml 2009-04-17 20:28:10 UTC (rev 308)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<server>
+ <mbean xmbean-dd="xmdesc/Topic-xmbean.xml" name="jboss.messaging.destination:service=Topic,name=CreateOperationExistingTopic" code="org.jboss.jms.server.destination.TopicService">
+ <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.TopicServiceMO)</annotation>
+ <attribute name="JNDIName">CreateOperationExistingTopic</attribute>
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+</server>
Added: trunk/jsfunit/testdata/destinations/DestroyOperationExistingQueue-service.xml
===================================================================
--- trunk/jsfunit/testdata/destinations/DestroyOperationExistingQueue-service.xml (rev 0)
+++ trunk/jsfunit/testdata/destinations/DestroyOperationExistingQueue-service.xml 2009-04-17 20:28:10 UTC (rev 308)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<server>
+ <mbean xmbean-dd="xmdesc/Queue-xmbean.xml" name="jboss.messaging.destination:service=Queue,name=DestroyOperationExistingQueue" code="org.jboss.jms.server.destination.QueueService">
+ <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.QueueServiceMO)</annotation>
+ <attribute name="JNDIName">DestroyOperationExistingQueue</attribute>
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+</server>
Added: trunk/jsfunit/testdata/destinations/DestroyOperationExistingTopic-service.xml
===================================================================
--- trunk/jsfunit/testdata/destinations/DestroyOperationExistingTopic-service.xml (rev 0)
+++ trunk/jsfunit/testdata/destinations/DestroyOperationExistingTopic-service.xml 2009-04-17 20:28:10 UTC (rev 308)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<server>
+ <mbean xmbean-dd="xmdesc/Topic-xmbean.xml" name="jboss.messaging.destination:service=Topic,name=DestroyOperationExistingTopic" code="org.jboss.jms.server.destination.TopicService">
+ <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.TopicServiceMO)</annotation>
+ <attribute name="JNDIName">DestroyOperationExistingTopic</attribute>
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+</server>
Added: trunk/jsfunit/testdata/destinations/ListAllMessagesMultipleMessagesExistingTopic-service.xml
===================================================================
--- trunk/jsfunit/testdata/destinations/ListAllMessagesMultipleMessagesExistingTopic-service.xml (rev 0)
+++ trunk/jsfunit/testdata/destinations/ListAllMessagesMultipleMessagesExistingTopic-service.xml 2009-04-17 20:28:10 UTC (rev 308)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<server>
+ <mbean xmbean-dd="xmdesc/Topic-xmbean.xml" name="jboss.messaging.destination:service=Topic,name=ListAllMessagesMultipleMessagesExistingTopic" code="org.jboss.jms.server.destination.TopicService">
+ <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.TopicServiceMO)</annotation>
+ <attribute name="JNDIName">ListAllMessagesMultipleMessagesExistingTopic</attribute>
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+</server>
Added: trunk/jsfunit/testdata/destinations/ListAllSubscriptionsHtmlMultipleSubscribersExistingTopic-service.xml
===================================================================
--- trunk/jsfunit/testdata/destinations/ListAllSubscriptionsHtmlMultipleSubscribersExistingTopic-service.xml (rev 0)
+++ trunk/jsfunit/testdata/destinations/ListAllSubscriptionsHtmlMultipleSubscribersExistingTopic-service.xml 2009-04-17 20:28:10 UTC (rev 308)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<server>
+ <mbean xmbean-dd="xmdesc/Topic-xmbean.xml" name="jboss.messaging.destination:service=Topic,name=ListAllSubscriptionsHtmlMultipleSubscribersExistingTopic" code="org.jboss.jms.server.destination.TopicService">
+ <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.TopicServiceMO)</annotation>
+ <attribute name="JNDIName">ListAllSubscriptionsHtmlMultipleSubscribersExistingTopic</attribute>
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+</server>
Added: trunk/jsfunit/testdata/destinations/ListAllSubscriptionsMultipleSubscribersExistingTopic-service.xml
===================================================================
--- trunk/jsfunit/testdata/destinations/ListAllSubscriptionsMultipleSubscribersExistingTopic-service.xml (rev 0)
+++ trunk/jsfunit/testdata/destinations/ListAllSubscriptionsMultipleSubscribersExistingTopic-service.xml 2009-04-17 20:28:10 UTC (rev 308)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<server>
+ <mbean xmbean-dd="xmdesc/Topic-xmbean.xml" name="jboss.messaging.destination:service=Topic,name=ListAllSubscriptionsMultipleSubscribersExistingTopic" code="org.jboss.jms.server.destination.TopicService">
+ <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.TopicServiceMO)</annotation>
+ <attribute name="JNDIName">ListAllSubscriptionsMultipleSubscribersExistingTopic</attribute>
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+</server>
Added: trunk/jsfunit/testdata/destinations/ListDurableSubscriptionsHtmlMultipleSubscribersExistingTopic-service.xml
===================================================================
--- trunk/jsfunit/testdata/destinations/ListDurableSubscriptionsHtmlMultipleSubscribersExistingTopic-service.xml (rev 0)
+++ trunk/jsfunit/testdata/destinations/ListDurableSubscriptionsHtmlMultipleSubscribersExistingTopic-service.xml 2009-04-17 20:28:10 UTC (rev 308)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<server>
+ <mbean xmbean-dd="xmdesc/Topic-xmbean.xml" name="jboss.messaging.destination:service=Topic,name=ListDurableSubscriptionsHtmlMultipleSubscribersExistingTopic" code="org.jboss.jms.server.destination.TopicService">
+ <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.TopicServiceMO)</annotation>
+ <attribute name="JNDIName">ListDurableSubscriptionsHtmlMultipleSubscribersExistingTopic</attribute>
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+</server>
Added: trunk/jsfunit/testdata/destinations/ListDurableSubscriptionsMultipleSubscribersExistingTopic-service.xml
===================================================================
--- trunk/jsfunit/testdata/destinations/ListDurableSubscriptionsMultipleSubscribersExistingTopic-service.xml (rev 0)
+++ trunk/jsfunit/testdata/destinations/ListDurableSubscriptionsMultipleSubscribersExistingTopic-service.xml 2009-04-17 20:28:10 UTC (rev 308)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<server>
+ <mbean xmbean-dd="xmdesc/Topic-xmbean.xml" name="jboss.messaging.destination:service=Topic,name=ListDurableSubscriptionsMultipleSubscribersExistingTopic" code="org.jboss.jms.server.destination.TopicService">
+ <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.TopicServiceMO)</annotation>
+ <attribute name="JNDIName">ListDurableSubscriptionsMultipleSubscribersExistingTopic</attribute>
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+</server>
Added: trunk/jsfunit/testdata/destinations/ListMessageCounterHistoryExistingQueue-service.xml
===================================================================
--- trunk/jsfunit/testdata/destinations/ListMessageCounterHistoryExistingQueue-service.xml (rev 0)
+++ trunk/jsfunit/testdata/destinations/ListMessageCounterHistoryExistingQueue-service.xml 2009-04-17 20:28:10 UTC (rev 308)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<server>
+ <mbean xmbean-dd="xmdesc/Queue-xmbean.xml" name="jboss.messaging.destination:service=Queue,name=ListMessageCounterHistoryExistingQueue" code="org.jboss.jms.server.destination.QueueService">
+ <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.QueueServiceMO)</annotation>
+ <attribute name="JNDIName">ListMessageCounterHistoryExistingQueue</attribute>
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+</server>
Added: trunk/jsfunit/testdata/destinations/ListMessageCounterMultipleMessagesExistingQueue-service.xml
===================================================================
--- trunk/jsfunit/testdata/destinations/ListMessageCounterMultipleMessagesExistingQueue-service.xml (rev 0)
+++ trunk/jsfunit/testdata/destinations/ListMessageCounterMultipleMessagesExistingQueue-service.xml 2009-04-17 20:28:10 UTC (rev 308)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<server>
+ <mbean xmbean-dd="xmdesc/Queue-xmbean.xml" name="jboss.messaging.destination:service=Queue,name=ListMessageCounterMultipleMessagesExistingQueue" code="org.jboss.jms.server.destination.QueueService">
+ <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.QueueServiceMO)</annotation>
+ <attribute name="JNDIName">ListMessageCounterMultipleMessagesExistingQueue</attribute>
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+</server>
Added: trunk/jsfunit/testdata/destinations/ListNonDurableSubscriptionsHtmlMultipleSubscribersExistingTopic-service.xml
===================================================================
--- trunk/jsfunit/testdata/destinations/ListNonDurableSubscriptionsHtmlMultipleSubscribersExistingTopic-service.xml (rev 0)
+++ trunk/jsfunit/testdata/destinations/ListNonDurableSubscriptionsHtmlMultipleSubscribersExistingTopic-service.xml 2009-04-17 20:28:10 UTC (rev 308)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<server>
+ <mbean xmbean-dd="xmdesc/Topic-xmbean.xml" name="jboss.messaging.destination:service=Topic,name=ListNonDurableSubscriptionsHtmlMultipleSubscribersExistingTopic" code="org.jboss.jms.server.destination.TopicService">
+ <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.TopicServiceMO)</annotation>
+ <attribute name="JNDIName">ListNonDurableSubscriptionsHtmlMultipleSubscribersExistingTopic</attribute>
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+</server>
Added: trunk/jsfunit/testdata/destinations/ListNonDurableSubscriptionsMultipleSubscribersExistingTopic-service.xml
===================================================================
--- trunk/jsfunit/testdata/destinations/ListNonDurableSubscriptionsMultipleSubscribersExistingTopic-service.xml (rev 0)
+++ trunk/jsfunit/testdata/destinations/ListNonDurableSubscriptionsMultipleSubscribersExistingTopic-service.xml 2009-04-17 20:28:10 UTC (rev 308)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<server>
+ <mbean xmbean-dd="xmdesc/Topic-xmbean.xml" name="jboss.messaging.destination:service=Topic,name=ListNonDurableSubscriptionsMultipleSubscribersExistingTopic" code="org.jboss.jms.server.destination.TopicService">
+ <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.TopicServiceMO)</annotation>
+ <attribute name="JNDIName">ListNonDurableSubscriptionsMultipleSubscribersExistingTopic</attribute>
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+</server>
Added: trunk/jsfunit/testdata/destinations/RemoveAllMessagesMultipleMessagesExistingQueue-service.xml
===================================================================
--- trunk/jsfunit/testdata/destinations/RemoveAllMessagesMultipleMessagesExistingQueue-service.xml (rev 0)
+++ trunk/jsfunit/testdata/destinations/RemoveAllMessagesMultipleMessagesExistingQueue-service.xml 2009-04-17 20:28:10 UTC (rev 308)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<server>
+ <mbean xmbean-dd="xmdesc/Queue-xmbean.xml" name="jboss.messaging.destination:service=Queue,name=RemoveAllMessagesMultipleMessagesExistingQueue" code="org.jboss.jms.server.destination.QueueService">
+ <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.QueueServiceMO)</annotation>
+ <attribute name="JNDIName">RemoveAllMessagesMultipleMessagesExistingQueue</attribute>
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+</server>
Added: trunk/jsfunit/testdata/destinations/RemoveAllMessagesMultipleMessagesExistingTopic-service.xml
===================================================================
--- trunk/jsfunit/testdata/destinations/RemoveAllMessagesMultipleMessagesExistingTopic-service.xml (rev 0)
+++ trunk/jsfunit/testdata/destinations/RemoveAllMessagesMultipleMessagesExistingTopic-service.xml 2009-04-17 20:28:10 UTC (rev 308)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<server>
+ <mbean xmbean-dd="xmdesc/Topic-xmbean.xml" name="jboss.messaging.destination:service=Topic,name=RemoveAllMessagesMultipleMessagesExistingTopic" code="org.jboss.jms.server.destination.TopicService">
+ <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.TopicServiceMO)</annotation>
+ <attribute name="JNDIName">RemoveAllMessagesMultipleMessagesExistingTopic</attribute>
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+</server>
Added: trunk/jsfunit/testdata/destinations/ResetMessageCounterHistoryMultipleMessagesExistingQueue-service.xml
===================================================================
--- trunk/jsfunit/testdata/destinations/ResetMessageCounterHistoryMultipleMessagesExistingQueue-service.xml (rev 0)
+++ trunk/jsfunit/testdata/destinations/ResetMessageCounterHistoryMultipleMessagesExistingQueue-service.xml 2009-04-17 20:28:10 UTC (rev 308)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<server>
+ <mbean xmbean-dd="xmdesc/Queue-xmbean.xml" name="jboss.messaging.destination:service=Queue,name=ResetMessageCounterHistoryMultipleMessagesExistingQueue" code="org.jboss.jms.server.destination.QueueService">
+ <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.QueueServiceMO)</annotation>
+ <attribute name="JNDIName">ResetMessageCounterHistoryMultipleMessagesExistingQueue</attribute>
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+</server>
Added: trunk/jsfunit/testdata/destinations/ResetMessageCounterMultipleMessagesExistingQueue-service.xml
===================================================================
--- trunk/jsfunit/testdata/destinations/ResetMessageCounterMultipleMessagesExistingQueue-service.xml (rev 0)
+++ trunk/jsfunit/testdata/destinations/ResetMessageCounterMultipleMessagesExistingQueue-service.xml 2009-04-17 20:28:10 UTC (rev 308)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<server>
+ <mbean xmbean-dd="xmdesc/Queue-xmbean.xml" name="jboss.messaging.destination:service=Queue,name=ResetMessageCounterMultipleMessagesExistingQueue" code="org.jboss.jms.server.destination.QueueService">
+ <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.QueueServiceMO)</annotation>
+ <attribute name="JNDIName">ResetMessageCounterMultipleMessagesExistingQueue</attribute>
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+</server>
Added: trunk/jsfunit/testdata/destinations/StartOperationExistingQueue-service.xml
===================================================================
--- trunk/jsfunit/testdata/destinations/StartOperationExistingQueue-service.xml (rev 0)
+++ trunk/jsfunit/testdata/destinations/StartOperationExistingQueue-service.xml 2009-04-17 20:28:10 UTC (rev 308)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<server>
+ <mbean xmbean-dd="xmdesc/Queue-xmbean.xml" name="jboss.messaging.destination:service=Queue,name=StartOperationExistingQueue" code="org.jboss.jms.server.destination.QueueService">
+ <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.QueueServiceMO)</annotation>
+ <attribute name="JNDIName">StartOperationExistingQueue</attribute>
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+</server>
Added: trunk/jsfunit/testdata/destinations/StartOperationExistingTopic-service.xml
===================================================================
--- trunk/jsfunit/testdata/destinations/StartOperationExistingTopic-service.xml (rev 0)
+++ trunk/jsfunit/testdata/destinations/StartOperationExistingTopic-service.xml 2009-04-17 20:28:10 UTC (rev 308)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<server>
+ <mbean xmbean-dd="xmdesc/Topic-xmbean.xml" name="jboss.messaging.destination:service=Topic,name=StartOperationExistingTopic" code="org.jboss.jms.server.destination.TopicService">
+ <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.TopicServiceMO)</annotation>
+ <attribute name="JNDIName">StartOperationExistingTopic</attribute>
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+</server>
Added: trunk/jsfunit/testdata/destinations/StopOperationExistingQueue-service.xml
===================================================================
--- trunk/jsfunit/testdata/destinations/StopOperationExistingQueue-service.xml (rev 0)
+++ trunk/jsfunit/testdata/destinations/StopOperationExistingQueue-service.xml 2009-04-17 20:28:10 UTC (rev 308)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<server>
+ <mbean xmbean-dd="xmdesc/Queue-xmbean.xml" name="jboss.messaging.destination:service=Queue,name=StopOperationExistingQueue" code="org.jboss.jms.server.destination.QueueService">
+ <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.QueueServiceMO)</annotation>
+ <attribute name="JNDIName">StopOperationExistingQueue</attribute>
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+</server>
Added: trunk/jsfunit/testdata/destinations/StopOperationExistingTopic-service.xml
===================================================================
--- trunk/jsfunit/testdata/destinations/StopOperationExistingTopic-service.xml (rev 0)
+++ trunk/jsfunit/testdata/destinations/StopOperationExistingTopic-service.xml 2009-04-17 20:28:10 UTC (rev 308)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<server>
+ <mbean xmbean-dd="xmdesc/Topic-xmbean.xml" name="jboss.messaging.destination:service=Topic,name=StopOperationExistingTopic" code="org.jboss.jms.server.destination.TopicService">
+ <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.TopicServiceMO)</annotation>
+ <attribute name="JNDIName">StopOperationExistingTopic</attribute>
+ <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>
+ <depends>jboss.messaging:service=PostOffice</depends>
+ </mbean>
+</server>
More information about the embjopr-commits
mailing list