You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by gs...@apache.org on 2011/08/09 22:19:54 UTC

svn commit: r1155545 - in /qpid/trunk/qpid: cpp/src/qpid/broker/Broker.cpp cpp/src/qpid/cluster/UpdateClient.cpp cpp/src/tests/federation_sys.py tests/src/py/qpid_tests/broker_0_10/exchange.py

Author: gsim
Date: Tue Aug  9 20:19:54 2011
New Revision: 1155545

URL: http://svn.apache.org/viewvc?rev=1155545&view=rev
Log:
QPID-3363: prevent bind/unbind on default exchange

Modified:
    qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp
    qpid/trunk/qpid/cpp/src/qpid/cluster/UpdateClient.cpp
    qpid/trunk/qpid/cpp/src/tests/federation_sys.py
    qpid/trunk/qpid/tests/src/py/qpid_tests/broker_0_10/exchange.py

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp?rev=1155545&r1=1155544&r2=1155545&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp Tue Aug  9 20:19:54 2011
@@ -916,6 +916,9 @@ void Broker::bind(const std::string& que
         if (!acl->authorise(userId,acl::ACT_BIND,acl::OBJ_EXCHANGE,exchangeName,&params))
             throw framing::UnauthorizedAccessException(QPID_MSG("ACL denied exchange bind request from " << userId));
     }
+    if (exchangeName.empty()) {
+        throw framing::NotAllowedException(QPID_MSG("Bind not allowed for default exchange"));
+    }
 
     Queue::shared_ptr queue = queues.find(queueName);
     Exchange::shared_ptr exchange = exchanges.get(exchangeName);
@@ -946,13 +949,15 @@ void Broker::unbind(const std::string& q
         if (!acl->authorise(userId,acl::ACT_UNBIND,acl::OBJ_EXCHANGE,exchangeName,&params) )
             throw framing::UnauthorizedAccessException(QPID_MSG("ACL denied exchange unbind request from " << userId));
     }
-
+    if (exchangeName.empty()) {
+        throw framing::NotAllowedException(QPID_MSG("Unbind not allowed for default exchange"));
+    }
     Queue::shared_ptr queue = queues.find(queueName);
     Exchange::shared_ptr exchange = exchanges.get(exchangeName);
     if (!queue) {
-        throw framing::NotFoundException(QPID_MSG("Bind failed. No such queue: " << queueName));
+        throw framing::NotFoundException(QPID_MSG("Unbind failed. No such queue: " << queueName));
     } else if (!exchange) {
-        throw framing::NotFoundException(QPID_MSG("Bind failed. No such exchange: " << exchangeName));
+        throw framing::NotFoundException(QPID_MSG("Unbind failed. No such exchange: " << exchangeName));
     } else {
         if (exchange->unbind(queue, key, 0)) {
             if (exchange->isDurable() && queue->isDurable()) {

Modified: qpid/trunk/qpid/cpp/src/qpid/cluster/UpdateClient.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/cluster/UpdateClient.cpp?rev=1155545&r1=1155544&r2=1155545&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/cluster/UpdateClient.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/cluster/UpdateClient.cpp Tue Aug  9 20:19:54 2011
@@ -402,7 +402,11 @@ void UpdateClient::updateNonExclusiveQue
 }
 
 void UpdateClient::updateBinding(client::AsyncSession& s, const std::string& queue, const QueueBinding& binding) {
-    s.exchangeBind(queue, binding.exchange, binding.key, binding.args);
+    if (binding.exchange.size())
+        s.exchangeBind(queue, binding.exchange, binding.key, binding.args);
+    //else its the default exchange and there is no need to replicate
+    //the binding, the creation of the queue will have done so
+    //automatically
 }
 
 void UpdateClient::updateOutputTask(const sys::OutputTask* task) {

Modified: qpid/trunk/qpid/cpp/src/tests/federation_sys.py
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/federation_sys.py?rev=1155545&r1=1155544&r2=1155545&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/federation_sys.py (original)
+++ qpid/trunk/qpid/cpp/src/tests/federation_sys.py Tue Aug  9 20:19:54 2011
@@ -574,7 +574,7 @@ class QmfTestBase010(TestBase010):
     
     def _do_test(self,
                  test_name,                         # Name of test
-                 exch_name = "",                    # Remote exchange name
+                 exch_name = "amq.direct",          # Remote exchange name
                  exch_type = "direct",              # Remote exchange type
                  exch_alt_exch = "",                # Remote exchange alternate exchange
                  exch_alt_exch_type = "direct",     # Remote exchange alternate exchange type
@@ -726,23 +726,6 @@ class B_LongTransactionTests(QmfTestBase
         self._do_test(self._get_name(), queue_route_type_flag=True, enq_txn_size=10, msg_count = 103)
 
 
-    def test_txEnq01_route_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", enq_txn_size=1)
-        
-    def test_txEnq01_queueRoute_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_route_type_flag=True, enq_txn_size=1)
-
-    def test_txEnq10_route_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", enq_txn_size=10, msg_count = 103)
-        
-    def test_txEnq10_queueRoute_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_route_type_flag=True, enq_txn_size=10, msg_count = 103)
-
-    def test_txEnq01_txDeq01_route_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", enq_txn_size=1, deq_txn_size=1)
-        
-    def test_txEnq01_txDeq01_queueRoute_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_route_type_flag=True, enq_txn_size=1, deq_txn_size=1)
 
 
     def test_txEnq01_route_directExch(self):
@@ -825,25 +808,6 @@ class C_ShortClusterTests(QmfTestBase010
 
 class C_LongClusterTests(QmfTestBase010):
     
-    def test_locCluster_route_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", local_cluster_flag=True)
-        
-    def test_locCluster_queueRoute_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_route_type_flag=True, local_cluster_flag=True)
-    
-    def test_remCluster_route_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", remote_cluster_flag=True)
-        
-    def test_remCluster_queueRoute_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_route_type_flag=True, remote_cluster_flag=True)
-    
-    def test_locCluster_remCluster_route_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", local_cluster_flag=True, remote_cluster_flag=True)
-        
-    def test_locCluster_remCluster_queueRoute_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_route_type_flag=True, local_cluster_flag=True, remote_cluster_flag=True)
-
-    
     def test_locCluster_route_directExch(self):
         self._do_test(self._get_name(), exch_name="testDirectExchange", local_cluster_flag=True)
         
@@ -961,61 +925,6 @@ class D_LongClusterTransactionTests(QmfT
         self._do_test(self._get_name(), queue_route_type_flag=True, enq_txn_size=10, msg_count = 103, local_cluster_flag=True, remote_cluster_flag=True)
 
 
-    def test_txEnq01_locCluster_route_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", enq_txn_size=1, local_cluster_flag=True)
-        
-    def test_txEnq01_locCluster_queueRoute_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_route_type_flag=True, enq_txn_size=1, local_cluster_flag=True)
-
-    def test_txEnq10_locCluster_route_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", enq_txn_size=10, msg_count = 103, local_cluster_flag=True)
-        
-    def test_txEnq10_locCluster_queueRoute_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_route_type_flag=True, enq_txn_size=10, msg_count = 103, local_cluster_flag=True)
-       
-    def test_txEnq01_txDeq01_locCluster_route_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", enq_txn_size=1, deq_txn_size=1, local_cluster_flag=True)
-        
-    def test_txEnq01_txDeq01_locCluster_queueRoute_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_route_type_flag=True, enq_txn_size=1, deq_txn_size=1, local_cluster_flag=True)
-
-    def test_txEnq01_remCluster_route_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", enq_txn_size=1, remote_cluster_flag=True)
-        
-    def test_txEnq01_remCluster_queueRoute_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_route_type_flag=True, enq_txn_size=1, remote_cluster_flag=True)
-
-    def test_txEnq10_remCluster_route_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", enq_txn_size=10, msg_count = 103, remote_cluster_flag=True)
-        
-    def test_txEnq10_remCluster_queueRoute_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_route_type_flag=True, enq_txn_size=10, msg_count = 103, remote_cluster_flag=True)
-       
-    def test_txEnq01_txDeq01_remCluster_route_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", enq_txn_size=1, deq_txn_size=1, remote_cluster_flag=True)
-        
-    def test_txEnq01_txDeq01_remCluster_queueRoute_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_route_type_flag=True, enq_txn_size=1, deq_txn_size=1, remote_cluster_flag=True)
-
-    def test_txEnq01_locCluster_remCluster_route_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", enq_txn_size=1, local_cluster_flag=True, remote_cluster_flag=True)
-        
-    def test_txEnq01_locCluster_remCluster_queueRoute_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_route_type_flag=True, enq_txn_size=1, local_cluster_flag=True, remote_cluster_flag=True)
-
-    def test_txEnq10_locCluster_remCluster_route_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", enq_txn_size=10, msg_count = 103, local_cluster_flag=True, remote_cluster_flag=True)
-        
-    def test_txEnq10_locCluster_remCluster_queueRoute_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_route_type_flag=True, enq_txn_size=10, msg_count = 103, local_cluster_flag=True, remote_cluster_flag=True)
-       
-    def test_txEnq01_txDeq01_locCluster_remCluster_route_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", enq_txn_size=1, deq_txn_size=1, local_cluster_flag=True, remote_cluster_flag=True)
-        
-    def test_txEnq01_txDeq01_locCluster_remCluster_queueRoute_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_route_type_flag=True, enq_txn_size=1, deq_txn_size=1, local_cluster_flag=True, remote_cluster_flag=True)
-
-
     def test_txEnq01_locCluster_route_directExch(self):
         self._do_test(self._get_name(), exch_name="testDirectExchange", enq_txn_size=1, local_cluster_flag=True)
         
@@ -1198,18 +1107,6 @@ class E_ShortPersistenceTests(QmfTestBas
 
 class E_LongPersistenceTests(QmfTestBase010):   
 
-    def test_route_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True)
-        
-    def test_route_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True)
-        
-    def test_queueRoute_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, queue_route_type_flag=True)
-        
-    def test_queueRoute_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, queue_route_type_flag=True)
-
          
     def test_route_durQueue_directExch(self):
         self._do_test(self._get_name(), exch_name="testDirectExchange", queue_durable_flag=True)
@@ -1292,41 +1189,6 @@ class F_LongPersistenceTransactionTests(
         self._do_test(self._get_name(), msg_durable_flag=True, queue_durable_flag=True, queue_route_type_flag=True, enq_txn_size=10, msg_count = 103)
 
        
-    def test_txEnq01_route_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, enq_txn_size=1)
-        
-    def test_txEnq01_route_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, enq_txn_size=1)
-        
-    def test_txEnq01_queueRoute_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, queue_route_type_flag=True, enq_txn_size=1)
-        
-    def test_txEnq01_queueRoute_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, queue_route_type_flag=True, enq_txn_size=1)
-       
-    def test_txEnq10_route_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, enq_txn_size=10, msg_count = 103)
-        
-    def test_txEnq10_route_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, enq_txn_size=10, msg_count = 103)
-        
-    def test_txEnq10_queueRoute_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, queue_route_type_flag=True, enq_txn_size=10, msg_count = 103)
-        
-    def test_txEnq10_queueRoute_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, queue_route_type_flag=True, enq_txn_size=10, msg_count = 103)
-        
-    def test_txEnq01_txDeq01_route_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, enq_txn_size=1, deq_txn_size=1)
-        
-    def test_txEnq01_txDeq01_route_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, enq_txn_size=1, deq_txn_size=1)
-        
-    def test_txEnq01_txDeq01_queueRoute_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, queue_route_type_flag=True, enq_txn_size=1, deq_txn_size=1)
-        
-    def test_txEnq01_txDeq01_queueRoute_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, queue_route_type_flag=True, enq_txn_size=1, deq_txn_size=1)
 
        
     def test_txEnq01_route_durQueue_directExch(self):
@@ -1481,41 +1343,6 @@ class G_ShortPersistenceClusterTests(Qmf
 
 class G_LongPersistenceClusterTests(QmfTestBase010):   
          
-    def test_locCluster_route_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, local_cluster_flag=True)
-        
-    def test_locCluster_route_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, local_cluster_flag=True)
-        
-    def test_locCluster_queueRoute_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, queue_route_type_flag=True, local_cluster_flag=True)
-        
-    def test_locCluster_queueRoute_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, queue_route_type_flag=True, local_cluster_flag=True)
-         
-    def test_remCluster_route_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, remote_cluster_flag=True)
-        
-    def test_remCluster_route_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, remote_cluster_flag=True)
-        
-    def test_remCluster_queueRoute_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, queue_route_type_flag=True, remote_cluster_flag=True)
-        
-    def test_remCluster_queueRoute_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, queue_route_type_flag=True, remote_cluster_flag=True)
-         
-    def test_locCluster_remCluster_route_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, local_cluster_flag=True, remote_cluster_flag=True)
-        
-    def test_locCluster_remCluster_route_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, local_cluster_flag=True, remote_cluster_flag=True)
-        
-    def test_locCluster_remCluster_queueRoute_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, queue_route_type_flag=True, local_cluster_flag=True, remote_cluster_flag=True)
-        
-    def test_locCluster_remCluster_queueRoute_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, queue_route_type_flag=True, local_cluster_flag=True, remote_cluster_flag=True)
 
          
     def test_locCluster_route_durQueue_directExch(self):
@@ -1743,113 +1570,6 @@ class H_LongPersistenceClusterTransactio
         self._do_test(self._get_name(), msg_durable_flag=True, queue_durable_flag=True, queue_route_type_flag=True, enq_txn_size=10, msg_count = 103, local_cluster_flag=True, remote_cluster_flag=True)
 
        
-    def test_txEnq01_locCluster_route_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, enq_txn_size=1, local_cluster_flag=True)
-        
-    def test_txEnq01_locCluster_route_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, enq_txn_size=1, local_cluster_flag=True)
-        
-    def test_txEnq01_locCluster_queueRoute_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, queue_route_type_flag=True, enq_txn_size=1, local_cluster_flag=True)
-        
-    def test_txEnq01_locCluster_queueRoute_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, queue_route_type_flag=True, enq_txn_size=1, local_cluster_flag=True)
-       
-    def test_txEnq10_locCluster_route_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, enq_txn_size=10, msg_count = 103, local_cluster_flag=True)
-        
-    def test_txEnq10_locCluster_route_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, enq_txn_size=10, msg_count = 103, local_cluster_flag=True)
-        
-    def test_txEnq10_locCluster_queueRoute_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, queue_route_type_flag=True, enq_txn_size=10, msg_count = 103, local_cluster_flag=True)
-        
-    def test_txEnq10_locCluster_queueRoute_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, queue_route_type_flag=True, enq_txn_size=10, msg_count = 103, local_cluster_flag=True)
-        
-    def test_txEnq01_txDeq01_locCluster_route_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, enq_txn_size=1, deq_txn_size=1, local_cluster_flag=True)
-        
-    def test_txEnq01_txDeq01_locCluster_route_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, enq_txn_size=1, deq_txn_size=1, local_cluster_flag=True)
-        
-    def test_txEnq01_txDeq01_locCluster_queueRoute_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, queue_route_type_flag=True, enq_txn_size=1, deq_txn_size=1, local_cluster_flag=True)
-        
-    def test_txEnq01_txDeq01_locCluster_queueRoute_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, queue_route_type_flag=True, enq_txn_size=1, deq_txn_size=1, local_cluster_flag=True)
-       
-    def test_txEnq01_remCluster_route_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, enq_txn_size=1, remote_cluster_flag=True)
-        
-    def test_txEnq01_remCluster_route_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, enq_txn_size=1, remote_cluster_flag=True)
-        
-    def test_txEnq01_remCluster_queueRoute_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, queue_route_type_flag=True, enq_txn_size=1, remote_cluster_flag=True)
-        
-    def test_txEnq01_remCluster_queueRoute_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, queue_route_type_flag=True, enq_txn_size=1, remote_cluster_flag=True)
-       
-    def test_txEnq10_remCluster_route_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, enq_txn_size=10, msg_count = 103, remote_cluster_flag=True)
-        
-    def test_txEnq10_remCluster_route_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, enq_txn_size=10, msg_count = 103, remote_cluster_flag=True)
-        
-    def test_txEnq10_remCluster_queueRoute_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, queue_route_type_flag=True, enq_txn_size=10, msg_count = 103, remote_cluster_flag=True)
-        
-    def test_txEnq10_remCluster_queueRoute_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, queue_route_type_flag=True, enq_txn_size=10, msg_count = 103, remote_cluster_flag=True)
-        
-    def test_txEnq01_txDeq01_remCluster_route_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, enq_txn_size=1, deq_txn_size=1, remote_cluster_flag=True)
-        
-    def test_txEnq01_txDeq01_remCluster_route_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, enq_txn_size=1, deq_txn_size=1, remote_cluster_flag=True)
-        
-    def test_txEnq01_txDeq01_remCluster_queueRoute_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, queue_route_type_flag=True, enq_txn_size=1, deq_txn_size=1, remote_cluster_flag=True)
-        
-    def test_txEnq01_txDeq01_remCluster_queueRoute_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, queue_route_type_flag=True, enq_txn_size=1, deq_txn_size=1, remote_cluster_flag=True)
-       
-    def test_txEnq01_locCluster_remCluster_route_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, enq_txn_size=1, local_cluster_flag=True, remote_cluster_flag=True)
-        
-    def test_txEnq01_locCluster_remCluster_route_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, enq_txn_size=1, local_cluster_flag=True, remote_cluster_flag=True)
-        
-    def test_txEnq01_locCluster_remCluster_queueRoute_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, queue_route_type_flag=True, enq_txn_size=1, local_cluster_flag=True, remote_cluster_flag=True)
-        
-    def test_txEnq01_locCluster_remCluster_queueRoute_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, queue_route_type_flag=True, enq_txn_size=1, local_cluster_flag=True, remote_cluster_flag=True)
-       
-    def test_txEnq10_locCluster_remCluster_route_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, enq_txn_size=10, msg_count = 103, local_cluster_flag=True, remote_cluster_flag=True)
-        
-    def test_txEnq10_locCluster_remCluster_route_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, enq_txn_size=10, msg_count = 103, local_cluster_flag=True, remote_cluster_flag=True)
-        
-    def test_txEnq10_locCluster_remCluster_queueRoute_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, queue_route_type_flag=True, enq_txn_size=10, msg_count = 103, local_cluster_flag=True, remote_cluster_flag=True)
-        
-    def test_txEnq10_locCluster_remCluster_queueRoute_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, queue_route_type_flag=True, enq_txn_size=10, msg_count = 103, local_cluster_flag=True, remote_cluster_flag=True)
-        
-    def test_txEnq01_txDeq01_locCluster_remCluster_route_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, enq_txn_size=1, deq_txn_size=1, local_cluster_flag=True, remote_cluster_flag=True)
-        
-    def test_txEnq01_txDeq01_locCluster_remCluster_route_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, enq_txn_size=1, deq_txn_size=1, local_cluster_flag=True, remote_cluster_flag=True)
-        
-    def test_txEnq01_txDeq01_locCluster_remCluster_queueRoute_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", queue_durable_flag=True, queue_route_type_flag=True, enq_txn_size=1, deq_txn_size=1, local_cluster_flag=True, remote_cluster_flag=True)
-        
-    def test_txEnq01_txDeq01_locCluster_remCluster_queueRoute_durMsg_durQueue_amqDirectExch(self):
-        self._do_test(self._get_name(), exch_name="amq.direct", msg_durable_flag=True, queue_durable_flag=True, queue_route_type_flag=True, enq_txn_size=1, deq_txn_size=1, local_cluster_flag=True, remote_cluster_flag=True)
 
        
     def test_txEnq01_locCluster_route_durQueue_directExch(self):

Modified: qpid/trunk/qpid/tests/src/py/qpid_tests/broker_0_10/exchange.py
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/tests/src/py/qpid_tests/broker_0_10/exchange.py?rev=1155545&r1=1155544&r2=1155545&view=diff
==============================================================================
--- qpid/trunk/qpid/tests/src/py/qpid_tests/broker_0_10/exchange.py (original)
+++ qpid/trunk/qpid/tests/src/py/qpid_tests/broker_0_10/exchange.py Tue Aug  9 20:19:54 2011
@@ -226,8 +226,6 @@ class DefaultExchangeRuleTests(TestHelpe
         # Test automatic binding by queue name.
         self.queue_declare(queue="d")
         self.assertPublishConsume(queue="d", routing_key="d")
-        # Test explicit bind to default queue
-        self.verifyDirectExchange("")
 
 
 # TODO aconway 2006-09-27: Fill in empty tests:
@@ -460,7 +458,30 @@ class MiscellaneousErrorsTests(TestHelpe
             self.fail("Expected 530 for redeclaration of exchange with different type.")
         except SessionException, e:
             self.assertEquals(530, e.args[0].error_code)
-    
+
+    def testDefaultAccessBind(self):
+        try:
+            self.session.queue_declare(queue="my-queue", auto_delete=True, exclusive=True)
+            self.session.exchange_bind(exchange="", queue="my-queue", binding_key="another-key")
+            self.fail("Expected 530 (not-allowed) code for bind to default exchange.")
+        except SessionException, e:
+            self.assertEquals(530, e.args[0].error_code)
+
+    def testDefaultAccessUnbind(self):
+        try:
+            self.session.queue_declare(queue="my-queue", auto_delete=True, exclusive=True)
+            self.session.exchange_unbind(exchange="", queue="my-queue", binding_key="my-queue")
+            self.fail("Expected 530 (not-allowed) code for unbind from default exchange.")
+        except SessionException, e:
+            self.assertEquals(530, e.args[0].error_code)
+
+    def testDefaultAccessDelete(self):
+        try:
+            self.session.exchange_delete(exchange="")
+            self.fail("Expected 530 (not-allowed) code for delete of default exchange.")
+        except SessionException, e:
+            self.assertEquals(530, e.args[0].error_code)
+
 class ExchangeTests(TestHelper):
     def testHeadersBindNoMatchArg(self):
         self.session.queue_declare(queue="q", exclusive=True, auto_delete=True)



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org