summaryrefslogtreecommitdiff
path: root/qpid/java/broker/src/test
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2012-07-08 15:29:04 +0000
committerRobert Gemmell <robbie@apache.org>2012-07-08 15:29:04 +0000
commit16a59fad4a73a52505cfb6ebe4ed2f6bf86f7e2c (patch)
tree56783953077bcef98f76643fc0231138834f1ac1 /qpid/java/broker/src/test
parent961d36e600fab24b35c6920481a55f8d022f9c85 (diff)
downloadqpid-python-16a59fad4a73a52505cfb6ebe4ed2f6bf86f7e2c.tar.gz
QPID-3923, QPID-3998: update the Adapter layer to either use UUIDGenerator itself, or use the ID directly from the entity being adapted
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1358758 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker/src/test')
-rw-r--r--qpid/java/broker/src/test/java/org/apache/qpid/server/model/UUIDGeneratorTest.java188
1 files changed, 145 insertions, 43 deletions
diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/model/UUIDGeneratorTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/model/UUIDGeneratorTest.java
index e99ac1f063..643132d371 100644
--- a/qpid/java/broker/src/test/java/org/apache/qpid/server/model/UUIDGeneratorTest.java
+++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/model/UUIDGeneratorTest.java
@@ -20,6 +20,8 @@
*/
package org.apache.qpid.server.model;
+import java.util.HashSet;
+import java.util.Set;
import java.util.UUID;
import org.apache.qpid.test.utils.QpidTestCase;
@@ -28,84 +30,184 @@ public class UUIDGeneratorTest extends QpidTestCase
{
private static final String VIRTUAL_HOST_NAME_1 = "virtualHost1";
private static final String VIRTUAL_HOST_NAME_2 = "virtualHost2";
+ private static final String VHOST_ALIAS_1 = "alias1";
+ private static final String VHOST_ALIAS_2 = "alias2";
private static final String QUEUE_NAME_1 = "queue1";
private static final String QUEUE_NAME_2 = "queue2";
private static final String EXCHANGE_NAME_1 = "exchange1";
private static final String EXCHANGE_NAME_2 = "exchange2";
private static final String BINDING_KEY_1 = "bindingKey1";
private static final String BINDING_KEY_2 = "bindingKey2";
+ private static final String PORT_1 = "port1";
+ private static final String PORT_2 = "port2";
+ private static final String CONN_REMOTE_ADDR_1 = "localhost:1234";
+ private static final String CONN_REMOTE_ADDR_2 = "localhost:5678";
+ private static final String CHANNEL_NUMBER_1 = "1";
+ private static final String CHANNEL_NUMBER_2 = "2";
+ private static final String CONSUMER_NAME_1 = "consumer1";
+ private static final String CONSUMER_NAME_2 = "consumer2";
+ private static final String PROVIDER_1 = "provider1";
+ private static final String PROVIDER_2 = "provider2";
+ private static final String USER_1 = "user1";
+ private static final String USER_2 = "user2";
public void testDifferentObjectTypeReturnDifferentIdFromSameValues() throws Exception
{
- UUID id1 = UUIDGenerator.generateQueueUUID("name", "vhost");
- UUID id2 = UUIDGenerator.generateExchangeUUID("name", "vhost");
- UUID id3 = UUIDGenerator.generateBindingUUID("name", "name", "name", "vhost");
+ String value = "name";
+ Set<UUID> idSet = new HashSet<UUID>();
- assertFalse("IDs should not be equal", id1.equals(id2));
- assertFalse("IDs should not be equal", id2.equals(id3));
- assertFalse("IDs should not be equal", id1.equals(id3));
- }
+ UUID id1 = UUIDGenerator.generateQueueUUID(value, value);
+ idSet.add(id1);
+ UUID id2 = UUIDGenerator.generateExchangeUUID(value, value);
+ idSet.add(id2);
+ UUID id3 = UUIDGenerator.generateBindingUUID(value, value, value, value);
+ idSet.add(id3);
+ UUID id4 = UUIDGenerator.generateConsumerUUID(value, value, value, value, value);
+ idSet.add(id4);
+ UUID id5 = UUIDGenerator.generateUserUUID(value, value);
+ idSet.add(id5);
+ UUID id6 = UUIDGenerator.generateVhostUUID(value);
+ idSet.add(id6);
+ UUID id7 = UUIDGenerator.generateVhostAliasUUID(value, value);
+ idSet.add(id7);
- public void testRepeatedQueueIdGenerationIsDeterministic() throws Exception
- {
- UUID queueIdIteration1 = UUIDGenerator.generateQueueUUID(QUEUE_NAME_1, VIRTUAL_HOST_NAME_1);
- UUID queueIdIteration2 = UUIDGenerator.generateQueueUUID(QUEUE_NAME_1, VIRTUAL_HOST_NAME_1);
- assertEquals("Queue IDs should be equal", queueIdIteration1, queueIdIteration2);
+ assertEquals("The produced UUIDs were not all unique", 7, idSet.size());
}
- public void testRepeatedExchangeIdGenerationIsDeterministic() throws Exception
+ public void testQueueIdGeneration() throws Exception
{
- UUID exchangeIdIteration1 = UUIDGenerator.generateExchangeUUID(EXCHANGE_NAME_1, VIRTUAL_HOST_NAME_1);
- UUID exchangeIdIteration2 = UUIDGenerator.generateExchangeUUID(EXCHANGE_NAME_1, VIRTUAL_HOST_NAME_1);
- assertEquals("Exchange IDs should be equal", exchangeIdIteration1, exchangeIdIteration2);
- }
+ //check repeated generation is deterministic
+ UUID queue1 = UUIDGenerator.generateQueueUUID(QUEUE_NAME_1, VIRTUAL_HOST_NAME_1);
+ UUID queue2 = UUIDGenerator.generateQueueUUID(QUEUE_NAME_1, VIRTUAL_HOST_NAME_1);
+ assertEquals("Queue IDs should be equal", queue1, queue2);
- public void testRepeatedBindingIdGenerationIsDeterministic() throws Exception
- {
- UUID bindingIdIteration1 = UUIDGenerator.generateBindingUUID(EXCHANGE_NAME_1, QUEUE_NAME_1, BINDING_KEY_1, VIRTUAL_HOST_NAME_1);
- UUID bindingIdIteration2 = UUIDGenerator.generateBindingUUID(EXCHANGE_NAME_1, QUEUE_NAME_1, BINDING_KEY_1, VIRTUAL_HOST_NAME_1);
- assertEquals("Binding IDs should be equal", bindingIdIteration1, bindingIdIteration2);
- }
+ //check different name gives different ID
+ queue1 = UUIDGenerator.generateQueueUUID(QUEUE_NAME_1, VIRTUAL_HOST_NAME_1);
+ queue2 = UUIDGenerator.generateQueueUUID(QUEUE_NAME_2, VIRTUAL_HOST_NAME_1);
+ assertFalse("Queue IDs should not be equal", queue1.equals(queue2));
- public void testDifferentQueueNameGivesDifferentQueueId() throws Exception
- {
- UUID queue1 = UUIDGenerator.generateQueueUUID(QUEUE_NAME_1, VIRTUAL_HOST_NAME_1);
- UUID queue2 = UUIDGenerator.generateQueueUUID(QUEUE_NAME_2, VIRTUAL_HOST_NAME_1);
+ //check different vhost name gives different ID
+ queue1 = UUIDGenerator.generateQueueUUID(QUEUE_NAME_1, VIRTUAL_HOST_NAME_1);
+ queue2 = UUIDGenerator.generateQueueUUID(QUEUE_NAME_1, VIRTUAL_HOST_NAME_2);
assertFalse("Queue IDs should not be equal", queue1.equals(queue2));
}
- public void testDifferentExchangeNameGivesDifferentExchangeId() throws Exception
+ public void testExchangeIdGeneration() throws Exception
{
+ //check repeated generation is deterministic
UUID exchange1 = UUIDGenerator.generateExchangeUUID(EXCHANGE_NAME_1, VIRTUAL_HOST_NAME_1);
- UUID exchange2 = UUIDGenerator.generateExchangeUUID(EXCHANGE_NAME_2, VIRTUAL_HOST_NAME_1);
+ UUID exchange2 = UUIDGenerator.generateExchangeUUID(EXCHANGE_NAME_1, VIRTUAL_HOST_NAME_1);
+ assertEquals("Exchange IDs should be equal", exchange1, exchange2);
+
+ //check different name gives different ID
+ exchange1 = UUIDGenerator.generateExchangeUUID(EXCHANGE_NAME_1, VIRTUAL_HOST_NAME_1);
+ exchange2 = UUIDGenerator.generateExchangeUUID(EXCHANGE_NAME_2, VIRTUAL_HOST_NAME_1);
+ assertFalse("Exchange IDs should not be equal", exchange1.equals(exchange2));
+
+ //check different vhost name gives different ID
+ exchange1 = UUIDGenerator.generateExchangeUUID(EXCHANGE_NAME_1, VIRTUAL_HOST_NAME_1);
+ exchange2 = UUIDGenerator.generateExchangeUUID(EXCHANGE_NAME_1, VIRTUAL_HOST_NAME_2);
assertFalse("Exchange IDs should not be equal", exchange1.equals(exchange2));
}
- public void testDifferentBindingNameGivesDifferentBindingId() throws Exception
+ public void testBindingIdGeneration() throws Exception
{
+ //check repeated generation is deterministic
UUID binding1 = UUIDGenerator.generateBindingUUID(EXCHANGE_NAME_1, QUEUE_NAME_1, BINDING_KEY_1, VIRTUAL_HOST_NAME_1);
- UUID binding2 = UUIDGenerator.generateBindingUUID(EXCHANGE_NAME_1, QUEUE_NAME_1, BINDING_KEY_2, VIRTUAL_HOST_NAME_1);
+ UUID binding2 = UUIDGenerator.generateBindingUUID(EXCHANGE_NAME_1, QUEUE_NAME_1, BINDING_KEY_1, VIRTUAL_HOST_NAME_1);
+ assertEquals("Binding IDs should be equal", binding1, binding2);
+
+ //check different name gives different ID
+ binding1 = UUIDGenerator.generateBindingUUID(EXCHANGE_NAME_1, QUEUE_NAME_1, BINDING_KEY_1, VIRTUAL_HOST_NAME_1);
+ binding2 = UUIDGenerator.generateBindingUUID(EXCHANGE_NAME_1, QUEUE_NAME_1, BINDING_KEY_2, VIRTUAL_HOST_NAME_1);
+ assertFalse("Binding IDs should not be equal", binding1.equals(binding2));
+
+ //check different vhost name gives different ID
+ binding1 = UUIDGenerator.generateBindingUUID(EXCHANGE_NAME_1, QUEUE_NAME_1, BINDING_KEY_1, VIRTUAL_HOST_NAME_1);
+ binding2 = UUIDGenerator.generateBindingUUID(EXCHANGE_NAME_1, QUEUE_NAME_1, BINDING_KEY_1, VIRTUAL_HOST_NAME_2);
assertFalse("Binding IDs should not be equal", binding1.equals(binding2));
}
- public void testDifferentVirtualHostNameGivesDifferentQueueId() throws Exception
+ public void testVhostIdGeneration() throws Exception
{
- UUID queue1 = UUIDGenerator.generateQueueUUID(QUEUE_NAME_1, VIRTUAL_HOST_NAME_1);
- UUID queue2 = UUIDGenerator.generateQueueUUID(QUEUE_NAME_1, VIRTUAL_HOST_NAME_2);
- assertFalse("Queue IDs should not be equal", queue1.equals(queue2));
+ //check repeated generation is deterministic
+ UUID vhost1 = UUIDGenerator.generateVhostUUID(VIRTUAL_HOST_NAME_1);
+ UUID vhost2 = UUIDGenerator.generateVhostUUID(VIRTUAL_HOST_NAME_1);
+ assertTrue("Virtualhost IDs should be equal", vhost1.equals(vhost2));
+
+ //check different vhost name gives different ID
+ vhost1 = UUIDGenerator.generateVhostUUID(VIRTUAL_HOST_NAME_1);
+ vhost2 = UUIDGenerator.generateVhostUUID(VIRTUAL_HOST_NAME_2);
+ assertFalse("Virtualhost IDs should not be equal", vhost1.equals(vhost2));
}
- public void testDifferentVirtualHostNameGivesDifferentExchangeId() throws Exception
+ public void testVhostAliasIdGeneration() throws Exception
{
- UUID exchange1 = UUIDGenerator.generateExchangeUUID(EXCHANGE_NAME_1, VIRTUAL_HOST_NAME_1);
- UUID exchange2 = UUIDGenerator.generateExchangeUUID(EXCHANGE_NAME_1, VIRTUAL_HOST_NAME_2);
- assertFalse("Exchange IDs should not be equal", exchange1.equals(exchange2));
+ //check repeated generation is deterministic
+ UUID alias1 = UUIDGenerator.generateVhostAliasUUID(VHOST_ALIAS_1, PORT_1);
+ UUID alias2 = UUIDGenerator.generateVhostAliasUUID(VHOST_ALIAS_1, PORT_1);
+ assertTrue("Virtualhost Alias IDs should be equal", alias1.equals(alias2));
+
+ //check different port name gives different ID
+ alias1 = UUIDGenerator.generateVhostAliasUUID(VHOST_ALIAS_1, PORT_1);
+ alias2 = UUIDGenerator.generateVhostAliasUUID(VHOST_ALIAS_2, PORT_1);
+ assertFalse("Virtualhost Alias IDs should not be equal", alias1.equals(alias2));
+
+ //check different alias name gives different ID
+ alias1 = UUIDGenerator.generateVhostAliasUUID(VHOST_ALIAS_1, PORT_1);
+ alias2 = UUIDGenerator.generateVhostAliasUUID(VHOST_ALIAS_1, PORT_2);
+ assertFalse("Virtualhost Alias IDs should not be equal", alias1.equals(alias2));
}
- public void testDifferentVirtualHostNameGivesDifferentBindingId() throws Exception
+ public void testConsumerIdGeneration() throws Exception
{
- UUID binding1 = UUIDGenerator.generateBindingUUID(EXCHANGE_NAME_1, QUEUE_NAME_1, BINDING_KEY_1, VIRTUAL_HOST_NAME_1);
- UUID binding2 = UUIDGenerator.generateBindingUUID(EXCHANGE_NAME_1, QUEUE_NAME_1, BINDING_KEY_1, VIRTUAL_HOST_NAME_2);
- assertFalse("Binding IDs should not be equal", binding1.equals(binding2));
+ //check repeated generation is deterministic
+ UUID consumer1 = UUIDGenerator.generateConsumerUUID(VIRTUAL_HOST_NAME_1, QUEUE_NAME_1, CONN_REMOTE_ADDR_1, CHANNEL_NUMBER_1, CONSUMER_NAME_1);
+ UUID consumer2 = UUIDGenerator.generateConsumerUUID(VIRTUAL_HOST_NAME_1, QUEUE_NAME_1, CONN_REMOTE_ADDR_1, CHANNEL_NUMBER_1, CONSUMER_NAME_1);
+ assertTrue("Consumer IDs should be equal", consumer1.equals(consumer2));
+
+ //check different name gives different ID
+ consumer1 = UUIDGenerator.generateConsumerUUID(VIRTUAL_HOST_NAME_1, QUEUE_NAME_1, CONN_REMOTE_ADDR_1, CHANNEL_NUMBER_1, CONSUMER_NAME_1);
+ consumer2 = UUIDGenerator.generateConsumerUUID(VIRTUAL_HOST_NAME_1, QUEUE_NAME_1, CONN_REMOTE_ADDR_1, CHANNEL_NUMBER_1, CONSUMER_NAME_2);
+ assertFalse("Consumer IDs should not be equal", consumer1.equals(consumer2));
+
+ //check different vhost name gives different ID
+ consumer1 = UUIDGenerator.generateConsumerUUID(VIRTUAL_HOST_NAME_1, QUEUE_NAME_1, CONN_REMOTE_ADDR_1, CHANNEL_NUMBER_1, CONSUMER_NAME_1);
+ consumer2 = UUIDGenerator.generateConsumerUUID(VIRTUAL_HOST_NAME_2, QUEUE_NAME_1, CONN_REMOTE_ADDR_1, CHANNEL_NUMBER_1, CONSUMER_NAME_1);
+ assertFalse("Consumer IDs should not be equal", consumer1.equals(consumer2));
+
+ //check different consumer name gives different ID
+ consumer1 = UUIDGenerator.generateConsumerUUID(VIRTUAL_HOST_NAME_1, QUEUE_NAME_1, CONN_REMOTE_ADDR_1, CHANNEL_NUMBER_1, CONSUMER_NAME_1);
+ consumer2 = UUIDGenerator.generateConsumerUUID(VIRTUAL_HOST_NAME_1, QUEUE_NAME_1, CONN_REMOTE_ADDR_1, CHANNEL_NUMBER_2, CONSUMER_NAME_1);
+ assertFalse("Consumer IDs should not be equal", consumer1.equals(consumer2));
+
+ //check different address name gives different ID
+ consumer1 = UUIDGenerator.generateConsumerUUID(VIRTUAL_HOST_NAME_1, QUEUE_NAME_1, CONN_REMOTE_ADDR_1, CHANNEL_NUMBER_1, CONSUMER_NAME_1);
+ consumer2 = UUIDGenerator.generateConsumerUUID(VIRTUAL_HOST_NAME_1, QUEUE_NAME_1, CONN_REMOTE_ADDR_2, CHANNEL_NUMBER_1, CONSUMER_NAME_1);
+ assertFalse("Consumer IDs should not be equal", consumer1.equals(consumer2));
+
+ //check different queue name gives different ID
+ consumer1 = UUIDGenerator.generateConsumerUUID(VIRTUAL_HOST_NAME_1, QUEUE_NAME_1, CONN_REMOTE_ADDR_1, CHANNEL_NUMBER_1, CONSUMER_NAME_1);
+ consumer2 = UUIDGenerator.generateConsumerUUID(VIRTUAL_HOST_NAME_1, QUEUE_NAME_2, CONN_REMOTE_ADDR_1, CHANNEL_NUMBER_1, CONSUMER_NAME_1);
+ assertFalse("Consumer IDs should not be equal", consumer1.equals(consumer2));
+ }
+
+ public void testUserIdGeneration() throws Exception
+ {
+ //check repeated generation is deterministic
+ UUID user1 = UUIDGenerator.generateUserUUID(PROVIDER_1, USER_1);
+ UUID user2 = UUIDGenerator.generateUserUUID(PROVIDER_1, USER_1);
+ assertTrue("User IDs should be equal", user1.equals(user2));
+
+ //check different name gives different ID
+ user1 = UUIDGenerator.generateUserUUID(PROVIDER_1, USER_1);
+ user2 = UUIDGenerator.generateUserUUID(PROVIDER_1, USER_2);
+ assertFalse("User IDs should not be equal", user1.equals(user2));
+
+ //check different provider gives different ID
+ user1 = UUIDGenerator.generateUserUUID(PROVIDER_1, USER_1);
+ user2 = UUIDGenerator.generateUserUUID(PROVIDER_2, USER_1);
+ assertFalse("User IDs should not be equal", user1.equals(user2));
}
+
}