@Test
public void testScenarios_publications() throws Exception {

	InMemoryClient client = new InMemoryClient( new InMemoryRoutingContext(), RecipientKind.DM );
	RoboconfMessageQueue queue = new RoboconfMessageQueue();
	client.setMessageQueue( queue );
	MessagingContext ctx = new MessagingContext( RecipientKind.AGENTS, "domain", "app" );
	// Not connected, publications cannot work
	Message msg = new MsgCmdAddInstance( new Instance( "" ));
	Assert.assertFalse( client.isConnected());
	Assert.assertEquals( 0, queue.size());
	client.publish( ctx, msg );
	Assert.assertEquals( 0, queue.size());
	// Connection
	client.openConnection();
	Assert.assertTrue( client.isConnected());
	client.publish( ctx, msg );
	Assert.assertEquals( 0, queue.size());
	// We need to subscribe to this context to dispatch the message.
	// The messaging tests verify routing more precisely.
	client.subscribe( ctx );
	client.publish( ctx, msg );
	Assert.assertEquals( 1, queue.size());
	Assert.assertEquals( msg, queue.element());
}