@Test public void testScenarios_subscriptions() throws Exception { InMemoryClient client = new InMemoryClient(new InMemoryRoutingContext(), RecipientKind.DM); MessagingContext ctx = new MessagingContext(RecipientKind.AGENTS, "domain", "app"); // Not connected, subscriptions cannot work Assert.assertFalse(client.isConnected()); Assert.assertNull(getSubscriptions(client)); client.subscribe(ctx); Assert.assertNull(getSubscriptions(client)); client.unsubscribe(ctx); Assert.assertNull(getSubscriptions(client)); // Connection client.openConnection(); Assert.assertTrue(client.isConnected()); client.subscribe(ctx); Assert.assertEquals(1, getSubscriptions(client).size()); Assert.assertTrue(getSubscriptions(client).contains(ctx)); client.unsubscribe(ctx); Assert.assertNull(getSubscriptions(client)); client.unsubscribe(ctx); client.unsubscribe(null); Assert.assertNull(getSubscriptions(client)); // Cleaning artifacts client.subscribe(ctx); Assert.assertEquals(1, getSubscriptions(client).size()); client.deleteMessagingServerArtifacts(null); Assert.assertNull(getSubscriptions(client)); }