@Test( expected = RuntimeException.class ) public void testPutIsForbidden() throws Exception { RoboconfMessageQueue queue = new RoboconfMessageQueue(); queue.put( Mockito.mock( Message.class )); } }
RoboconfMessageQueue queue = new RoboconfMessageQueue(); client.setMessageQueue( queue ); client.openConnection();
@Test public void testAgent() throws Exception { // The messaging client is never null ReconfigurableClientAgent client = new ReconfigurableClientAgent(); Assert.assertNotNull( client.getMessagingClient()); // Invoke other method, no matter in which order client.setMessageQueue( new RoboconfMessageQueue()); Assert.assertFalse( client.hasValidClient()); Assert.assertFalse( client.isConnected()); }
@Test public void testOffer_whenCapacityIsExceeded() { RoboconfMessageQueue queue = new RoboconfMessageQueue( 1 ); // We are in the capacity's bounds queue.offer( Mockito.mock( Message.class )); Assert.assertEquals( 0, queue.getFailedReceptionCount()); Assert.assertEquals( 1, queue.getReceivedMessagesCount()); Assert.assertEquals( 0, queue.getTimestampOfLastReceptionFailure()); Assert.assertNotEquals( 0, queue.getTimestampOfLastReceivedMessage()); // We exceed the capacity queue.offer( Mockito.mock( Message.class )); Assert.assertEquals( 0, queue.getFailedReceptionCount()); Assert.assertEquals( 1, queue.getReceivedMessagesCount()); Assert.assertEquals( 0, queue.getTimestampOfLastReceptionFailure()); Assert.assertNotEquals( 0, queue.getTimestampOfLastReceivedMessage()); }
@Test public void testDm() throws Exception { // The messaging client is never null ReconfigurableClientDm client = new ReconfigurableClientDm(); Assert.assertNotNull( client.getMessagingClient()); // Invoke other method, no matter in which order client.setMessageQueue( new RoboconfMessageQueue()); Assert.assertFalse( client.hasValidClient()); Assert.assertFalse( client.isConnected()); client.deleteMessagingServerArtifacts( new Application( "app", new ApplicationTemplate())); client.propagateAgentTermination( null, null ); }
@Test public void testMetrics() throws Exception { RoboconfMessageQueue queue = new RoboconfMessageQueue(); Assert.assertEquals( 0, queue.getFailedReceptionCount()); Assert.assertEquals( 0, queue.getReceivedMessagesCount());
@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()); }
Assert.assertEquals( 0, client.getTimestampOfLastReceptionFailure()); RoboconfMessageQueue queue = new RoboconfMessageQueue(); queue.add( Mockito.mock( Message.class )); queue.errorWhileReceivingMessage();