@Test public void registerSubscriptionMultipleSessions() { List<String> sessIds = Arrays.asList("sess01", "sess02", "sess03"); List<String> subscriptionIds = Arrays.asList("subs01", "subs02", "subs03"); String dest = "/foo"; for (String sessId : sessIds) { for (String subsId : subscriptionIds) { this.registry.registerSubscription(subscribeMessage(sessId, subsId, dest)); } } MultiValueMap<String, String> actual = this.registry.findSubscriptions(createMessage(dest)); assertNotNull(actual); assertEquals(3, actual.size()); assertEquals(subscriptionIds, sort(actual.get(sessIds.get(0)))); assertEquals(subscriptionIds, sort(actual.get(sessIds.get(1)))); assertEquals(subscriptionIds, sort(actual.get(sessIds.get(2)))); }
@Test public void unregisterSubscription() { List<String> sessIds = Arrays.asList("sess01", "sess02", "sess03"); List<String> subscriptionIds = Arrays.asList("subs01", "subs02", "subs03"); String dest = "/foo"; for (String sessId : sessIds) { for (String subsId : subscriptionIds) { this.registry.registerSubscription(subscribeMessage(sessId, subsId, dest)); } } this.registry.unregisterSubscription(unsubscribeMessage(sessIds.get(0), subscriptionIds.get(0))); this.registry.unregisterSubscription(unsubscribeMessage(sessIds.get(0), subscriptionIds.get(1))); this.registry.unregisterSubscription(unsubscribeMessage(sessIds.get(0), subscriptionIds.get(2))); MultiValueMap<String, String> actual = this.registry.findSubscriptions(createMessage(dest)); assertNotNull(actual); assertEquals("Expected two elements: " + actual, 2, actual.size()); assertEquals(subscriptionIds, sort(actual.get(sessIds.get(1)))); assertEquals(subscriptionIds, sort(actual.get(sessIds.get(2)))); }
@Test public void unregisterAllSubscriptions() { List<String> sessIds = Arrays.asList("sess01", "sess02", "sess03"); List<String> subscriptionIds = Arrays.asList("subs01", "subs02", "subs03"); String dest = "/foo"; for (String sessId : sessIds) { for (String subsId : subscriptionIds) { this.registry.registerSubscription(subscribeMessage(sessId, subsId, dest)); } } this.registry.unregisterAllSubscriptions(sessIds.get(0)); this.registry.unregisterAllSubscriptions(sessIds.get(1)); MultiValueMap<String, String> actual = this.registry.findSubscriptions(createMessage(dest)); assertNotNull(actual); assertEquals("Expected one element: " + actual, 1, actual.size()); assertEquals(subscriptionIds, sort(actual.get(sessIds.get(2)))); }
@Test public void registerSubscriptionOneSession() { String sessId = "sess01"; List<String> subscriptionIds = Arrays.asList("subs01", "subs02", "subs03"); String dest = "/foo"; for (String subId : subscriptionIds) { this.registry.registerSubscription(subscribeMessage(sessId, subId, dest)); } MultiValueMap<String, String> actual = this.registry.findSubscriptions(createMessage(dest)); assertNotNull(actual); assertEquals(1, actual.size()); assertEquals(subscriptionIds, sort(actual.get(sessId))); }