summaryrefslogtreecommitdiff
path: root/qpid/java/systests/src/main/java/org/apache
diff options
context:
space:
mode:
authorKeith Wall <kwall@apache.org>2014-08-03 18:05:16 +0000
committerKeith Wall <kwall@apache.org>2014-08-03 18:05:16 +0000
commit20beab35b19f246a88ec79828f788e512628252c (patch)
treedf020e25320a3e974b8c01b960cd5c77f13e4327 /qpid/java/systests/src/main/java/org/apache
parent6ff0bc6c8a2b191519b3186ab997f9eb9aa309cb (diff)
downloadqpid-python-20beab35b19f246a88ec79828f788e512628252c.tar.gz
QPID-5957: [Java Broker] Extend the Session model object to expose transaction start and update times
* Expose the same information on the Connection tab within the Web Management UI. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1615424 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/systests/src/main/java/org/apache')
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/ConnectionRestTest.java55
1 files changed, 44 insertions, 11 deletions
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/ConnectionRestTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/ConnectionRestTest.java
index 5be3be615f..ad4a370a04 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/ConnectionRestTest.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/ConnectionRestTest.java
@@ -32,6 +32,8 @@ import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
import javax.servlet.http.HttpServletResponse;
+import org.junit.Assert;
+
import org.apache.qpid.client.AMQConnection;
import org.apache.qpid.client.AMQSession;
import org.apache.qpid.server.model.ConfiguredObject;
@@ -88,6 +90,8 @@ public class ConnectionRestTest extends QpidRestTestCase
m = consumer.receive(1000l);
assertNotNull("Message was not received after rollback", m);
}
+
+ // Session left open
}
public void testGetAllConnections() throws Exception
@@ -175,6 +179,34 @@ public class ConnectionRestTest extends QpidRestTestCase
assertSession(sessions.get(0), (AMQSession<?, ?>) _session);
}
+ public void testProducerSessionOpenHasTransactionStartAndUpdateTimes() throws Exception
+ {
+ Destination queue = _session.createQueue(getTestQueueName());
+ MessageProducer producer = _session.createProducer(queue);
+ producer.send(_session.createMessage());
+ // session left open
+
+ String connectionName = getConnectionName();
+
+ List<Map<String, Object>> sessions = getRestTestHelper().getJsonAsList("session/test/test/"
+ + URLDecoder.decode(connectionName, "UTF-8") + "/" + ((AMQSession<?, ?>) _session).getChannelId());
+ assertEquals("Unexpected number of sessions", 1, sessions.size());
+
+ final Map<String, Object> sessionData = sessions.get(0);
+
+ @SuppressWarnings("unchecked")
+ Map<String, Object> statistics = (Map<String, Object>) sessionData.get(Asserts.STATISTICS_ATTRIBUTE);
+
+ long transactionStartTime = ((Number) statistics.get("transactionStartTime")).longValue();
+ long transactionUpdateTime = ((Number) statistics.get("transactionUpdateTime")).longValue();
+
+ assertTrue("Unexpected transaction start value for open transaction " + transactionStartTime, transactionStartTime > 0);
+ assertTrue("Unexpected transaction update value for open transaction " + transactionUpdateTime, transactionUpdateTime > 0);
+ assertTrue("Expected transaction update value " + transactionUpdateTime + " to be greater than transaction start time " + transactionStartTime, transactionUpdateTime >= transactionStartTime);
+
+
+ }
+
private void assertConnection(Map<String, Object> connectionDetails) throws JMSException
{
Asserts.assertConnection(connectionDetails, (AMQConnection) _connection);
@@ -212,27 +244,28 @@ public class ConnectionRestTest extends QpidRestTestCase
Session.STATE,
Session.DURABLE,
Session.LIFETIME_POLICY);
- assertEquals("Unexpecte value of attribute " + Session.NAME, session.getChannelId() + "",
+ assertEquals("Unexpected value of attribute " + Session.NAME, session.getChannelId() + "",
sessionData.get(Session.NAME));
- assertEquals("Unexpecte value of attribute " + Session.PRODUCER_FLOW_BLOCKED, Boolean.FALSE,
+ assertEquals("Unexpected value of attribute " + Session.PRODUCER_FLOW_BLOCKED, Boolean.FALSE,
sessionData.get(Session.PRODUCER_FLOW_BLOCKED));
- assertEquals("Unexpecte value of attribute " + Session.CHANNEL_ID, session.getChannelId(),
+ assertEquals("Unexpected value of attribute " + Session.CHANNEL_ID, session.getChannelId(),
sessionData.get(Session.CHANNEL_ID));
@SuppressWarnings("unchecked")
Map<String, Object> statistics = (Map<String, Object>) sessionData.get(Asserts.STATISTICS_ATTRIBUTE);
Asserts.assertAttributesPresent(statistics, "consumerCount",
"localTransactionBegins", "localTransactionOpen",
- "localTransactionRollbacks", "unacknowledgedMessages");
+ "localTransactionRollbacks", "unacknowledgedMessages",
+ "transactionStartTime", "transactionUpdateTime");
- assertEquals("Unexpecte value of statistic attribute " + "unacknowledgedMessages", MESSAGE_NUMBER - 1,
+ assertEquals("Unexpected value of statistic attribute " + "unacknowledgedMessages", MESSAGE_NUMBER - 1,
statistics.get("unacknowledgedMessages"));
- assertEquals("Unexpecte value of statistic attribute " + "localTransactionBegins", 4,
- statistics.get("localTransactionBegins"));
- assertEquals("Unexpecte value of statistic attribute " + "localTransactionRollbacks", 1,
- statistics.get("localTransactionRollbacks"));
- assertEquals("Unexpecte value of statistic attribute " + "consumerCount", 1,
- statistics.get("consumerCount"));
+ assertEquals("Unexpected value of statistic attribute " + "localTransactionBegins", 4,
+ statistics.get("localTransactionBegins"));
+ assertEquals("Unexpected value of statistic attribute " + "localTransactionRollbacks", 1,
+ statistics.get("localTransactionRollbacks"));
+ assertEquals("Unexpected value of statistic attribute " + "consumerCount", 1,
+ statistics.get("consumerCount"));
}
private String getConnectionName() throws IOException